Jako programista mam wrodzoną irytującą irytację na moje narzędzia, kod innych ludzi, mój kod i cały świat. Zawsze chcę to poprawić. Więc refaktoryzuję się, jestem na bieżąco z najnowszymi technikami. Próbuję uczyć się wzorców, próbuję używać ram, aby nie wymyślać koła na nowo. Mogę napisać specyfikację techniczną, która zdmuchnie twoje skarpetki z ilością wzorów, które mogę wcisnąć.
Jednak ostatnio wydaje mi się, że wiem więcej o narzędziach, których używam, niż o tym, jak wdrożyć udane oprogramowanie.
Wydaje mi się, że brakuje mi umiejętności ludzkich i wierzę, że sukces inżyniera oprogramowania wymaga czegoś więcej niż znajomości najfajniejszych frameworków. Myślę, że potrzebuje również niektórych z poniższych zestawów umiejętności.
- Projektowanie interakcji
- Doświadczenie użytkownika
- Marketing
Mam trochę tego, czego nauczyłem się od ludzi, z którymi pracowałem i świetne projekty, nad którymi pracowałem, ale nie wydaje mi się, żebym „posiadał” te umiejętności.
Czy mam rację? Czy powinienem starać się dalej rozwijać te umiejętności, czy też należy je pozostawić osobom, które je wykorzystują w trakcie kariery?
W jaki sposób upewniasz się, że nie przywiązujesz się zbytnio do tego, jak coś robisz i że „sprawisz, że użytkownicy będą niesamowici”?
Czy ktoś wie o dobrych zasobach do nauki tych umiejętności z punktu widzenia programowania?