Kim jest .Net Developer?

.NET Developer to osoba zajmująca się przede wszystkim analizą, tworzeniem oraz rozwijaniem aplikacji korzystając ze stacku technologicznego firmy Microsoft. Platforma .NET jest bardzo szeroka i od swojego początku, który miał miejsce w 2002 roku, przeszła wiele modyfikacji. Platforma oferuje nam wiele możliwości, między innymi:

  • języki programowania obiektowego, np. C# i Visual Basic;
  • języki programowania funkcyjnego, np. F#;
  • aplikacje sieci Web – ASP.NET;
  • aplikacje w chmurze na platformie Azure, np. Websites, WebJobs, Cloud Services;
  • platforma uniwersalna systemu Windows UWP, pozwalająca na tworzenie aplikacji na wiele różnych urządzeń;
  • aplikacje klasyczne, oparte przede wszystkim o formularze WinForms oraz WPF;
  • rozwiązania mobilne na różnorodne platformy – Xamarin;
  • .NET Core – modułowe oprogramowanie typu „open source” dla różnych platform.

Osoby pracujące jako .NET Developerzy, poza samym programowaniem na wyżej opisanej platformie, mogą zmagać się też z innymi zadaniami, np. pisaniem skryptów PowerShell, tworzeniem automatycznych przepływów Microsoft Flow, budowaniem aplikacji przy użyciu PowerApps czy programowaniem w innych językach, np. JavaScript, Python, Scala, C++, itp.

Rola developera zależy od projektu, w którym uczestniczy oraz od jego stanowiska i poziomu umiejętności – junior, mid, senior. W zależności od potrzeb, developer musi dostosować się do stawianych wymagań. Na początku startującego projektu jest to głównie analiza oczekiwań klienta, przygotowywanie architektury aplikacji, pisanie dokumentacji, oraz tworzenie PoC, czyli Proof of Concept. Ma to na celu sprawdzenie, czy spełnienie danego wymagania jest możliwe i czy aplikacja będzie odpowiadała na potrzeby klienta.

Developer pracuje w zespole, którego członkami zazwyczaj są osoby wyspecjalizowane w różnych dziedzinach. Mogą to być:

  • inni programiści;
  • QA (Quality Assurance) – osoby odpowiedzialne za analizę jakości wytwarzanego oprogramowania;
  • Architekci, przygotowujący główne koncepcje aplikacji;
  • PO (Product Owner) – osoba odpowiedzialna za zbieranie wymagań klienta dotyczących budowanej aplikacji;
  • UI/UX designer – osoba odpowiedzialna za tworzenie konceptów graficznych;
  • Scrum Master w zespołach prowadzonych w metodyce Agile.

Aby zostać dobrym programistą nie trzeba kończyć dedykowanych studiów – najważniejsze są chęci i motywacja do pracy. Zawód programisty wymaga ciągłego poszerzania wiedzy. W świecie IT codziennie powstają nowe frameworki, biblioteki, języki programowania. Chcąc odnaleźć się w tych warunkach, warto starać się podążać za nowymi trendami. Oczywiście, kierunki studiów takie jak informatyka, automatyka, mechatronika, czy matematyka, pomogą nauczyć się podstaw programowania, jednak to od Ciebie zależy czy będziesz robić coś poza zakresem omawianym na studiach i poszerzać wiedzę na własną rękę. Niestety często materiał wykładany na zajęciach jest przestarzały, ogólnikowy i bez dodatkowego działania z Twojej strony może nie być wystarczający, by pozwolić Ci dostać się na staż do dobrej firmy. Ciekawą opcją na poszerzanie wiedzy są różnego rodzaju szkolenia, kursy online czy wydarzenia organizowane przez firmy IT, np. Akademia Inetum: Akademia Inetum | Inetum Polska.

Nasza firma daje spore możliwości rozwoju osobom o każdym stopniu zaawansowania. Osoby bez doświadczenia, będące jeszcze studentami, zazwyczaj zaczynają swoją karierę zawodową jako praktykanci lub stażyści. Pod okiem bardziej doświadczonych pracowników zagłębiają się w świat IT, uczą programowania oraz pracy zespołowej. Następnym krokiem w karierze jest stanowisko młodszego programisty, które proponujemy osobom z bardzo dobrą oceną stażu. Jeśli developer wykazuje się samodzielnością w wykonywaniu powierzanych zadań, może przejść na stanowisko regularnego programisty. Kolejne kroki w ścieżce kariery zależą głównie od tego, w czym dana osoba czuje się najlepiej, w którym kierunku chce podążać. Zazwyczaj jest to stanowisko starszego programisty, który swoją wiedzą może dzielić się z młodszymi stażem kolegami, być podporą zespołu. Równolegle można ukierunkowywać się na konsultanta, czyli osobę, która większy nacisk kładzie na kontakt z klientem, lub jako architekt, czyli decydować w jaki sposób zaprojektować daną aplikację. Poza tym, warto rozwijać kompetencje miękkie, by móc zostać Team Leaderem i prowadzić swój zespołów developerów.

Będąc Team Leaderem jednego z poznańskich zespołów .NET swoją pracę mogę podzielić na dwie główne ścieżki:

  • Praca jako Developer/Tech Lead w projekcie wykonywanym dla klienta. Myślę, że tutaj największymi wyzwaniami są kontakty z klientem, zbieranie wymagań oraz dostosowywanie się do ciągłych zmian zakresu prac, na których skupia się zespół. Zmiany te często są dynamiczne i wcześniej nieplanowane, czego skutkiem bywa porzucenie aktualnie opracowywanego rozwiązania.
  • Praca jako Team Leader. W tej roli wyzwaniem jest m.in. konieczność sprawiedliwej oceny członków zespołu oraz udzielanie feedbacku na temat wykonywanej pracy – zarówno tego pozytywnego, jak i negatywnego.

Moim zdaniem plusem pracy jako developer jest możliwość ciągłego poszerzania swojej wiedzy, co w tej branży ma bardzo duże znaczenie. Tak jak pisałem wyżej, każdego dnia powstają nowe biblioteki, nowe technologie, z którymi jako dobrzy programiści powinniśmy być na bieżąco. Przez wiele osób może być to odbierane jako wada, ponieważ nie jest to praca mechaniczna, o której można zapomnieć zamykając pokrywę laptopa. Lecz jeśli programowanie jest Twoja pasją, poświęcenie dodatkowego czasu na naukę nie powinno stanowić dużego problemu!

Bartosz Brandt

(EN) We use cookies only for collective statistical purposes and to adapt the website to the user's needs.
(PL) Używamy cookies w celach statystycznych oraz w dostosowaniu serwisu do użytkownika.