Za moich czasów to dopiero tworzyło się oprogramowanie! Wspomnienia 50-letniego Software Developera.

Młodzi adepci sztuki programowania, nawet nie wiecie, jakie macie szczęście, żyjąc w obecnych, a nie dużo wcześniejszych czasach. Dziś wszystko jest prostsze, szybsze, bardziej funkcjonalne. W erze przed Facebookiem, Stack Overflow, a nawet przed internetem (tak, istniały takie czasy!), tworzenie oprogramowania było niczym balansowanie nad przepaścią ręcznie wpisywanego kodu bez żadnego pomocnego frameworku.
 

Dziś korzystanie z internetu na różnego rodzaju urządzeniach to codzienność. Niemal każdy ma przy sobie smartfon, który pozwala mu przeglądać zasoby sieci, a wokół nas coraz częściej pojawiają się inteligentne urządzenia IoT. Nie zawsze tak jednak było. Kto dziś pamięta, że na początku lat 90. jednym z pierwszych polskich portali był niejaki ahoj.pl, który szybko zbankrutował, podobnie jak arena.pl, a święcąca dziś triumfy Wirtualna Polska również był bliska likwidacji. Pierwszą polską wyszukiwarką było Infoseek, o której nikt już dziś nie pamięta. Internet był wtedy luksusem, na który mało kto mógł sobie pozwolić. Wszystko wtedy wyglądało zupełnie inaczej, także tworzenie oprogramowania. Jesteście ciekawi, jak to się wtedy odbywało? Pozwólcie, że zabiorę Was w krótką, nostalgiczną dla mnie, podróż w przeszłość, do mojej młodości.
 

Programista wczoraj i dziś


Potwierdzę to, co przeczuwało wielu z Was, moi znacznie młodsi koledzy-koderzy: 20 lub 30 lat temu programowanie wyglądało zupełnie inaczej niż dziś. Przede wszystkim programista był niemal jak kosmita, mało kto miał chociażby mgliste pojęcie, czym taka osoba może się zajmować. Najlepsze jest to, że we wszelkich zestawieniach zawodów przyszłości z tamtego okresu nigdzie nie pojawiał się programista. Możecie wyobrazić sobie, jak bardzo czuliśmy się zbędni. Gdybyśmy wtedy wymarli, jak dinozaury, zapewne nikt by po nas nie płakał. Tyle że współczesny świat mógłby wyglądać zupełnie inaczej, niż wygląda obecnie. To my przetarliśmy szlaki programistyczne, którymi Wy teraz wygodnie się przechadzacie.
 

Nieograniczony dostęp do internetu sprawił, że programowanie stało się dziś o wiele łatwiejsze niż w czasach mojej młodości. Wtedy każdy program, każdy kod musiałem wymyślać właściwie od początku bez wsparcia łatwo dostępnej dokumentacji, forów internetowych czy rzeczowych wyjaśnień na Stack Overflow. Byłem wtedy sam, tylko ja i zadanie do wykonania. Dziś wystarczy kliknąć kilka razy, aby znaleźć w internecie przykład kodu, który można szybko wykorzystać. Ja nie miałem tego komfortu. Tak, przyznam, to bywało uciążliwe. Nieraz, zamiast skupić się na rozwijaniu nowych narzędzi lub systemów, musiałem pisać po raz n-ty kod do rozwiązań już powszechnie dostępnych. To powodowało czasami frustrację.
 

20 lub 30 lat temu nikt nie przejmował się tworzeniem przejrzystego kodu, dziś kładzie się na to nacisk. Nic dziwnego, taki clean code jest łatwiejszy i tańszy w rozbudowie. Dlatego właśnie programista otrzymuje dziś narzędzia, które wspomagają go skutecznie w pisaniu kodu. Ja mogłem jedynie pomarzyć o czymś takim. Dopiero z czasem zaczęły pojawiać się pierwsze rozwiązania, do czego wrócę w dalszej części artykułu.
 

W ciągu ostatnich kilkudziesięciu lat zmienił się model pracy programisty. Przed laty koder działał przede wszystkim samodzielnie, był prawdziwym człowiekiem renesansu, był człowiekiem-orkiestrą, wszechstronnym specjalistą, który nie tylko kodował, ale zajmował się również między innymi projektowaniem i wdrażaniem oprogramowania. Dziś ważna jest przede wszystkim praca zespołowa. Z tego względu koder nie może być odludkiem, mrukiem, zamkniętym w sobie dziwakiem, musi posiadać nie tylko wiedzę techniczną, ale również umiejętności komunikacyjne.
 

Muszę przyznać, że przed laty nie trzeba było dokształcać się aż tak często, jak obecnie. Zmiany następowały dużo wolniej, dziś branża IT rozwija się błyskawicznie. Niemal każdego dnia słyszę, że pojawiło się coś nowego. W rezultacie takie spokojne doczytywanie tego czy tamtego, jak miałem w zwyczaju kilkadziesiąt lat temu, dziś byłoby działaniem poniżej minimum. Teraz programista musi nie tylko poszerzać swoją wiedzę z obszaru technologii i metodyk tworzenia oprogramowania, ale również musi rozwijać umiejętności miękkie.
 

Zdobywanie wiedzy było sztuką


Dziś jest łatwo. Szukasz rozwiązania tego czy innego problemu programistycznego? Zaglądasz po prostu na fora internetowe, grupy dyskusyjne czy blogi. Łatwo możesz poprawić swoje umiejętności, korzystając ze szkoleń online lub nawet stacjonarnych (wystarczy na przykład wejść w zakładkę Szkolenia na Bulldogjob.pl i możesz wybierać w dowolnych kursach). Nie ma większego problemu, aby uczestniczyć w różnego rodzaju spotkaniach eksperckich lub konferencjach. Za czasów mojej młodości zdobywanie wiedzy było prawdziwą sztuką. Wtedy podstawowym źródłem informacji na temat języków programowania i wytwarzania oprogramowania były książki drukowane. Do tego oprogramowanie było przechowywane najczęściej na taśmach zamkniętych w kasetach, które czasami były dołączane do podręczników. Potem pojawiły się także dyskietki, a po latach – płyty CD. Książki były jednak absolutnym must have dla ówczesnych programistów. Pamiętam doskonale, jak zaczytywałem się na przykład w „Data Structures and Algorithms” Niklausa Wirtha, twórcy języka Pascal. Niejednokrotnie wertowałem po nocach grube tomy, chcąc dowiedzieć się, dlaczego mój kod nie działa, jak należy. Dziś prawdopodobnie w kilka chwil ktoś podsunąłby mi rozwiązanie na Stack Overflow. Wtedy jednak czytanie grubych ksiąg było na porządku dziennym, to one kryły w sobie niezbędną wiedzę. W dodatku trzeba było wiedzieć, w której książce szukać odpowiedniego rozwiązania. Nie było również łatwo dostępnej dokumentacji online. Tego rodzaju materiały również były drukowane. Na przykład firma Apple sprzedawała wtedy dokumentację w wielu tomach, na czym również nieźle zarabiała. Nie każdego było stać na zakup tego wszystkiego, a dodatkowo w Polsce nie zawsze w ogóle było to dostępne. Nieraz prosiłem o przywiezienie jakiegoś podręcznika znajomych, którzy akurat wyjeżdżali do Stanów Zjednoczonych.
 

Obok książek, zarówno zawodowi programiści, jak i miłośnicy kodowania, kupowali także regularnie czasopisma komputerowe. Kilkadziesiąt lat temu wyglądały one zupełnie inaczej niż dzisiaj. Wtedy takie magazyny były wypełnione fachowymi artykułami na temat programowania i przykładami kodów, dziś natomiast dominują w nich reklamy i gry komputerowe. Możecie sobie wyobrazić, że po kilku latach regularnego zaopatrywania się w tego rodzaju źródła wiedzy moje mieszkanie zapełniały stosy programistycznych książek i drugie tyle czasopism. Niby stawałem się mądrzejszy, ale przestrzeń wokół mnie bardzo szybko się kurczyła. Nic dziwnego zatem, że w tamtych czasach zdobywanie wiedzy miało w sobie również coś heroicznego. Internet wywrócił to wszystko do góry nogami. Dziś można zacząć programować, nie czytając ani jednej strony książki i nie przeglądając żadnego czasopisma.
 

Kilkadziesiąt lat temu wiedzę na temat programowania zdobywało się również dzięki osobistym spotkaniom z profesorami, specjalistami od kodowania, a doświadczenie w obszarze pisania kodu przekazywało się także na imprezach, przy piwie, dyskutując do rana nad różnymi rozwiązaniami programistycznymi. To były czasy!
 

Tęsknota za cudownym frameworkiem


O takich narzędziach, jakimi dysponujecie dzisiaj, mogłem tylko pomarzyć 20 lat temu. Nie oznacza to jednak, że nie wspomagałem swojej pracy różnego rodzaju oprogramowaniem. Daleko im jednak było do tego, czym dysponujecie dzisiaj, moi dużo młodsi koledzy-programiści. Jeśli wspominam środowisko dla programistów z połowy lat 90., w pierwszej kolejności muszę wymienić dominujący wtedy Delphi firmy Borland. Pierwsza wersja tego środowiska pojawiła się w 1995 roku i było to narzędzie typu RAD (Rapid Application Development), posiadające wiele przydatnych programistom komponentów. Delphi posiadało między innymi debugger, program, który pozwalał na projektowanie baz danych i interfejsów, a w kolejnych wersjach także wspierało tworzenie aplikacji internetowych, kontrolek ActiveX itp.

Ta sama firma wypuściła potem kolejne zintegrowane środowiska programistyczne jak C++ Builder czy JBuilder. W 1997 roku na rynku pojawiła się za to pierwsza wersja zestawu narzędzi dla programisty od firmy Microsoft. Mam tu na myśli oczywiście Visual Studio, które wtedy rzeczywiście imponowało swoimi możliwościami. W zależności od edycji Visual Studio mieściło się na dwóch lub pięciu płytach CD, przy czym na jednej z nich znajdowała się tylko dokumentacja. Jeszcze wtedy nie istniał C#, więc narzędzie Microsoft nie pozwalało, jak teraz, na programowanie w tym języku, ale za to łączył w sobie kilka różnych języków, które wcześniej były sprzedawane jako osobne pakiety. Cóż, programowanie stawało się coraz łatwiejsze, ale tęsknota za wymarzonym frameworkiem wciąż była żywa.

Teraz mogę z zazdrością patrzeć na te narzędzia, które dostępne są nawet za darmo w internecie. Ale i tak w oku kręci się łezka, gdy przypomnę sobie tamte czasy. Być może dlatego, że to lata mojej młodości, a może po prostu trzeba było wykazać się większym samozaparciem i cierpliwością, aby zdobyć odpowiednią wiedzę programistyczną. Takiej samej cierpliwości życzę Wam również dzisiaj, moi młodzi koledzy-koderzy.

Pewnie za kolejnych 20 lat w zupełnie innej rzeczywistości technologicznej to Wy będziecie wspominali, jak tworzyło się oprogramowanie w waszej młodości. Wspomnijcie wtedy starego kolegę po fachu, który próbował przed laty przybliżyć wam czasy odległe.
 

Z gorącymi pozdrowieniami,

Mariusz K., Software Developer, lat 54.