Już za niespełna 3 tygodnie rozpoczniemy kolejną, 33 edycję badania Raport Płacowy AG TEST HR. Tyle trójek w jednym zdaniu, to nie może być przypadek, tak samo jak przypadkiem nie jest fakt, że od tej jesieni wzbogacamy nasze Raporty o stanowiska programistów różnych technologii! W rolach głównych wystąpią programiści C/C++, HTML, JAVA, PHP i inne środowiska. Towarzyszyć im będą administratorzy sieci i systemów serwerowych, architekci, projektanci i testerzy oprogramowania. Przedpremierowo, dla naszych czytelników odsłaniamy nieco kulis tej zmiany i zapraszamy do lektury o tekstu, w którym programista niejedno ma imię.

 

 

Trzy twarze informatyka

 

Inżynier oprogramowania, koder, programista czy z angielska developer to nazwy stanowisk powszechnie używane wymiennie, najczęściej do określenia osób zajmujących się tworzeniem aplikacji. Niby nic w tym złego gdyby nie traf, że dowolność w stosowaniu tych określeń skutkować może poważnymi nieporozumieniami kiedy doszukamy się pomiędzy nimi faktycznych różnic. Jak odróżnić programistę od kodera? Czy każdy inżynier oprogramowania musi mieć wykształcenie kierunkowe? Dla kogo ważne są umiejętności interpersonalne? Tu znajdziecie odpowiedzi na te pytania.

 

Czym zajmuje się programista a czym koder? W dużym uproszczeniu zarówno programista jak i koder tworzą algorytmy programów realizujących określone zadania przy użyciu wybranej technologii. Różnica między nimi tkwi w tym, że programista w odróżnieniu od kodera poza samym kodem musi też dbać o pozostałe aspekty tworzonych programów. Koder skupia się wyłącznie na poprawności danych i algorytmów je klasyfikujących w zaprojektowanym programie. Programista natomiast dodatkowo analizuje techniczne specyfikacje aplikacji, dba o spełnienie założeń dotyczących ich funkcjonalności, współpracuje blisko z projektantami i grafikami w zakresie opracowania wyglądu zewnętrznego softu.

 

 

Preferowanym poziomem wykształcenia programisty jest wyższe informatyczne, w praktyce natomiast zatrudnia się nawet osoby z wykształceniem średnim, które wiedzę w pożądanym zakresie zdobyły w wyniku samokształcenia. W środowisku informatycznym nie ma zgody co do tego, czy istnieje wyraźna różnica między programistą a inżynierem oprogramowania. Spór ten o tyle trudno rozstrzygnąć, że nie chodzi tu bynajmniej o fakt posiadania lub też nie odpowiedniego poziomu wykształcenia ale o umiejętność szerszego spojrzenia na dany projekt oraz zdolność do sprecyzowania przed i po wdrożeniu właściwego działania aplikacji, którymi miałby się cechować wyłącznie inżynier oprogramowania. Na pocieszenie dodam, że problem ten występuje właściwie tylko w Polsce, za granicą funkcjonują jasne charakterystyki obydwu zawodów.

 

Umiejętności interpersonalne, wbrew popularnemu mniemaniu ważne są na każdym z tych stanowisk. Zarówno koder, programista jak i inżynier, aby mógł właściwie (tzn. zgodnie z oczekiwaniami klienta) projektować oprogramowanie, musi umieć rozmawiać o potrzebach odbiorców oraz końcowych użytkowników aplikacji. Powinien też zadbać o to by w przesiąkniętym branżowym słownictwem środowisku być zrozumiałym dla otoczenia zewnętrznego, a także gdy sytuacja tego wymaga, wykazać się  umiejętnościami negocjowania najlepszych jego zdaniem rozwiązań.