jakie macie strategie rozwoju w aspektach projektowych?
Generalnie i głupiec zbuduje most jeśli będzie miał nieograniczoną ilość czasu i pieniędzy, stąd w projektowaniu nie chodzi o uzyskanie rozwiązania the best of the best of the best, lecz z naciskiem na optymalne wykorzystanie zasobów. Projektowanie to gra ograniczeń. Tu z miejsca włącza mi się cytat Bruce Lee "brak ograniczeń jest ograniczeniem" i przekładając na ten wątek chodzi o to, że warto widzieć ograniczenia, bo dzięki nim łatwiej jest rozpoznać w którym kierunku należy pokierować pracą.
Jak znasz ograniczenia projektowe, wtedy łatwiej jest podejmować powiązane z projektem decyzje np. kwestii narzędzi, usług, ludzi. Tu można temat drożyć głębiej, ponieważ każde narzędzie to również wynik jakiegoś kompromisu jaki otwiera projekt na pewne możliwości, jak i zawsze po drodze coś zamyka. Znając ograniczenia projektowe raczej powinieneś unikać tych narzędzi, które wywołują większy koszt i zbyt dużo odbierają .
Niestety w IT bawimy się technologiami. Dla programistów większe zainteresowanie wzbudza fakt, gdy ktoś pracuje z cassandrą niż z mysql, większa uwaga idzie za tą osobą króra używa np. Haskella niż PHP itd. Tak się dzieje, że jako programiści przez 99% czasu nie myślimy o kosztach jakie wywoła narzędzie, lecz o tym, aby w pracy wytrzymać te cholerne 8h. Dla programisty stokroć lżejszy jest dzień, gdy obok nas jest wyjątkowy stos technologiczny, który zachęca do najlepszych praktyk i który również poza wywoływaniem ciekawych problemów, wyzwala pragnienie wykorzystania narzędzi w pełnym potencjalne. Uwielbiamy być tym rozpraszani i przy takim podejściu po prostu za rzadko przechodzi przez głowę myśl o kosztach tej zabawy.
Drugą stroną na którą warto patrzeć poza ograniczeniami są wymagania, ale i też ryzyka jakie idące w parze z projektem, bo wtedy idzie rozpoznać to czego właściwie potrzebuje klient. Klienci często tego nie wiedzą dokładnie czego chcą więc rozpoznanie potrzeb klienta daje nam istotny wpływ na ukształtowanie projektu. Warto podkreślić, projekt nie jest czymś zero jedynkowym, lecz znowu grą znowu grą kompromisów, dlatego warto znać choćby podstawy branży klienta, aby wiedzieć co mu doradzić.
Reasumując to wszystko, jeśli zaczynasz pracę to raczej nie masz styku z klientem, a większość najważniejszych decyzji technicznych podjął za Ciebie ktoś inny, ale na tym etapie możesz bez brania na siebie większej odpowiedzialności ustalić dlaczego tak się stało. Rzucaj pytania nawet samemu sobie, rób notatki, wracaj, te ciekawsze pytania rzucają też do zespołu, lidera, nawet i nawet klienta jeśli ten będzie miał czas na takie rzeczy. To właśnie te rzeczy moim zdaniem rokują jak dobry mógłbyś być w aspektach projektowych.