0:00:06.220,0:00:08.490 (Brawa) 0:00:09.940,0:00:10.800 Witam! 0:00:10.800,0:00:14.140 Nazywam się Marcin Kawalerowicz[br]i przyszedłem tutaj, żeby opowiedzieć 0:00:14.140,0:00:16.250 o najnudniejszym zawodzie świata. 0:00:16.250,0:00:17.750 Przynajmniej według Hollywood. 0:00:18.190,0:00:23.500 Czy zastanawialiście się kiedyś,[br]jaki to jest ten najnudniejszy zawód? 0:00:24.060,0:00:25.500 Może księgowy? 0:00:27.000,0:00:29.000 A może sprzątaczka? 0:00:30.000,0:00:32.000 A może jednak urzędnik w banku? 0:00:33.000,0:00:36.500 A może kurier przynoszący przesyłki? 0:00:37.400,0:00:38.446 Jak myślicie? 0:00:38.446,0:00:39.643 No, nie! 0:00:39.643,0:00:40.690 Przynajmniej nie według Hollywood. 0:00:40.690,0:00:43.880 Według Hollywood księgowy[br]to bardzo ciekawy zawód. 0:00:43.880,0:00:48.960 Na tyle, że głównym bohaterem[br]filmu "Skazani na Shawshank", 0:00:48.960,0:00:52.500 jednego z najlepszych filmów[br]Hollywood, jest księgowy. 0:00:52.500,0:00:58.310 Internetowa baza danych filmów [br]znajduje 197 postaci księgowych 0:00:58.310,0:01:00.180 w różnych filmach. 0:01:00.500,0:01:02.500 Dobrze, a sprzątaczka? 0:01:03.000,0:01:05.550 Sprzątaczka jest na tyle ciekawym zawodem, 0:01:05.550,0:01:09.640 żeby poświęcić mu 77 filmów. 0:01:10.000,0:01:13.970 Trochę sprzątaczką, trochę nianią[br]był nieodżałowany Robin Williams 0:01:13.970,0:01:15.550 w filmie "Pani Doubtfire". 0:01:16.000,0:01:18.000 A co z urzędnikiem bankowym? 0:01:18.730,0:01:24.000 A może rekiny finansjery, bankierzy[br]inwestycyjni w filmie "Wall Street", 0:01:24.000,0:01:26.760 grani przez Michaela Douglasa[br]i Charliego Sheena? 0:01:27.280,0:01:29.000 A kurier? 0:01:29.750,0:01:33.840 Kurierem był główny bohater filmu[br]"Cast Away - poza światem", 0:01:33.840,0:01:35.300 grany przez Toma Hanksa. 0:01:40.000,0:01:42.530 A policjanci i złodzieje? 0:01:44.450,0:01:46.000 Kowboje i artyści? 0:01:46.000,0:01:49.530 Tak à propos, 200 to maksymalna[br]liczba trafień zwracana 0:01:49.530,0:01:51.650 przez internetową bazę danych filmów. 0:01:52.000,0:01:54.680 Podobnie jest ze sportowcami,[br]pilotami i lekarzami. 0:01:55.000,0:01:59.000 Może Doktor No nie był lekarzem,[br]ale jakimś tam doktorem był. 0:02:00.580,0:02:03.610 Popatrzmy na prawników. 0:02:03.610,0:02:05.070 199. 0:02:05.070,0:02:07.020 Dziennikarzy - 198. 0:02:07.020,0:02:08.270 Strażaków - 200. 0:02:08.270,0:02:09.500 Detektywów - 200. 0:02:09.510,0:02:11.980 Magików - 74. 0:02:11.980,0:02:13.840 Cyrkowców - 111. 0:02:13.840,0:02:17.540 "La Strada" może nie jest hollywoodzka, 0:02:17.540,0:02:19.900 ale na pewno o cyrkowcach. 0:02:20.520,0:02:24.470 To jak myślicie, jaki jest najnudniejszy[br]zawód świata według Hollywood? 0:02:24.820,0:02:28.210 Najnudniejszym zawodem[br]świata według Hollywood 0:02:28.570,0:02:30.360 jest programista komputerowy. 0:02:30.360,0:02:34.320 Internetowa baza danych filmów[br]zwraca trzy trafienia. 0:02:34.320,0:02:36.140 Trzy trafienia tego typu. 0:02:37.320,0:02:43.490 Dobrze, powiecie, może w różnych[br]filmach znajdziemy postaci hakerów 0:02:43.490,0:02:47.260 włamujących się do systemów Jurassic Park[br]jak na załączonym obrazku. 0:02:48.000,0:02:53.280 Ale są to najczęściej postaci stanowiące[br]tło dla o wiele ważniejszych postaci, 0:02:53.280,0:02:56.330 typu wojownik ninja, kucharz[br]albo inny zbawca ludzkości. 0:02:57.000,0:03:00.030 Programista z pewnością jest jednym 0:03:00.030,0:03:03.000 z najnudniejszych zawodów[br]świata według Hollywood. 0:03:03.140,0:03:07.840 Ja jestem programistą i od dziesięciu lat[br]tworzę oprogramowanie. 0:03:08.050,0:03:13.500 Przyszedłem tutaj, żeby udowodnić,[br]że Hollywood się myli. 0:03:15.500,0:03:21.330 Mimo że faktycznie większość dnia spędzam 0:03:21.330,0:03:25.040 w znanej wam pewnie[br]pozycji odwróconej ewolucji. 0:03:25.040,0:03:28.880 Zgarbiony nad klawiaturą[br]i wpatrzony w ekran. 0:03:29.880,0:03:33.800 W takiej pozycji złapała mnie kiedyś 0:03:33.800,0:03:36.810 moja w tej chwili 5-letnia córka, Zosia. 0:03:37.130,0:03:38.510 Przyszła i zapytała: 0:03:39.310,0:03:43.500 "Tato, mama uczy dzieci liczyć,[br]a ty co robisz?". 0:03:44.600,0:03:49.240 Oderwałem ręce od klawiatury,[br]zrzuciłem środowisko programowania 0:03:49.240,0:03:50.840 i pocztę elektroniczną do paska. 0:03:51.050,0:03:53.060 Odwróciłem się do Zosi i powiedziałem: 0:03:53.070,0:03:56.800 "Wiesz Zosiu... Yyy..." 0:03:57.000,0:04:01.200 No tak, kolejna "mission impossible"[br]od mojej żony, nauczycielki matematyki. 0:04:01.200,0:04:04.900 Ona po prostu uczy dzieci liczyć w szkole, 0:04:04.900,0:04:10.000 a jak ja mam opowiedzieć 5-letniej[br]dziewczynce, co robię ja, programista? 0:04:10.680,0:04:13.000 Zebrałem się w sobie i powiedziałem: 0:04:13.460,0:04:17.930 "Wiesz Zosiu, rozmawiam z różnymi ludźmi 0:04:17.930,0:04:22.000 i uczę komputery robić to, co oni chcą." 0:04:22.000,0:04:25.000 "Rozmawiasz i uczysz[br]komputery?" - zdziwiła się Zosia. 0:04:28.010,0:04:30.260 "Tak Zosiu, rozmawiam. 0:04:30.260,0:04:33.520 Ci ludzie mówią mi, czego chcieliby[br]od komputerów, a ja uczę komputer 0:04:33.520,0:04:36.080 robić to, czego oni ode mnie chcieli." 0:04:36.090,0:04:39.500 "Aha!" - myślę, że udało mi się wtedy. 0:04:39.500,0:04:44.860 Przez chwilę napawałem się tą parafrazą[br]mojego zawodu, ale zaraz dotarło do mnie 0:04:44.860,0:04:50.350 coś bardzo ważnego:[br]"Rozmawiam i uczę komputery.". 0:04:51.310,0:04:57.460 Tak właściwie, po 10 latach w branży,[br]to czy ja w ogóle coś jeszcze programuję? 0:04:57.460,0:05:03.170 Czy cały czas wiszę na telefonie,[br]uczestniczę w różnych warsztatach, 0:05:03.170,0:05:07.570 omawiając szczegóły[br]implementacyjne z klientami, 0:05:08.000,0:05:12.000 rozmawiam z moimi programistami,[br]żeby przekazać im zapotrzebowania, 0:05:12.600,0:05:17.440 bądź przelewam wszystko na "papier"[br]w jakimś edytorze tekstów. 0:05:17.780,0:05:21.000 Czy ja jeszcze coś programuję,[br]będąc programistą? 0:05:22.580,0:05:29.320 Otóż, pierwsze symptomy problemów[br]w tym obszarze pojawiły się dość dawno. 0:05:29.320,0:05:33.380 W 2008 roku, będąc jeszcze[br]na etacie programisty, 0:05:33.380,0:05:36.740 zainstalowałem sobie[br]program szpiegujący na komputerze. 0:05:36.740,0:05:41.130 Program ten zapisuje statystyki na temat[br]oprogramowania, w którym najczęściej 0:05:41.130,0:05:42.940 przebywam podczas dnia pracy. 0:05:42.940,0:05:46.580 Tutaj widzicie tygodniową[br]statystykę z 2008 roku. 0:05:46.580,0:05:50.090 Już wtedy większość czasu, bo 9 godzin, 0:05:50.090,0:05:51.770 spędzałem w poczcie elektronicznej. 0:05:51.770,0:05:54.790 Dopiero na drugim miejscu,[br]bo prawie 7 godzin, był czas 0:05:54.790,0:05:57.500 w zintegrowanym środowisku programowania. 0:05:57.500,0:06:01.980 Później jeszcze tworzyłem[br]prezentacje bądź prezentowałem. 0:06:01.980,0:06:04.110 Resztę czasu spędzałem[br]w innym oprogramowaniu 0:06:04.110,0:06:06.530 lub zupełnie poza komputerem. 0:06:09.000,0:06:11.520 Ostatni tydzień wyglądał nie lepiej. 0:06:11.520,0:06:19.000 25% czasu spędziłem komunikując się[br]pocztą elektroniczną, komunikacją głosową. 0:06:19.500,0:06:22.490 Około 30% czasu spędziłem[br]w różnego rodzaju narzędziach, 0:06:22.490,0:06:28.100 a tylko 10% w środowisku programowania. 0:06:28.100,0:06:31.780 Podejrzewam, że i tak przeglądałem wtedy[br]kod wpisany przez moich programistów, 0:06:31.780,0:06:33.680 a nie sam go tworzyłem. 0:06:44.700,0:06:48.560 W dziedzinie inżynierii oprogramowania[br]istnieje kilka kanonicznych dzieł. 0:06:50.000,0:06:55.480 Jednym z nich jest "Mityczny osobomiesiąc"[br]autorstwa Fredericka Brooksa. 0:06:55.480,0:06:59.440 Przytacza on kilka badań,[br]z których jasno wynika, 0:06:59.440,0:07:05.100 że przeciętny programista[br]pisze 10 linii kodu dziennie. 0:07:05.100,0:07:06.150 10 linii kodu! 0:07:06.150,0:07:09.790 Dla początkującego adepta sztuki[br]może być to szokująca liczba. 0:07:10.410,0:07:15.110 Być może różni się ona trochę[br]w przypadku nowego projektu, 0:07:15.110,0:07:17.550 który rozpoczynamy, typu "green field", 0:07:17.550,0:07:20.900 czyli mamy taką zieloną łączkę,[br]którą możemy zaorać naszym kodem. 0:07:20.900,0:07:23.500 Piszemy wtedy, być może, więcej linii. 0:07:24.000,0:07:27.680 Jeżeli mamy projekt typu "brown field", 0:07:27.680,0:07:30.970 czyli mamy brązowe pole zaorane kodem, 0:07:30.970,0:07:33.710 a więc prowadzimy projekt,[br]który żyje od dłuższego czasu, 0:07:33.710,0:07:36.680 to tych linii może być zdecydowanie mniej. 0:07:38.000,0:07:43.500 Ale co się dzieje w czasie,[br]kiedy przeciętny inżynier oprogramowania 0:07:43.500,0:07:46.270 nie tworzy kodu źródłowego? 0:07:46.620,0:07:53.020 Powoli staje się wdrożeniowcem,[br]specjalistą od instalacji 0:07:53.020,0:07:57.100 swojego oprogramowania, od rozmów[br]z klientem o nowych funkcjonalnościach, 0:07:57.100,0:08:01.450 od wprowadzania poprawek w oprogramowaniu, 0:08:01.450,0:08:04.800 od wypuszczania nowych wersji i tak dalej. 0:08:05.000,0:08:07.050 Staje się wdrożeniowcem. 0:08:07.050,0:08:10.390 Pamiętam jak dziś moje pierwsze wdrożenie. 0:08:15.000,0:08:18.610 Była to aplikacja webowa. 0:08:18.610,0:08:21.760 Instalację trzeba było przeprowadzić[br]na serwerze u klienta. 0:08:23.000,0:08:27.070 Późna jesień, gdzieś w górach Szwajcarii. 0:08:27.070,0:08:32.920 A warunki bardzo partyzanckie[br]jak na szwajcarski bank, 0:08:32.920,0:08:39.270 bo ja z pendrivem przenoszę[br]skompilowane na moim laptopie 0:08:39.270,0:08:42.680 oprogramowanie do serwerowni klienta[br]i fizycznie wgrywam je na jeden 0:08:42.680,0:08:44.710 ze stojących tam serwerów. 0:08:45.100,0:08:46.560 Uruchamiam. 0:08:46.760,0:08:47.770 Nie działa! 0:08:48.740,0:08:49.630 Co się dzieje? 0:08:49.630,0:08:56.070 Zdenerwowany wracam do laptopa i szukam[br]błędu, poprawiam, wgrywam na pendrive. 0:08:56.080,0:09:01.510 Biegnę z powrotem do serwerowni,[br]gdzie panuje dosyć arktyczna atmosfera, 0:09:01.510,0:09:05.910 bo nie wiem czy wiecie, ale serwery[br]muszą mieć bardzo niską temperaturę. 0:09:07.610,0:09:11.040 Wgrywam to oprogramowanie[br]i jest lepiej, ale nie idealnie, 0:09:11.040,0:09:14.120 więc wracam do laptopa. 0:09:14.120,0:09:19.870 Wewnątrz jest cieplutko, żeby zagłuszyć[br]jesienną słotę na zewnątrz. 0:09:19.880,0:09:25.410 Kolejne kilka godzin spędzam,[br]kursując tam i z powrotem. 0:09:25.410,0:09:29.030 I w końcu udaje mi się,[br]stwierdzam zachrypnięty. 0:09:30.000,0:09:33.380 A następny dzień mam wysoką[br]gorączkę, a kolejny tydzień spędzam 0:09:33.380,0:09:34.890 przeziębiony w łóżku. 0:09:36.640,0:09:38.940 To był punkt zwrotny w mojej karierze. 0:09:38.940,0:09:42.650 Zrozumiałem wtedy, że żeby być najlepszym 0:09:42.650,0:09:46.700 w tej branży, nie można być tylko[br]i wyłącznie kowbojem klawiatury. 0:09:47.500,0:09:49.930 Potrzebne jest coś więcej. 0:09:49.930,0:09:53.910 Coś, co pozwoli uniknąć konieczności 0:09:53.910,0:09:58.280 naklejania na nasze oprogramowania [br]naklejki "works on my machine", 0:09:58.280,0:10:00.000 czyli "u mnie działa". 0:10:00.000,0:10:03.930 To jest dość częsty problem w naszej[br]branży, gdzie oprogramowanie ze względu 0:10:03.930,0:10:09.600 na różne zależności[br]sprzętowe lub programowe 0:10:09.600,0:10:15.910 działa na komputerze programisty,[br]ale błędnie lub wcale u klienta. 0:10:15.910,0:10:19.780 Jak nie trudno sobie wyobrazić,[br]jest to zdecydowanie niepożądane. 0:10:19.780,0:10:22.010 Tak być nie może! 0:10:22.500,0:10:28.560 Wziąłem się więc ostro do pracy,[br]zautomatyzowałem całe środowisko 0:10:28.560,0:10:31.040 budowy naszego oprogramowania,[br]wprowadziłem zasady 0:10:31.040,0:10:36.600 automatycznego testowania,[br]statycznej analizy kodu i tak dalej. 0:10:39.750,0:10:41.220 Nawet napisałem o tym książkę. 0:10:41.220,0:10:44.220 Mniej więcej wtedy dowiedziałem się, 0:10:44.220,0:10:47.770 że właściwie to ja już nie jestem[br]programistą, ale DevOps-em. 0:10:49.000,0:10:53.530 Mniej więcej wtedy ukuto ten nowy termin. 0:10:54.010,0:10:57.420 To skrót od Dev, czyli Development,[br]czyli programowanie, 0:10:57.420,0:11:01.960 i Ops, czyli Operations,[br]a więc wszystko związane z IT. 0:11:02.850,0:11:04.520 Serwery, ale nie tylko. 0:11:04.520,0:11:06.000 Kontakty z klientem. 0:11:06.000,0:11:11.200 Niektórzy dołączają[br]aspekty kontroli jakości, 0:11:11.200,0:11:16.260 czyli bardzo szeroko pojęte testy. 0:11:17.140,0:11:20.040 "No, dobrze." - pomyślałem -[br]"Nie jestem sam.". 0:11:21.400,0:11:26.050 Inni też dostrzegli tego typu problemy. 0:11:26.385,0:11:29.815 Zacząłem pracować[br]nad umiejętnościami miękkimi. 0:11:30.710,0:11:34.270 W naszej branży, tak jak w innych,[br]dzielimy umiejętności na twarde, 0:11:34.270,0:11:38.290 czyli związane z programowaniem,[br]językami programowania, strukturami 0:11:38.290,0:11:41.250 danych, semaforami, kolejkami i tak dalej, 0:11:41.250,0:11:47.790 i miękkie, czyli związane z dyskusją,[br]mediacją, rozmowami z klientem, 0:11:47.790,0:11:51.760 ustalaniem zapotrzebowania, 0:11:51.760,0:11:54.580 dbaniem, żeby zapotrzebowanie[br]nie zmieniało się zbyt często, 0:11:54.580,0:11:58.570 co może prowadzić[br]do konfliktów w projekcie, 0:11:58.570,0:12:02.660 a projekt musi trwać i dążyć do sukcesu. 0:12:05.500,0:12:10.400 Coraz więcej obcowałem z ludźmi, 0:12:10.400,0:12:15.500 których czasami ciężko zrozumieć. 0:12:15.500,0:12:21.510 Ja komputery rozumiem od podszewki,[br]od poziomu tranzystora 0:12:21.510,0:12:23.360 budującego bramkę logiczną. 0:12:23.360,0:12:29.860 I to daje mi pewność, a praca z ludźmi[br]jest przygodą samą w sobie. 0:12:29.860,0:12:36.500 Jak widzicie, dla mnie bycie programistą[br]wcale nie jest nudnym zawodem. 0:12:37.000,0:12:43.500 Jest raczej pasmem wyzwań i przygód[br]jak z najlepszego hollywoodzkiego filmu! 0:12:44.000,0:12:49.080 Teraz, po dziesięciu latach w zawodzie,[br]prowadząc firmę programistyczną 0:12:49.080,0:12:54.300 tutaj w Opolu, myślę, że wiem,[br]co tworzy świetnego programistę. 0:12:55.000,0:13:00.770 Wbrew pozorom nie jest to tylko umysł[br]jak żyleta, miłość do komputerów 0:13:00.770,0:13:03.500 i zamiłowanie do algorytmiki. 0:13:03.500,0:13:09.000 To też jest potrzebne, ale żeby[br]wznieść się na wyżyny tego zawodu 0:13:09.000,0:13:14.500 trzeba uświadomić sobie też, że w świecie[br]komputerów, jak i codziennym życiu, 0:13:14.500,0:13:16.340 to człowiek jest najważniejszy! 0:13:16.340,0:13:17.690 Dziękuję bardzo! 0:13:17.690,0:13:20.040 (Brawa)