Czy pasjonuje Cię idea otwartego oprogramowania i marzysz o karierze programisty w tym obszarze? Jeśli tak, to doskonale trafiłeś!
Pojęcie „open source” odnosi się do oprogramowania o otwartym kodzie źródłowym, lecz w rzeczywistości jest to znacznie bardziej złożona i dynamiczna dziedzina.
W tym artykule zagłębimy się w szczegóły tego zagadnienia, a także pokażemy Ci, jak zostać programistą open source.
Zacznijmy więc!
Kim jest programista Open Source?
Programiści open source to osoby, które aktywnie uczestniczą w tworzeniu i rozwijaniu oprogramowania udostępnianego na licencjach open source. Innymi słowy, jeśli dodajesz swój wkład do projektów o otwartym kodzie źródłowym, z definicji jesteś programistą open source.
Jednak rola programisty open source wykracza daleko poza samo dostarczanie kodu.
Programista specjalizujący się w open source doskonale orientuje się w tym ekosystemie. Ma szeroką wiedzę o tym, jak działa oprogramowanie o otwartym kodzie, jak można do niego wnosić wkład, jakie są rodzaje licencji oraz jak współpracować z innymi programistami w celu stworzenia najlepszego możliwego oprogramowania. Z tego powodu programiści open source są bardzo pożądani na rynku pracy.
Rynek open source jest bardzo dynamiczny i istnieje duże zapotrzebowanie na specjalistów w następujących technologiach:
- Technologie chmurowe i konteneryzacja
- Cyberbezpieczeństwo
- DevOps
- Technologie internetowe
- Blockchain
- Technologie przechowywania danych
- Sztuczna inteligencja i uczenie maszynowe
- Przetwarzanie brzegowe
Teraz przejdźmy do omówienia obowiązków programisty open source.
Obowiązki programisty Open Source
Zakres Twoich obowiązków jako programisty open source będzie zależał od wielu czynników, takich jak Twoje doświadczenie, poziom zaangażowania i umiejętności. Zasadniczo jednak praca ta polega na dodawaniu nowego kodu lub naprawianiu błędów. Programiści open source muszą także dbać o aspekt społecznościowy w projektach open source.
Jeśli posiadasz solidne umiejętności kodowania, na pewno będziesz miał okazję do wnoszenia wkładu w podstawowy kod projektu. Może to obejmować implementację nowych funkcji do bazy kodu lub optymalizację istniejącego kodu w celu poprawy wydajności.
Dodatkowo, konieczne będzie rozwiązywanie problemów i monitorowanie błędów. Ponieważ w projektach open source każdy może wnosić swój wkład, te projekty z czasem rozrastają się do sporych rozmiarów. W związku z tym, do zarządzania zadaniami, nowymi funkcjami i raportami o błędach, menedżerowie projektów korzystają z odpowiednich systemów do śledzenia problemów.
Będziesz także uczestniczył w przeglądach kodu, aby zapewnić jego spójność i wysoką jakość.
W zależności od Twojej roli, możesz być odpowiedzialny za wykonywanie następujących zadań:
- Testowanie i zapewnienie jakości oprogramowania
- Zbieranie wymagań projektowych
- Udzielanie się w społeczności projektu
- Zapewnienie kompatybilności z poprzednimi wersjami
- Zarządzanie wydaniami
- Zapewnienie bezpieczeństwa projektu
- Tworzenie odpowiedniej dokumentacji (zarówno wewnętrznej, jak i publicznej)
- Tłumaczenie
W kolejnej części artykułu skupimy się na karierze w open source.
Dlaczego kariera Open Source?
Kariera w dziedzinie open source cieszy się dużym zainteresowaniem. Coraz więcej firm udostępnia swoje projekty jako open source. W rzeczywistości, gdy przyjrzymy się bliżej różnym technologiom, przekonamy się, że większość z nich opiera się właśnie na otwartym kodzie. W końcu im więcej osób ma wgląd w kod oprogramowania, tym lepsze się ono staje.
Udostępnianie kodu pozwala także firmom obniżać koszty, ograniczać ryzyko biznesowe i zwiększać ogólną jakość projektów.
Wszystko to oznacza, że jako programista open source masz większe szanse na znalezienie pracy w firmach, które działają w tej sferze. Według raportu „Open Source Jobs Report 2022”, menedżerowie aktywnie poszukują kandydatów na stanowiska związane z open source.
Raport o pracy w Open Source 2022 wskazuje, że 86% menedżerów rekrutacji poszukuje specjalistów z doświadczeniem w open source. Dodatkowo, 46% menedżerów zadeklarowało chęć zwiększenia zatrudnienia pracowników specjalizujących się w oprogramowaniu o otwartym kodzie źródłowym.
Źródło: training.linuxfoundation.org
Badanie ujawniło także, że 93% menedżerów ma problem ze znalezieniem odpowiednich specjalistów z dziedziny open source. Według nich, większości kandydatów brakuje praktycznego doświadczenia z oprogramowaniem open source.
Raport podkreśla także kluczowe umiejętności, których poszukują pracodawcy. Menedżerowie rekrutacji oczekują od kandydatów posiadania następujących umiejętności:
- Zdolność do projektowania rozwiązań
- Praktyczne umiejętności pracy z GitHubem
- Doświadczenie w prowadzeniu projektów i wnoszeniu wkładu do projektów open source
- Znajomość nowych narzędzi
Z perspektywy kandydata, kariera w open source oferuje wiele korzyści. Należą do nich:
- Praca z najnowszymi technologiami i infrastrukturą
- Współpraca z doświadczonymi specjalistami z całego świata
- Doskonałe możliwości rozwoju zawodowego
- Możliwość pracy nad projektami, które Cię pasjonują
Jak zostać programistą Open Source?
Aby stać się kompetentnym i wykwalifikowanym programistą open source, powinieneś zacząć od małych kroków. Najważniejsze jest poznanie, jak działa open source. Najlepszym sposobem na to jest zdobycie praktycznych umiejętności poprzez wnoszenie wkładu w rozwój oprogramowania open source.
#1. Zrozumienie komponentów projektu Open Source
Aby rozpocząć swoją przygodę z open source, musisz zrozumieć jego istotę i sposób działania. Ważne jest, aby zdawać sobie sprawę, że projekty open source to w istocie praca ludzi nad konkretnymi problemami. W skład zespołu projektowego wchodzą m.in. opiekunowie projektu, współpracownicy, społeczność oraz użytkownicy/klienci.
Inne kluczowe elementy projektu open source to:
- Repozytorium kodu źródłowego i dokumentacji
- Podręcznik użytkownika
- Licencje, które określają warunki dystrybucji oprogramowania
- Kultura projektu
- Kodeks postępowania
- Proces dystrybucji oprogramowania
Każdy z tych elementów ma kluczowe znaczenie dla sukcesu projektu open source. U podstaw tego wszystkiego leży także system kontroli wersji (VCS), taki jak Git.
#2. Zaczynając od małego
Według Radka Pazdery, warto zaczynać od mniejszych zadań. Pomoże Ci to uniknąć poczucia przytłoczenia ogromem projektu, który może zawierać bardzo dużą bazę kodu. Jeśli spróbujesz od razu zgłębić wszystko, szybko poczujesz się zagubiony. Rozpoczęcie od czegoś mniejszego pozwoli Ci skupić się na tym, co najbardziej Cię interesuje i utrzymać motywację w całym procesie.
#3. Nauka o podstawach wkładu Open Source
Najlepszym sposobem na zostanie programistą open source jest poznanie podstawowych zasad. Zasadniczo chodzi o to, że kod wymaga ciągłych modyfikacji, weryfikacji i ulepszeń w trakcie całego swojego cyklu życia.
Ekosystem open source jest ogromny. Co więcej, większość projektów jest sponsorowana przez konsorcja lub firmy software’owe. Nawet firmy, które tworzą oprogramowanie o zamkniętym kodzie, korzystają z rozwiązań open source do budowania swoich produktów.
Jeśli nie masz doświadczenia z open source, najlepszym pomysłem będzie odwiedzenie GitHuba i poszukanie projektów, które Cię interesują. Możesz przejrzeć dokumentację projektu, taką jak pliki CONTRIBUTING i README, aby dowiedzieć się o jego szczegółach. Dokumentacja projektu jest także świetnym źródłem informacji, ponieważ zawiera instrukcje i tutoriale.
Gdy już poczujesz się pewniej, przygotuj środowisko deweloperskie i zacznij wnosić swój wkład.
#4. Utrzymuj linię komunikacyjną otwartą
Angażując się w projekt open source, powinieneś także poświęcić czas na budowanie relacji ze społecznością. Dołącz do kanału IRC i listy mailingowej projektu. Dzięki temu będziesz na bieżąco z tym, co dzieje się w projekcie. Jest to również przydatne dla początkujących, którzy mogą potrzebować pomocy w określeniu, od czego zacząć.
Możesz także bezpośrednio wysłać e-mail do twórców i opiekunów projektu, aby uzyskać wsparcie. Ludzie pracujący nad projektami open source są zazwyczaj pomocni i mogą Cię poprowadzić przez cały proces. Pamiętaj jednak, aby nie zawracać im głowy z podstawowymi pytaniami. W takich przypadkach skorzystaj z forów lub list mailingowych.
Gdy zaczniesz wnosić swój wkład w projekt, zostaniesz zauważony. To właśnie wtedy zaczną się pojawiać szanse na zatrudnienie.
#5. Zdobycie pracy w Open Source
Istnieją dwie ścieżki do zdobycia pracy w open source: tradycyjna i poprzez zaangażowanie w projekty.
Zacznijmy od ścieżki tradycyjnej.
W tym przypadku wyszukujesz oferty pracy na portalach rekrutacyjnych lub stronach internetowych firm i aplikujesz na nie. Możesz także skorzystać z LinkedIn, aby dowiedzieć się więcej o kulturze firmy i oferowanych stanowiskach.
Jeśli nie widzisz otwartych ofert pracy w interesującym Cię projekcie open source, możesz skontaktować się z programistami lub opiekunami projektu i zapytać o możliwości zatrudnienia. Czasami firmy są skłonne rozważyć zatrudnienie kandydata, który wyróżnia się swoimi umiejętnościami.
Innym sposobem na znalezienie pracy jest bycie zauważonym dzięki swojemu wkładowi w projekty open source.
W jednym z moich wcześniejszych artykułów omawiałem, jak można zostać zauważonym poprzez swoją aktywność w open source. Kluczem jest ciągłe publikowanie i dzielenie się swoimi osiągnięciami, aż ktoś Cię dostrzeże. Kiedy Twój wkład stanie się znaczący, będziesz w doskonałej pozycji, aby znaleźć pracę.
Ostatnie słowa
Twoja przygoda z open source zaczyna się od wnoszenia wkładu w projekty. Niektórzy kandydaci uczą się technologii już w trakcie wykonywania pracy. Jednak zdecydowanie zaleca się, aby samodzielnie zdobywać wiedzę i doświadczenie, co pozwoli Ci wyróżnić się na tle konkurencji.
Dodatkowo, stanowiska związane z oprogramowaniem open source są najczęściej zdalne, co pozwala na zachowanie lepszej równowagi między życiem zawodowym a prywatnym, a także na dalsze angażowanie się w inne projekty w czasie wolnym.
Na koniec, zapoznaj się z bibliotekami TypeScript i środowiskiem wykonawczym, aby doskonalić swoje umiejętności jako programista.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.