Jakim zawodem jest programista?

Istnieje zawód zwany operatorem maszyn. W czasach sowieckich duże fabryki często miały ogłoszenia na bramach, że poszukują, na przykład, narzędziowców i operatorów maszyn. Zazwyczaj oznaczało to, że fabryka była bardzo duża i z jakiegoś powodu potrzebowała pracowników o szerokim spektrum specjalizacji.

W dobrze prosperujących zakładach produkcyjnych, w razie potrzeby, zapisywano „tokarze co najmniej klasy 5” lub „operatorzy frezarek klasy 3-5”. Oznaczało to, że łańcuch produkcyjny uległ załamaniu i potrzebni byli bardzo wyspecjalizowani specjaliści do bardzo specyficznych zadań. Ponieważ „operator maszyny” po prostu nie istnieje. Są tokarze, operatorzy frezarek, operatorzy pras, specjaliści od maszyn CNC i tak dalej.

Podobnie jest z programistami. Dlatego szukanie pracy z hasłem „programista” oznacza ciągłe otrzymywanie ogromnej ilości wiadomości e-mail. Jedyny problem: wszystkie oferty będą „nie do końca trafne” lub „zupełnie nie na temat”.

Jak więc ewoluował zawód „programisty” od momentu jego powstania do dnia dzisiejszego?

Wczoraj

Od czasu pojawienia się pierwszych komputerów w latach 40. XX wieku, inżynierowie elektronicy, którzy stworzyli te potwory, ku swojemu rozczarowaniu odkryli, że trzeba je jakoś kontrolować. Tak właśnie pojawili się pierwsi programiści.

Pisali swoje programy w kodzie komputerowym. Pierwsze komputery zajmowały całe piętra dużych budynków, z licznymi szafami połączonymi przewodami. Co więcej, każde uruchomienie komputera było złożoną procedurą, wymagającą współpracy zarówno inżynierów elektroników, jak i programistów.

Ten wspólny wysiłek dał początek popularnemu terminowi „błąd” lub błąd programowania. Po nieudanej próbie uruchomienia komputera podczas inspekcji sprzętu, inżynierowie odkryli karalucha w jednej z szaf. Zwarł on kilka linii i, zamieniając się w żar, zakłócał prawidłowe działanie komputera. Ktoś przeczytał notatkę w dzienniku błędów – w szafie o takim a takim numerze znaleziono kolejny błąd – i nazwał go błędem. To właśnie stąd wzięły się błędy oprogramowania. Ale nie od razu.

O pierwszych, legendarnych programistach krążyły legendy. Jeden z nich rzekomo potrafił ręcznie symulować bazę danych zakładu na potrzeby zarządzania, błyskawicznie konwertując posiadany tekst na kod komputerowy, a dodatkowo obliczając i wstawiając odpowiednią liczbę spacji w każdym wierszu, uwzględniając długość już wprowadzonego tekstu. Inny zdołał kilkukrotnie przyspieszyć program stworzony przez innego, mniej utalentowanego programistę, dzięki szerokiemu wykorzystaniu rejestrów maszynowych zamiast komórek pamięci. I tak dalej…

Z czasem uruchamianie komputera stało się prostsze, a programiści podzielili się na dwie grupy: inżynierów systemowych, którzy pisali programy systemowe dla komputerów, kontrolując maszyny do pisania, drukarki, dziurkacze i czytniki dziurkaczy. Oraz „prostych programistów” – tych, którzy pisali programy dla użytkowników i pracowali nie w kodzie maszynowym, lecz w językach maszynowych.

Nasi programiści zasłynęli wówczas z translatora TA-1M, który umożliwiał im pisanie programów w języku Algol-60. Po Algol-60 programiści zaczęli używać Fortranu, Focala, Algamsa, Pascala, Moduły i wielu innych.

Wśród nich język C nie wyróżniał się na samym początku. Cóż, grupa programistów, pracując nad językiem, który byłby wygodny do pisania systemów operacyjnych dla ówczesnych, nowych mikroprocesorów, opracowała język A. Nie przypadł im do gustu. Opracowali B. On również nie został dobrze przyjęty. Ale trzecia wersja, język C, okazała się dobrym narzędziem dla twórców różnego oprogramowania (lub SW). evatutin,

Tymczasem komputery uległy radykalnej zmianie, a użytkownicy uzyskali dostęp do niemal wszystkiego. Komputery zyskały terminale, z których mogli uzyskiwać dostęp do programów komputerowych, pracować w trybie wiersza poleceń i odbierać wyniki programów drukowane na drukarce.

Koncepcja „programisty systemowego” uległa radykalnej zmianie. Niewielka liczba systemów operacyjnych nadal była napisana w języku asemblera, ale większość systemów operacyjnych była już napisana w języku C.

Programiści aplikacji pisali własne programy automatyzujące różne obliczenia w językach C, C++ i językach specjalistycznych. Pojawiły się pierwsze bazy danych, umożliwiające grupowanie zbiorów danych według różnych kryteriów.

Dzisiaj

„Dzisiaj” podkradło się do nas niepostrzeżenie. Nawet dla wielu programistów… Wciąż śmialiśmy się z „tej głupoty”, z myszy komputerowych i Windowsa 3.1. Czasy wygodnego zarządzania programami liniowymi (i wygodnego ich pisania) minęły bezpowrotnie.

Księgowość komputerowa szybko zmieniała swoją formę. Muszę od razu przyznać, że nie mogę wypowiadać się w imieniu księgowości na całym świecie. Nie wiem. Ja też nic nie wiem o naszej księgowości, ale miałem okazję pracować w tej dziedzinie.

W burzliwych latach 90., w erze korporacyjnych nalotów i strzelania do każdego, kto nie miał Colta lub nie miał czasu, by go zdobyć, pierwsi twórcy oprogramowania księgowego i ci z największymi umiejętnościami lobbowali za zmianami w standardach rachunkowości, aby zmiażdżyć konkurencję – ludzi, którzy być może mieli większe umiejętności księgowe, ale nie wyczuli ducha czasu i nie rozumieli zawiłości lobbingu. Ci, którym się nie udało, byli za późno; 1C przejęło, jeśli nie cały rynek, to przynajmniej znaczną jego część, przerabiając niektóre państwowe standardy rachunkowości, aby dostosować je do własnych potrzeb.

Rynek oprogramowania dynamicznie się zmieniał, a ci, którzy podążali za trendami lub przyczynili się do ich powstania, od razu pięli się w górę. A ci, którzy przegapili…

Monitory stały się kolorowe i szybko poprawiały swoją wydajność, od CGA do XVGA i wyżej. Pradziadkowie procesorów szybko zwiększali swoją moc – 8086, 80286, 80386, 80486, 80586… Każdy kolejny procesor był kilkakrotnie wydajniejszy od poprzedniego. Następnie 80586 przemianowano na Pentium, a liczba „pniaków” zaczęła rosnąć. Pentium 1, 2, 3… Pojemność dysków magnetycznych i pamięci RAM komputera rosła równie szybko.

Niektóre komputery pozostały tych samych rozmiarów, a ich prędkość i moc znacznie wzrosły, podczas gdy inne stały się bardzo małe i zaczęły sterować zegarami, pralkami, lodówkami…

Technologie sieciowe rozwijają się w szybkim tempie: od modemów telefonicznych o prędkości 1900 bodów, które umożliwiały dostęp do Internetu zaawansowanym użytkownikom na początku i w połowie lat 90., do kart sieciowych, które obecnie potrafią przetwarzać ponad 10 megabitów danych na sekundę.

Bazy danych ewoluowały błyskawicznie. Początkowo powstawały z ciągów tekstowych rozdzielonych znakami specjalnymi, potem stały się binarne… A dziś bazy danych są rozproszone w sieciach, rezydując jednocześnie na różnych komputerach, być może nawet w różnych lokalizacjach na całym świecie. Do obsługi danego żądania mogą być potrzebne serwery zlokalizowane na różnych kontynentach…

Całe to bogactwo oprogramowania tworzą programiści. Niektórzy specjalizują się w konkretnych bazach danych, inni w tworzeniu interfejsów graficznych (GUI) – interfejsu użytkownika między programem a użytkownikiem, a jeszcze inni w opracowywaniu metod umożliwiających programom współpracę w różnych węzłach sieci.

Specjaliści językowi ze znajomością Delphi, Pascala i C++. Programiści 1C, programiści specjalizujący się w tworzeniu i utrzymaniu różnych baz danych. Specjaliści programowania Windows, specjaliści Linuxa. Specjaliści C++ pracujący w Borland-C lub Qt, Microsoft Visual C…

Dobry programista C++ może pracować w Borland-C lub być specjalistą Qt. Specjalista Perla może w ogóle nie znać się na bazach danych.

Minęło 20 lat od czasu, gdy programiści zbudowali Wieżę Babel. Podzielili się na wiele, wiele grup, z których każda mówiła własnym językiem i nie rozumiała swoich kolegów.

A ktoś mówi, że pracuje „tylko jako programista”!

No votes yet.
Please wait...

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *