Technologie i narzędzia: język PHP 5, Java, JavaScript, Python, system Zend Framework, Django, biblioteka jQuery, Smarty, platforma Eclipse, MySQL, SVN, CVS, UML, Firefox.
WebProgramming - wszystko o serwisach internetowych
O serwisach internetowych.
[IT] Motto pracodawców?
Zapewne większość z Was słyszała stwierdzenie ?Każdego programistę można zastąpić skończoną liczbą studentów? - bywa, że jest ono powiedziane żartobliwie, ale niestety tylko czasami jest się z czego śmiać. Zapraszam do krótkiej analizy.
Ogólnie w/w stwierdzenie jest prawdziwe - w końcu (prawie) nikt nie jest niezastąpiony.
Jak to jednak w życiu bywa, zawsze są dwie strony medalu.
Mniej doświadczony programista (”przysłowiowy” student):
- jest tańszy, co w dziale księgowym ładnie wygląda, jednak tylko na papierze ponieważ…
- tworzy kod źródłowy gorszej jakości, trudniejszy do modyfikacji, często mniej zrozumiały
- wolniej implementuje (bo się uczy), co negatywnie może wpłynąć na terminy oddania projektów
- często nie potrafi przewidzieć wszystkich możliwości/przypadków co może powodować błędy
Z drugiej strony jednak, doświadczony i bardzo dobry programista:
- jest drogi
- często pracuje nad zadaniami poniżej jego kwalifikacji, nie wykorzystując w pełni swoich umiejętności (pod względem efektywności całej firmy nie jest to dobre)
Moim zdaniem “wymiana” wszystkich (lub większości) doświadczonych programistów na mniej nie jest dobrym rozwiązaniem - owszem jest szansa, że projekt zostanie ukończony (no i nawet może działać), ale na pewno nie będzie on arcydziełem naszego rzemiosła. Jednocześnie aby skończyć projekt w terminie będzie potrzeba zatrudnienia większej liczby “studentów” (niż by to miało miejsce w przypadku doświadczonych programistów), co też może wpłynąć negatywnie na komunikacje w zespole.
Z drugiej strony zatrudnienie tylko doświadczonych programistów też może nie być zbyt efektywne (a na pewno będzie drogie ;)).
Innymi słowy najlepszym rozwiązaniem jest skład “mieszany” - zespół składający się z programistów o różnym stopniu zaawansowania, dzięki temu “studenci” uczą się rzemiosła od doświadczonych programistów, a doświadczeni programiści mogą się skupić tylko na ważnych i trudniejszych elementach aplikacji. W ten sposób możemy uzyskać najlepszy wskaźnik cena / jakość.
PS. W artykule używam określenia “student” (w cudzysłowiu), ponieważ z praktyki wiem, iż fakt bycia studentem nie oznacza wcale braku doświadczenia. Działa to też w drugą stronę (niestety) fakt bycia absolwentem nie oznacza wcale posiadanie umiejętności, a tym bardziej doświadczenia.
Napisz komentarz