Święty Graal IT

Wielu programistów, których znam marzy o tym, aby brać udział w tworzeniu projektu programistycznego od podstaw, od zera. Zwykle w naszej karierze dołączamy do istniejących przedsięwzięć i zajmujemy się modyfikacją i utrzymaniem istniejącego kodu. Osoba, która na przestrzeni wielu lat wielokrotnie zmieniała projekty nigdy nie natrafiając na taki we wczesnym stadium rozwoju może odnieść wrażenie, że nowe projekty nie istnieją… Że powstała kiedyś skończona liczba projektów, a teraz się je tylko utrzymuje… Jednakże, wobec obecnego zapotrzebowania na ekspertów w świecie IT, o czym słychać na lewo i prawo, a także przy odrobinie zdrowego rozsądku, można szybko wywnioskować, że nie jest to prawda. Co jest więc powodem, że nowy projekt to produkt niszowy w świecie programistyczny? A może to tylko złudzenie? A może źle szukamy?


Projekcie, gdzie jesteś?

Otóż, prowadzenie nowego projektu nie jest proste. Wprowadzenie komercyjnego projektu zupełnie od zera jest nawet bardzo trudne, a szanse powodzenie niewielkie. Łatwiej jest firmie utrzymywać obecne rozwiązania, na które mają klientów niż inwestować w nowe rozwiązania, nawet takie z dużym potencjałem. Stąd, w ogólności, trudno natrafić na zupełnie świeży projekt. Z drugiej strony, słyszymy o spektakularnych sukcesach osób, które podjęły ryzyko i stworzyły zupełnie nowy produkt, który spotkał się z pozytywnym odzewem wielu użytkowników. Raczej nie przez zbieg okoliczności, nowe projekty powstają częściej w pewnych regionach świat bądź w pewnych firmach. To co łączy owe regiony, czy organizacje, to innowacyjność. Rozeznany w biznesie IT inżynier oprogramowania jest w stanie z dosyć dużą trafnością określić, czy dana firma zajmuje się nowymi rozwiązaniami, czy tez utrzymuje istniejące produktu bądź jest gdzieś po środku tego podziału.


Piekło…

Warto jednak zastanowić się jakie konsekwencje niesie praca przy świeżych inicjatywach i przy ugruntowanych rozwiązaniach. Z punktu widzenie programisty, produkt istniejący długo na rynku oznacza pewną stabilność w sytuacji zawodowej. Pracownik, który zna produkt i jest w stanie szybko naprawić defekt, czy zmodyfikować funkcjonalność jest bardzo cenny dla firmy. Może to być przez pracownika wykorzystywane, ale nie będę tu się o tym rozpisywał. Z negatywnych skutków takiej pracy, to zwykle pewien rosnący dług technologiczny wynikający z obawy przed zmianami. Niekiedy przesiadka ze starej wersji Visual Studio na najnowszą jest dla niektórych nie do wprowadzenia. Tkwienie wśród starych technologii, czy środowisk nie wpływa dobrze na zawodowy rozwój, czy nawet na psychikę programisty, a o to trzeba przecież dbać.


…czy Raj

Wobec napisanego powyżej, nowy produkt wydaje się być istnym Eldorado. Możemy wybrać najnowsze narzędzia, ba, nawet język programowania, czy środowisko. Poznajemy nowe technologie, mamy poczucie, że jesteśmy na czasie, a w codziennej pracy wyprzedzamy kolegów po fachu z doliny krzemowej. Ale i ta praca niesie za sobą konsekwencje, które można odebrać jako wady. Nowe inicjatywy mają to do siebie, że szybko przychodzą, ale i szybko odchodzą. Trzeba być gotowym na dynamikę w zmianach projektów, technologii, czy języków programowania. Dla niektórych to wada, dla innych zaleta. Poza tym, konsekwencje popełnienia błędów w początkowej fazie rozwoju oprogramowania są ogromne. Z pozoru świetna technologia, czy biblioteka dająca potrzebującą funkcjonalność mogą okazać się wąskim gardłem systemu i należy je zmienić. Koszt takiej zmiany może być bardzo duży. A jeżeli zmiana jest konieczna, a koszt duży, może to oznaczać początek końca projektu, o który tak dbaliśmy. Winni jesteśmy my, bo rok wcześniej podjęliśmy zła decyzję. I tutaj możemy wrócić do punktu, w którym pytałem o powód dlaczego trudno o nowy projekt informatyczny. Takie przedsięwzięcia powierzane są osobom doświadczonym, które popełniają statystycznie mniej błędów w sferze architektury niż młodsi koledzy. Być może więc już za parę lat, to właściwe na Ciebie spadnie obowiązek poprowadzenia projektu informatycznego od zera. Zdecydujesz się?


Można? Można!

Tworzenie nowego projektu od podstaw to więc bardzo duże wyzwanie, ale również przyjemność, której nie każdy w pracy zawodowej może doświadczyć. Na szczęście, my programiści, do pracy nie potrzebujemy ekstremalnie drogich urządzeń, które posiada tylko nasz pracodawca. Wystarczy komputer i otwarty umysł. No i jeszcze najlepiej darmowe narzędzia i trochę wolnego czasu… Z takim zapleczem, można śmiało startować z nowym projektem, gdzie na początku sami jesteśmy sobie menadżerem, architektem, liderem designu, programistą i testerem. Szlachetnym przykładem niech będzie utworzenie nowego projektu w świecie Open Source – jeśli obecnie nie masz roli związanej z opracowywaniem architektury oprogramowania, czy decydowaniem o tym, w jakim kierunku i z jakimi technologiami projekt ma się rozwijać, to jest to idealne miejsce i czas, aby tego spróbować. Jednocześnie, możesz zacząć prowadzić bloga, do czego zachęca Maciej Aniserowicz w konkursie „Daj się poznać” 🙂 Ja Macieja posłuchałem, czego owocem jest ten blog i post, który właśnie czytasz 🙂


Na zakończenie

Ten post miał być o przesiadce z MS Visual 2013 Ultimate na 2015 Enterprise jako walka z długiem technologicznym w projekcie 🙂 Popłynąłem jednak trochę we wstępie, a powiedziawszy A musiałem powiedzieć i B i skończyło się jak widać. Tematem Visual 2015 zajmę się w przyszłości 🙂

 

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s