Zawód programisty od kilku lat owiewają liczne legendy, mity i plotki. Wśród nich są tematy zarobków, zakresu zadań, używanych technologii, czasu potrzebnego na przygotowanie do zawodu czy sposobów nauki programowania.
Postanowiliśmy odczarować tę profesję i wspólnie z serwisem Antyweb zorganizowaliśmy akcję „Miesiąc Programowania”. Przez cały miesiąc będziemy publikować wysokiej jakości materiały skierowanie do programistów oraz wszystkich osób, które chciałyby rozpocząć swoją przygodę z programowaniem.
Fot. unsplash.com
Mamy nadzieję, że historie te zainspirują Was do tego by zacząć przygodę z programowaniem i pewnego dnia tworzyć równie innowacyjne projekty. Zapraszamy do lektury!
Osoby zainteresowane rozpoczęciem kariery programisty mają do wyboru różne ścieżki rozwoju. Obecnie wielką popularnością cieszą się akademie programowania, takie jak chociażby Software Development Academy, dzięki którym nauczymy się podstaw wybranego języka pod okiem doświadczonych praktyków. Jak radzili sobie początkujący programiści gdy na rynku nie było jeszcze takich rozwiązań? Zobaczmy co na ten temat mają do powiedzenia osoby, które tworzyły jeden z najciekawszych startupów w ostatnim czasie. Poznajcie developerów aplikacji JustDrive.
Programista-gamer
Łukasz Zajączkowski – Software Analyst – C#. Technologie EF, ASP.NET MVC, ASP.NET Core, XNA, C++, SFML
Jak zaczynałeś swoją przygodę z programowaniem?
Słowem wstępu: odkąd pamiętam jestem hardcore’owym gamerem. Atarynka, NES, Gameboy, Pegasus, PC, PlayStation — bez znaczenia, jeśli dało się na tym grać, to grałem (i w sumie nadal gram). Z tego względu zetknąłem się z kodem na etapie projektowania mojej pierwszej w życiu gry. Z magazynu CD Action dowiedziałem się o czymś takim jak RPG Maker XP i od razu zacząłem z niego korzystać. Wbudowane funkcjonalności w końcu nie były wystarczające, więc doszedłem do wniosku, że pora na naukę programowania — bo w końcu wtedy będę mógł zrobić, co tylko zechcę. Dowiedziałem się o czymś takim jak XNA i po raz pierwszy zetknąłem się ze słowem framework. Wyczytałem też, że framework XNA do tworzenia gier pisany jest w środowisku Visual Studio i wykorzystuje C#. Jako młody chłopak pełen zapału od razu skoczyłem do Empiku i kupiłem praktycznie wszystkie pozycje traktujące o tym języku programowania.
Nauczyłem się wtedy między innymi o warunkach, switchach, pętlach, metodach i obiektach. Pisałem w XNA coraz więcej, aż zobaczyłem w internecie kurs o ASP.NET MVC dotyczący tworzenia rozwiązań webowych. Stwierdziłem, że każde indie studio musi mieć własną stronę, a jako że na tym etapie znałem już C# i HTML, nie było lepszego wyboru niż ASP.NET MVC. Lata mijały, a ja tworzyłem coraz więcej aplikacji webowych, a coraz mniej moich “pseudogier”. W końcu natrafiłem na Xamarina i zakochałem się w appbizie. Pisanie aplikacji na różne urządzenia stało się moją pasją — i nadal nią jest. Fastforward: teraz jestem członkiem zespołu JustDrive, gdzie robię to, co kocham.
Co Cię zmotywowało do dołączenia do projektu JustDrive?
Nie będę oryginalny mówiąc, że lubię wyzwania. Perspektywa pracy w start-upie wyglądała zachęcająco, szczególnie biorąc pod uwagę liczne możliwości rozwoju i możliwość samodzielnego kształtowania produktu. Do zespołu dołączyłem jako analityk biznesowo-systemowy, od czasu do czasu grzebiąc w kodzie, jeśli zajdzie taka potrzeba. Jednakże przede wszystkim skusiło mnie to, że projekt ma na celu uproszczenie świata kierowców. Tankowanie bez stania w kasie, car sharing i inne funkcjonalności na naszej roadmapie są jedynie początkiem — za pomocą naszej aplikacji jesteśmy w stanie zmienić świat motoryzacji. Dzięki nam cała branża automotive przeżyje swoisty renesans. Poza samą ideą przekonały mnie osoby, z którymi miałem pracować. Już przed dołączeniem do projektu odbyło się spotkanie, gdzie poznałem każdego członka zespołu z osobna. Przy projekcie pracują specjaliści w swoich dziedzinach — krótko mówiąc, ciężko byłoby znaleźć drugi taki zespół.
„Tato, zobacz mój pierwszy program”
Kamil Starczak – Senior Software Engineer – C# (.NET), C, C++, R
Jak zaczynałeś swoją przygodę z programowaniem?
Programowaniem zainteresowałem się dość wcześnie, około dziesiątego roku życia, za sprawą mojego taty, który również jest programistą. Nie znaczy to, że początki były łatwe. Związana jest z tym anegdota, którą często powtarza tata o tym, jak to często przychodziłem do niego z prośbą, aby nauczył mnie programować. W tamtym czasie nie miał akurat na to czasu (a może po prostu nie doceniał potencjału dziesięciolatka?), więc za każdym razem kiedy pytałem “tato, nauczysz mnie programować?“, odpowiadał “tak, ale nie dzisiaj”. Aż do pewnego razu, kiedy zamiast “tato, nauczysz mnie programować?” powiedziałem: “tato, zobacz mój pierwszy program”. Po prostu sam usiadłem do książki i nauczyłem się podstaw (to chyba była książka “Pascal – to proste” – choć na dzień dzisiejszy nie polecam nikomu zaczynać nauki od Pascala).
Ten początek przygody z programowaniem wiele mnie nauczył. Większość z tego co dziś umiem musiałem nauczyć się sam, chociaż oczywiście studia wyższe dają do tego solidną podstawę, a rozmowa z osobą bardziej doświadczoną pozwala rozwiać wiele wątpliwości i uzyskać rady przydatne przy dalszej nauce. Jednak na początek nauki programowania najważniejsza wydaje mi się samodzielna nauka – czy to czytanie książek z tym związanych, czy przeglądanie blogów albo kursów dostępnych w Internecie, czy wreszcie tworzenie samodzielnych projektów.
Co zmotywowało Cię do dołączenia do projektu JustDrive?
Kiedy dowiedziałem się o projekcie JustDrive najbardziej zmotywowało mnie to, że mam okazję stworzyć coś własnego. Większość projektów, w których dotąd uczestniczyłem, dotyczyły wewnętrznego oprogramowania używanego przez pracowników Klienta, więc po zakończeniu projektu zazwyczaj nigdy więcej nie widziałem już stworzonego przeze mnie programu na oczy. W przypadku JustDrive jest inaczej – mamy szansę stworzyć coś, z czego korzystać będzie wiele osób i co naprawdę uprości korzystanie z samochodu (sam miałem okazję przez dwa miesiące testów korzystać z JustDrive i ciężko było mi się z powrotem przestawić na “stary” sposób tankowania). Bardzo motywująca jest dla mnie też strona techniczna projektu JustDrive. Od początku założyliśmy sobie bardzo ambitne cele dotyczące używanych technologii i architektury, dzięki czemu miałem okazję bardzo wiele się nauczyć i stworzyć coś, z czego jestem naprawdę dumny.
Robotyka krokiem do stanowiska programisty
Łukasz Dzwoniarski – Senior Software Engineer – C#, C, C++, java, swift, lua, python, R
Jak zaczynałeś swoją przygodę z programowaniem?
Pewnie jak większość programistów zaczynałem już w czasach licealnych od HTML i języka C. Na studia poszedłem na robotykę ponieważ jeszcze do końca nie wiedziałem czy programowanie to jest to co chcę robić, a robotyka była fajnym połączeniem wszystkiego co mnie interesowało (Elektronika, mechanika, programowanie). W czasie studiów poznałem kolejne języki takie jak Java, C++, C# i ten ostatni właśnie najbardziej przypadł mi do gustu. Fajnym pomysłem na rozwijanie swoich umiejętności są kursy takie jak np. CS 50 prowadzony online na Harvardzie czy rozwiązywanie zadań na SPOJU.
Pierwsza praca była przypadkiem i ukierunkowała mnie do pisania aplikacji mobilnych najpierw na Windows Phone, a potem wreszcie Xamarin. Miałem duże szczęście na samym początku swojej pracy ponieważ trafiłem na doświadczonego programistę, który nauczył mnie porządku w kodzie i tzw. dobrych praktyk programistycznych. To bardzo ważne żeby od samego początku wyrobić u siebie dobre praktyki, to znacznie ułatwia dalszą pracę.
Co Cię zmotywowało do dołączenia do projektu JustDrive?
Wcześniej pracowałem w Poznaniu. Kiedy usłyszałem o tym projekcie, wiele się nie zastanawiałem. Spakowałem się i przyjechałem do Warszawy, ponieważ uważam, że JustDrive jest dla ludzi takich jak ja, czyli ceniących sobie czas. Żyjemy w takim tempie, że każda minuta jest na wagę złota. Zdecydowałem się na ten projekt ponieważ wiedziałem, że robię coś dla siebie. Mam własną działalność gospodarczą, a dzięki takiej aplikacji jak JustDrive comiesięczne rozliczanie się staje się proste z jedną fakturą. Lubimy jeździć samochodami, więc jak najmniej czasu powinny zajmować nam pozostałe czynności takie jak właśnie tankowanie.
Od gracza MMORPG do stanowiska Team Leadera
Marcin Lach – Team Leader – C# i JavaScript
Jak zaczynałeś swoją przygodę z programowaniem?
Moja przygoda z programowaniem zaczęła się od grania w gry MMORPG. Gdzieś pod koniec liceum pojawił się pomysł ustawienia własnego serwera do gry. Początkowo moje programowanie skupiało się głównie na pisaniu skryptów w Lua i drobnych modyfikacji strony WWW pisanej w PHP. Kolejnym krokiem były proste gry pisane w XNA, dzięki czemu poznałem C#. Konsekwencją tych zabaw było pójście na studia informatyczne, dzięki czemu miałem okazję spojrzeć szerzej na poszczególne dziedziny informatyki i poznać ich podstawy. Na drugim roku studiów zatrudniłem się jako webdeveloper w małej firmie, gdzie koledzy z większym stażem wskazali mi czego się uczyć. Dzięki podstawom wyniesionym ze studiów i wskazówkom kolegów szybko uczyłem się nowych rzeczy. Później przeszedłem do dużej firmy informatycznej gdzie pracowałem nad dużym systemem ERP.
Zespół programistyczny składał się wtedy z około 50-60 osób, specyfika pracy była zdecydowanie inna, niż w poprzedniej pracy, gdzie zespół był mniejszy. Jednak znów trafiłem na bardzo dobry zespół, który stawiał na jakość kodu i od samego początku wskazywał mi drogę. Miałem tu okazję doskonalić się w tworzeniu aplikacji webowych, poznać Domain Driven Design, a także stworzyć dwie aplikacje mobilne w Xamarinie. Doświadczenie zdobyte przy pisaniu aplikacji mobilnych sprawiło, że zostałem zaproszony do projektu JustDrive, gdzie aktualnie wykorzystuję swoją wiedzę zdobytą w poprzednich latach. Praca programisty wymaga ciągłego poszerzania wiedzy. Od początku mojej przygody z programowaniem poświęcam dużo czasu na rozwój swoich umiejętności. Początkowo była to nauka języków programowania, później różnej maści frameworków, a następnie wzorców projektowych.
Co Cię zmotywowało do dołączenia do projektu JustDrive?
Przeszedłem do JustDrive jako jeden z pierwszych programistów i uczestniczyłem w upraszczaniu świata motoryzacji od samego początku projektu. Do pracy przy JustDrive przekonało mnie nastawienie na rozwój kompetencji i chęć uczenia się wszystkich członków zespołu. Do projektu byli angażowani jedynie specjaliści w swoich dziedzinach otwarci na poszerzanie wiedzy spoza swojej specjalizacji. I tak specjaliści od aplikacji mobilnych mieli okazję zobaczenia w jaki sposób projektuje się backend w podejściu DDD, umieszony w chmurze, a z kolei backendowcy poznali sposób tworzenia aplikacji przy użyciu Xamarina.
Początkowo miałem zajmować się głównie przygotowaniem aplikacji mobilnej, jednak doświadczenie z poprzedniego projektu pozwoliło mi być łącznikiem między aplikacją mobilną i backendem. Już od pierwszych dni projektu widoczny był zapał, z jakim wszyscy uczestniczyliśmy w pracach nad stawianymi nam wyzwaniami, a każdy nowy członek tylko utwierdzał mnie w przekonaniu, że zespół jest tworzony z samych specjalistów. Sam produkt też mnie zaciekawił. Nastawienie na rozwiązywanie problemów i upraszczanie życia kierowców bardzo mi się spodobało. Każdy członek zespołu ma bardzo duży wpływ na ostateczny kształt rozwiązania, może wysuwać swoje propozycje i sugestie – i nie mówię tu tylko o rozwiązaniach w sferze kodu.
Artykuł powstał we współpracy z ITMAGINATION