IF Informatyk THEN Kto? ELSE Programista
Ten mój poniższy esej został opublikowany w piśmie Informatyka (Nr 10, 1990 roku) i aż sam nie mogę uwierzyć jak jego treść jest dalej dzisiaj aktualna (no może nie ma już firmy Borland). Dlatego bardzo polecam przeczytanie tego eseju - niezmienność problemów z określeniem kim jest Informatyk zmusza do zastanowienia. WBI. [w tych nawiasach obecnie dokonane zmiany w tekście].
Kto to jest informatyk? Dyskusja nad definicją zawodu określonego hasłem „informatyk" toczy się od wielu lat i rodzi wiele emocji.
Według Statutu Polskiego Towarzystwa Informatycznego [wersja z 1990 roku], członkami zwyczajnymi Towarzystwa mogą być obywatele polscy, którzy:
- ukończyli studia wyższe na kierunku informatycznym lub związanym z informatyką lub mają stopień naukowy w zakresie informatyki lub jej zastosowań;
- mają wykształcenie wyższe lub średnie, a ich praca zawodowa w ciągu co najmniej trzech ostatnich lat przed wstąpieniem do Towarzystwa była ściśle związana z informatyką;
- studiują na kierunkach informatycznych lub związanych z informatyką, poczynając od trzeciego roku studiów.
Punkt 2. rodzi jednak czasem wątpliwości, na ile zeprezentowany kontakt z informatyką ma rzeczywisty związek z nabyciem umiejętności tworzących wiedzę w tej dziedzinie. Niestety brak jest tutaj jednoznacznych odpowiedzi, gdyż inaczej widzą tę sprawę informatycy po studiach, a inaczej wszyscy ci, którzy zmienili swoje zainteresowania pod wpływem możliwości dostępu do komputera.
Po pierwsze, trzeba sobie uświadomić fakt, że jeszcze większość zawodowych informatyków wyrastała łącznie z początkowym rozwojem tej dziedziny, mając w tym rozwoju znaczny udział. Większość kadry ze stopniami naukowymi kończyła inne [warunki kierunki] studiów. Dopiero od połowy lat 70. absolwenci uczelni uzyskiwali na dyplomie potwierdzenie ukończenia specjalności , „informatyka”. Jednocześnie gwałtowny rozwój informatyki oraz rozpowszechnienie mikrokomputerów wymagały coraz większej liczby kadr, znacznie przekraczającej możliwości polskich uczelni.
Tak duże zapotrzebowanie na specjalistów potrafiących eksploatować i oprogramowywać komputery jest nie tylko naszym krajowym problemem. Np. w USA istnieje opinia, że obecnie, a także w najbliższej przyszłości, potrzeba będzie znacznej liczby programistów. W niektórych prognozach mówi się nawet, że liczba ta może dorównać liczbie ludności tego kraju. Trzeba jednak wyjaśnić, że nie każdy programista jest tam utożsamiany z informatykiem. Na programistów szkoli się osoby zajmujące się poprzednio zupełnie czymś innym. Programiści tacy w wielu przypadkach znają się tylko na jednym systemie operacyjnym i potrafią programować - na przykład - tylko w Cobolu. Często też są oni zatrudniani czasowo na kontraktach organizowanych przez firmy [konsultatywne konsultacyjne].
Sytuacja ta przypomina nieco początki rozwoju motoryzacji, kiedy to do każdego nowego automobilu musiał być dodany kierowca - mechanik. Oczywiście z czasem kierownice przejęli sami właściciele, a następnie ich żony. Obecnie szkoli się tylko techników mechaników potrafiących dokonać naprawy. Nikt ich nie utożsamia z inżynierami mechanikami projektującymi nowe auta, którzy obecnie korzystają z zaawansowanych technik komputerowych. Zamiast tuneli aerodynamicznych wykorzystuje się technikę symulacyjną, a kształty nadwozi opisują równania matematyczne zamiast drewnianego kopyta. I nie sądzę, aby któryś z tych inżynierów uważał się za informatyka.
Teraz mogę przystąpić do podania mojej definicji informatyka, przy czym rozgraniczę tutaj inżyniera informatyki o specjalizacji sprzętowej od informatyka o specjalizacji w zakresie oprogramowania.
Inżynier informatyk o specjalizacji sprzętowej powinien rozumieć organizację funkcjonalną sprzętu komputerowego, umieć konstruować oraz naprawiać ten sprzęt przy poważniejszych uszkodzeniach. Jego podstawową rolą jest opracowywanie nowych rozwiązań sprzętowych opartych na nowych możliwościach technologicznych w zakresie układów scalonych oraz techniki zapisu magnetycznego, optycznego itp. Patrząc na te wymagania, możemy na naszym podwórku tylko pokiwać głową. Jednak, kiedy zbliżymy się do tego nowocześniejszego świata nie powinniśmy zaniechać poznawania tej wiedzy, aby ją rozumieć i wdrażać w kraju. Pozostaje też szerokie pole popisu w konstruowaniu specjalizowanych sprzętowych urządzeń informatyki, uzupełniających standardowe instalacje.
Informatyk o specjalizacji w zakresie oprogramowania (zarówno inżynier jak i absolwent uniwersytetu) powinien rozumieć architektury nowoczesnych komputerów oraz posiadać umiejętność poznawania zasad funkcjonowania działającego na nich oprogramowania. Powinien on umieć samodzielnie opracowywać rozwiązania w zakresie tworzenia nowego oprogramowania systemowego, translatorów oraz nowych języków programowania i pakietów przetwarzania danych. Zadaniem takiego informatyka jest zrozumienie potrzeb potencjalnych użytkowników, wskazywanie im odpowiedniego sprzętu, a także dobieranie lub konstruowanie odpowiedniego oprogramowania podstawowego i wspomagającego. Powinien też móc porozumieć się z użytkownikiem w jego języku rozumienia problemu, sugerując mu najlepsze drogi postępowania. Jego głównym zadaniem jest nauczenie użytkowników komputerów sposobu ich wykorzystywania.
Może on też brać udział w tworzeniu aplikacji, wskazując na rozwiązania najefektywniej wykorzystujące sprzęt oraz istniejące już oprogramowanie. Takie postawienie zagadnienia prowadzi do wniosku, że o jakości informatyka nie decyduje liczba napisanych przez nich programów. Może on wręcz w ogóle nie pisać programów aplikacyjnych, gdyż w wielu przypadkach trudno jest mu zrozumieć istotę algorytmów obliczeń fizycznych, chemicznych, mechanicznych czy przetwarzania informacji.
Tylko przy takim układzie współdziałania informatyka z użytkownikiem możliwe jest prawidłowe eksploatowanie istniejących obecnie narzędzi informatyki oraz dalszy ich rozwój w kierunku lepszego przystosowania do potrzeb innych użytkowników. Trzeba bowiem zdawać sobie sprawę z tego, że w coraz mniejszym stopniu użytkownik komputerów będzie korzystał bezpośrednio z pośrednictwa specjalistów z ośrodka komputerowego. Coraz większa będzie też grupa użytkowników nie mająca i nawet nie chcąca mieć jakiegokolwiek pojęcia o funkcjonowaniu sprzętu komputerowego i zasadach konstrukcji programów w dotychczasowych językach programowania. Jednocześnie rozwój informatyki gwałtownie powiększa moc obliczeniową komputerów, przez konstruowanie coraz szybszych procesorów oraz tworzenie rozproszonych wieloprocesorowych systemów przetwarzania danych. Pociąga to za sobą znaczny stopień skomplikowania tych rozwiązań, uniemożliwiając chałupniczą eksploatację. Powracając do przykładu z motoryzacji, silnik malucha mógł rozłożyć i złożyć na podwórku średnio zaawansowany mechanik-samouk. Silnika nowoczesnego samochodu już nikt nie może w taki sposób naprawiać.
Pozostała jeszcze grupa informatyków zajmująca się teorią informatyki. Definicja zakresu ich działania nie wymaga sprecyzowania. Bronią się oni sami tworząc coraz bardziej zmatematyzowane teorie z zakresu specyfikacji i dowodzenia poprawności programów sekwencyjnych i współbieżnych, teorii obliczeń i algorytmów, a także podstaw teorii baz danych, systemów ekspertowych itp. Jednak i tutaj należy wskazać na rolę informatyków-praktyków, którzy powinni - gdy prace teoretyczne sugerują możliwość praktycznego rozwiązania zagadnienia - przystąpić do jego wdrożenia, a następnie spopularyzowania wersji eksploatacyjnej wśród potencjalnych użytkowników.
lnformatykiem nie jest więc ten, który złożył mikrokomputer lBM PC/486 z części zakupionych na Tajwanie. Informatykiem nie jest też ten, kto potrafi jedynie programować w jakimś języku, a nawet napisał kilkanaście bardzo dużych i złożonych programów. Jeżeli programy te dotyczyły zagadnień związanych z jego zawodem, można powiedzieć, że stał się on lepszym specjalistą w swojej dziedzinie, wykorzystującym nowoczesną technikę. lnformatykiem nie jest też stały czytelnik pisma BYTE, znający na wyrywki najnowsze wersje produktów firm Microsoft i Borland. Ażeby być informatykiem potrzebna jest rzetelna wiedza, podstawowa, aktualna nie tylko teraz, ale również stanowiąca podstawę do jej przyszłego poszerzenia.
Informatyk musi być też odpowiedzialny za to, co robi, co proponuje wykorzystać, czego naucza. Odpowiedzialność ta stałe się powiększa, gdyż coraz więcej dziedzin życia zaczyna zależeć od komputerów. Obliczenia wykonywane z pomocą komputerów, nadzór komputerowy nad procesami technologicznymi, aparatura kontrolno-pomiarowa i medyczna, gromadzenie i przetwarzanie informacji o społeczeństwie i jego jednostkach mogą prowadzić w przypadku błędnego działania systemów liczących do nieobliczalnych skutków.
Podsumowaniem tego tematu niech będzie cytat z felietonu „Od Prezesa” Prof. A. Blíklego, zamieszczony w numerze 1, 1990 Biuletynu PTl: „Każdy ma prawo zaaplikować sobie lekarstwo z domowej apteczki lub zbudować szopę w ogrodzie. Nikt jednak nie poddaje w wątpliwość zasady, że ani leczyć, ani budować nie wolno bez odpowiednich uprawnień. A uprawnienia takie uzyskuje się kończąc wyższą uczelnię, a nie kilkutygodniowy czy kilkumiesięczny kurs”.
Uważam, że w świadomości społecznej powinno utrwalić się zrozumienie faktu, że informatyka jest zawodem równie trudnym i odpowiedzialnym jak medycyna czy inżynieria budowlana, i że jedyną drogą do jej opanowania są studia zawodowe. Ruch amatorski należy oczywiście popierać również w informatyce, trzeba jednak pamiętać, że amatorska informatyka może być używana jedynie w amatorskich zastosowaniach. Natomiast zastosowania profesjonalne wymagają profesjonalnej informatyki.
WACŁAW ISZKOWSKI
P.S. Zbitki poglądów i spostrzeżeń tutaj prezentowanych nie są oficjalnym stanowiskiem Redakcji ani żadnej innej organizacji. Ich prezentacja ma służyć pobudzeniu dyskusji na dany temat nawet przez wzburzenie moich ewentualnych adwersarzy.
Opublikowano w piśmie INFORMATYKA Nr 10/1990