Za svých cca 10 let komerční praxe jsem poznal poměrně dost kolegů a dělal jsem na nejrůznějších projektech od desktopu (C++, C#), přes embedded C, po web asp., javascript, SQL. A nejlepší programátoři, které jsem znal byli FullStack developeři. S těma se mi také nejlépe pracovalo. A to zejména ze dvou důvodů:
1. odladí a promyslí si svoji práci přes všechny vrstvy aplikace protože umí backend i frontend. Správně si navrhne architekturu, protože chápe celou aplikaci. Nemusí nikoho otravovat, aby mo přidal někam funkci. Dokáže najít chybu, protože si to dokáže sám ladit přes celou aplikaci.
2. Z principu není línej, protože byl ochotnej dělat věci navíc, naučit se věci navíc. Když budeš chtít někomu dát úkol, který se týká nové technologie, tak bude pravděpodobně ochotný to udělat a naučit se to.
Já jako vedoucí programátorů mám FullStack developery rád. Mohu jim zadat úkol a oni ho prostě udělají, přidají si funkci do databáze, backendu, udělají si grafiku a je hotovo. To každý vedoucí ocení.
Nemám programátory, kteří se zafixují na jeden jazyk, jednu knihovnu a musí si nimi řešit API, každou chybu hledají jen od rozhraní svojí vrstvy a pak říkají: "To neni moji chyba, na mojí straně to funguje". A já pak musím zase hledat někoho, kdo je ochotný odladit i tu druhou stranu nebo se na to kouknout jako celek. Hledání chyb trvá věčnost, protože si chybu jednotlivý specialisti přehazují jako horký brambor.
Ideální developer má znolosti do písmene T. Docela slušně (do šířky) zná pár programovacích jazyků a technologií (Fullstack developer) a navíc aspoň v jedné věci je fakt dobrý.