Na stażu w Comarchu poznam… .NET #7

Nie wiem czemu, ale opracowana przez firmę Microsoft ładnych parę lat temu technologia .NET oparta głównie o C#, Visual Basic oraz bazę danych MsSQL jest trochę dzisiaj pomijana przez studentów informatyki, a pisząc fachowo – nauk komputerowych. Wynika to pewnie po części z programu studiów, narzuconego przez Ministerstwo Nauki i Szkolnictwa Wyższego, który to bardziej skupia się na „idei” programowania, niż konkretnych rozwiązaniach technologicznych. Jest w tym oczywiście dużo sensu, bo gdyby było na odwrót, to takie studia po paru latach od ich ukończenia w zasadzie nie byłyby nic warte. Nie zmienia to jednak faktu, że .NET stał się w dzisiejszych czasach jedną z popularniejszych technologii wykorzystywaną m.in. do budowy bardzo wielu serwisów internetowych robiących „coś więcej”. Istnieje duże prawdopodobieństwo, że serwis transakcyjny Twojego banku za pośrednictwem, którego wykonujesz przelewy lub innego rodzaju operacje finansowe, został właśnie zbudowany dzięki Microsoftowi, a dokładnie przy użyciu C#, ASP.NET oraz bazy MsSQL.

Fot: StockSnap, CC0.

Cele, jakie stawia sobie krakowska firma zarządzana przez profesora Janusza Filipiaka, są naprawdę ambitne. Wymagają nie tylko nieszablonowego podejścia, ale także odpowiednich technologii nadających się do ich zrealizowania. Nie inaczej jest zresztą podczas wakacyjnego stażu, który co roku odbywa się w kilkunastu miastach w Polsce, a którego uczestnikami mogą zostać studenci przynajmniej drugiego roku studiów I stopnia. Od takich osób, podczas rekrutacji nie wymaga się doświadczenia zawodowego, a jedynie wiedzy na temat programowania zdobytej podczas zajęć na uczelni. Jeśli więc nigdy nie miałeś styczności z C#, a wiesz na czym polega idea programowania obiektowego, polimorfizmu etc. to gorąco zachęcam do zapoznania się z ofertą stażową Comarch, a w szczególności profilem .NET.

Jak wygląda staż w Comarch?

Każdy staż rozpoczyna się od wspólnego spotkania stażystów z ich opiekunami. Na spotkaniu studenci otrzymują wszystkie potrzebne informacje o zasadach związanych z funkcjonowaniem stażu oraz dowiadują się, w jakim zespole będą go odbywali i co najważniejsze, czym będą się zajmowali. Kolejnym krokiem jest poznanie swojego miejsca pracy, nie tylko tego fizycznego, czyli budynku i przestrzeni, w których pracuje się na co dzień, ale również historii firmy. Następnie przychodzi czas na zapoznanie się z przydzielonym projektem oraz wdrożenie się w codzienne obowiązki. Kolejne etapy zależą od ścieżki kariery, jaką wybrał stażysta. Jeżeli jest potrzeba, firma przeprowadza szkolenia zarówno techniczne, związane z platformą .NET, jak i biznesowe przedstawiając systemy, których produkcją się zajmuje. Na tego typu spotkaniach omawiane są nie tylko narzędzia, które na co dzień są wykorzystywane przez programistów, ale również wątpliwości zgłaszane opiekunom. W Comarch duży nacisk kładzie się na indywidualne podejście do każdej osoby. Programiści to bardzo zróżnicowana grupa ludzi, część z nich jest bardzo otwarta i szybko potrafi odnaleźć się w nowym środowisku, z drugiej strony zdarzają się też osoby bardziej zamknięte w sobie, z którymi również trzeba znaleźć wspólny język – mówi Grzegorz Zima, Architecture Team Leader w Comarch.

Jeśli chodzi o projekty, to co roku są one przydzielane studentom w zależności od aktualnych wymagań i potrzeb jakie pojawiają się w BU (ang. Business Unit). Czasami jest to projekt R&D (prace rozwojowo-badawcze), którego celem jest stworzenie narzędzia lub narzędzi, pozwalających usprawnić pracę innym programistom np. poprzez uproszczenie lub wręcz zautomatyzowanie pewnych zadań. Innym razem jest to projekt związany z poprawą jakości wytwarzanego oprogramowania. Niekiedy zdarzają się również projekty, które są ściśle związane z planami produkcyjnymi i polegają na implementacji. Jak widać, każdy projekt jest inny i każdy niesie za sobą inne wyzwania. Ważne jest to, że wszystkie realizowane są pod czujnym okiem opiekuna oraz doświadczonych kolegów i koleżanek, na których pomoc stażyści mogą zawsze liczyć.

OK, a co z wymaganiami?

Na co dzień wykorzystywana jest technologia .NET, tak więc naturalne jest to, że firma szuka osób, które ją znają. Jednak bardzo ważną rolę odgrywa również komunikatywność, otwartość i chęć poszerzania swoich umiejętności i wiedzy. Jeżeli ktoś tylko, chce to jest w stanie szybko zamienić np. Javę na .NET’a. Niejednokrotnie zdarzało się przecież, że osoba znająca tylko Javę, w krótkim czasie potrafiła opanować .NET’a. Oprócz języka programowania, będącego tylko narzędziem, liczą się również znajomość dobrych praktyk programowania, wzorców projektowych czy chociażby umiejętność logicznego myślenia i rozwiązywania postawionych problemów. Tego właśnie powinny uczyć studia informatyczne, więc jeśli tylko uważaliście na zajęciach, nawet tych na pierwszym roku to śmiało możecie aplikować.

Dla przykładu jednym ze sztandarowych produktów Comarchu jest system napisany od początku w technologii .NET. Bardzo ważnym elementem systemu jest moduł BPM (Business Process Management), który oparty został o Microsoft Workflow Foundation i służy do automatyzacji procesów biznesowych występujących uklientów. Jest to technologia, która pozwala samodzielnie i bez specjalistycznej wiedzy modelować i budować nawet bardzo skomplikowane procesy biznesowe. Sam system został zaprojektowany w architekturze trójwarstwowej i podzielony na kilka modułów. Warstwa logiki biznesowej w całości napisana jest w języku C# i posiada wbudowane mechanizmy, które sprawiają, że system jest elastyczny i rozszerzalny. Po stronie prezentacji natomiast wykorzystywana jest technologia Windows Forms oraz Windows Presentation Foundation. „Pod spodem” wykorzystywana jest oczywiście baza danych oparta o silnik Microsoft SQL Server.

Zakres technologii wykorzystywanej w Comarchu jest ogromny, dlatego każdy zainteresowany znajdzie coś dla siebie.

Jak wygląda charakterystyka pracy na stażu w .NET?

Zakres obowiązków stażystów jest oczywiście całkowicie uzależniony od rodzaju projektu, który jest aktualnie przez nich realizowany. W przypadku projektów R&D, w pierwszej kolejności jest to wykonanie wstępnej analizy np. sprawdzenie dostępnych rozwiązań czy ocena wykorzystania określonej technologii. Następnym krokiem będzie przygotowanie projektu, a dopiero kolejnym będzie etap kodowania. Natomiast w przypadku projektów biznesowych na pewno wymagana będzie ścisła współpraca z analitykami biznesowymi czy zespołem testów oraz oczywiście innymi programistami.

Niezależnie od projektu, na każdym etapie stażyści mogą liczyć na pomoc bardziej doświadczonych kolegów i koleżanek. Duży nacisk kładziemy również na jakość kodu, jego przejrzystość i utrzymanie. Regularnie przeprowadzamy code review, aby na bieżąco sugerować zmiany oraz ulepszenia. Na cyklicznych spotkaniach sprawdzamy postępy i monitorujemy przebieg prac, jeżeli zachodzi potrzeba, dyskutujemy o różnych możliwych rozwiązaniach i wspólnie wybieramy te najlepsze.

Osoba rozpoczynająca staż będzie miała okazję nauczyć się korzystać z tego, co daje nam językiem C# i platforma .NET. Ale nie tylko język programowania jest ważny, istotne jest również to żeby wyrobić w sobie pewne dobre nawyki w programowaniu, które są uniwersalne i niezależne od języka czy technologii. Duży nacisk kładziemy na dobre poznanie i posługiwanie się wzorcami projektowymi. Każdy programista powinien wiedzieć co to jest GRASP i SOLID, znać wzorce projektowe i wiedzieć gdzie i, jak je stosować. Przedstawiamy zalety clean code i dlaczego tak ważne jest, aby dbać o jakość i czytelność kodu. To są umiejętności, które będą potrzebne prędzej czy później w codziennej pracy na stanowisku programisty, niezależnie od tego,  jaki język programowania będzie się wykorzystywać. – mówi Grzegorz Zima, Architecture Team Leader.

Część z Was pewnie zastanawia się dlaczego warto pracować akurat w .NET?

Niestety nie ma jednoznacznej odpowiedzi na to pytanie. Obecnie języki programowania i cała branża IT rozwijają się bardzo dynamicznie i trudno wskazać jeden wiodący język programowania, który miałby jakąś widoczną przewagę nad innym. Wiele zależy od własnych preferencji i upodobań, ale to trochę tak jakby dyskutować o tym, czy lepsze są lody o smaku czekoladowym, czy truskawkowym. Każdy zapewne będzie miał swoją opinię i myślę, że każdy będzie miał trochę racji. Ja osobiście podczas studiów programowałem głównie w Javie, aby później na stażu w Comarch rozpocząć przygodę z .NETem i tak już zostało. Myślę, że w pewnym momencie język programowania przestaje mieć znaczenie, staje się tylko narzędziem w rękach programisty, aby zrealizować wymagania, jakie stawia przed nim projekt. Jeżeli ktoś jeszcze nie poznał .NETa, to na pewno zachęciłbym go, aby to zrobił, ale nie dlatego by udowadniać wyższości jednej technologii nad drugą, jest to raczej naturalny proces poszerzania swojej wiedzy, nabierania nowych doświadczeń i umiejętności patrzenia na projekty w sposób bardziej abstrakcyjny. To projekt powinien nam determinować technologię, a nie odwrotnie –  dodaje Grzegorz Zima.

Jakie korzyści uzyska student decydując się na Comarch?

Tutaj trzeba zacząć przede wszystkim od tego, że staż daje naprawdę wielkie możliwości doświadczenia „na własnej skórze”, jak wygląda praca programisty przy dużym projekcie. Możecie robić naprawdę wiele różnych „studenckich” projektów, w pojedynkę lub ze znajomym, ale tak naprawdę prawdziwe doświadczenie nabiera się pracując nad komercyjnym oprogramowaniem. Dla adeptów programowania zespół architektury Comarch, będzie idealnym miejscem, umożliwiającym styczność z wieloma aspektami programowania. Nie tylko z pisaniem kodu, ale również z analizą i poprawą wycieków pamięci, analizowaniem wydajności zaimplementowanych rozwiązań, projektami R&D czy przygotowywaniem mechanizmów, z których będą korzystać inni programiści. Nikogo nie ominie również dbanie o jakość kodu do czego wykorzystuje się między innymi narzędzia do statycznej analizy kodu, a przede wszystkim mechanizm CI (ang. continuous integration). Każdy członek development teamu, ma nie tylko styczność z nowoczesnym środowiskiem programistycznym opartym na VisualStudio i Resharperze, ale również tworzy własne dedykowane narzędzia, które pomogą mu w codziennej pracy.

Wszelki informacje na temat stażów w Comarch znajdziecie pod adresem: kariera.comarch.pl/staze/staz-it, a w razie pytań piszcie na: staz@comarch.pl.

Artykuł ten powstał przy współpracy z firmą Comarch. Jest on siódmym z dziesięciu wpisów jakie ukażą się na blogu w ramach serii „Staż w Comarchu 2018”. Kolejny artykuł zostanie opublikowany za tydzień we wtorek 29.05.18. Już teraz zapraszam do lektury.

Przeczytaj również

, , , , , , , , , , , , , , , , , , ,