Zostań programistą otwartego oprogramowania

Autor: Morris Wright
Data Utworzenia: 24 Kwiecień 2021
Data Aktualizacji: 1 Lipiec 2024
Anonim
Jak nauczyć się programowania i zostać programistą?
Wideo: Jak nauczyć się programowania i zostać programistą?

Zawartość

Pisanie i korzystanie z otwartego oprogramowania to nie tylko forma programowania (w świecie programistów nazywana również „hackingiem”), to swego rodzaju filozofia. Chociaż potrzebujesz tylko znać język programowania, aby móc kodować, ten artykuł dotyczy tego, jak dołączyć do społeczności, nawiązywać przyjaźnie, współpracować przy wspaniałych projektach i zostać szanowanym specjalistą z profilem, którego nie możesz zdobyć nigdzie indziej. W świecie otwartego oprogramowania dość łatwo można przypisać zadania, które w firmie mogą wykonywać tylko elitarni programiści z najwyższego poziomu. Pomyśl, ile doświadczenia może ci to przynieść. Jednak gdy zdecydujesz się zostać programistą otwartego oprogramowania, musisz być gotów poświęcić czas na ten cel. Dotyczy to również osób, które są już studentami informatyki. Pamiętaj, że ten artykuł nie dotyczy tego, jak zostać hakerem lub crackerem.

Do kroku

  1. Pobierz dobrą dystrybucję Uniksa. GNU / Linux jest jednym z najpopularniejszych w programowaniu, ale powszechnie używane są również GNU Hurd, BSD, Solaris i (do pewnego stopnia) Mac OS X.
  2. Dowiedz się, jak korzystać z wiersza poleceń. Jeśli używasz wiersza poleceń, możesz zrobić znacznie więcej w systemach operacyjnych typu Unix.
  3. Naucz się kilku popularnych języków programowania, aż osiągniesz mniej lub bardziej zadowalający poziom. W przeciwnym razie nie możesz wnosić kodu (najważniejszej części każdego projektu oprogramowania) do społeczności otwartego oprogramowania. Niektóre źródła sugerują rozpoczęcie od dwóch języków naraz: jednego języka systemu (C, Java lub podobny) i języka skryptowego (Python, Ruby, Perl lub podobny).
  4. Aby być bardziej produktywnym, potrzebujesz NetBeans lub podobnego zintegrowanego środowiska programistycznego.
  5. Naucz się korzystać z zaawansowanego edytora, takiego jak vi lub Emacs. Mają wyższą krzywą uczenia się, ale możesz z nimi zrobić znacznie więcej.
  6. Dowiedz się więcej o kontroli wersji. Kontrola wersji jest prawdopodobnie najważniejszym narzędziem współpracy przy tworzeniu współdzielonego oprogramowania. Dowiedz się, jak tworzyć i stosować poprawki. Większość rozwoju otwartego oprogramowania w społeczności odbywa się poprzez tworzenie, omawianie i stosowanie różnych poprawek.
  7. Znajdź odpowiedni, mały otwarty projekt oprogramowania, w którym z łatwością możesz wziąć udział, aby zdobyć doświadczenie. Większość takich projektów można obecnie znaleźć na SourceForge.net. Odpowiedni projekt powinien zawierać:
    1. Użyj języka programowania, który znasz.
    2. Bądź aktywny dzięki najnowszym wydaniom.
    3. Składa się już z trzech do pięciu programistów.
    4. Aby użyć kontroli wersji.
    5. Miej część, od której możesz zacząć od razu, bez konieczności zbyt dużej zmiany istniejącego kodu.
    6. Oprócz kodu dobry projekt ma również aktywne listy dyskusyjne, raporty o błędach, pobiera i wdraża prośby o ulepszenia i podobne działania.
  8. Skontaktuj się z administratorem wybranego projektu. W małym projekcie z kilkoma programistami Twoja pomoc jest zwykle akceptowana natychmiast.
  9. Przeczytaj uważnie zasady projektu i mniej więcej przestrzegaj ich. Zasady stylu programowania czy potrzeba udokumentowania zmian w osobnym pliku tekstowym mogą początkowo wydawać się absurdalne. Jednak celem tych reguł jest umożliwienie wspólnej pracy - i większość projektów z nimi współpracuje.
  10. Pracuj nad tym projektem przez kilka miesięcy. Posłuchaj uważnie, co ma do powiedzenia administrator i inni członkowie projektu. Oprócz programowania musisz się wiele nauczyć. Ale jeśli naprawdę coś ci się nie podoba, po prostu zatrzymaj się i przejdź do innego projektu.
  11. Nie utknij zbyt długo w podziemnym projekcie. Kiedy już będziesz w stanie z powodzeniem pracować w tym zespole, czas zacząć szukać czegoś poważniejszego.
  12. Poszukaj poważnego, otwartego oprogramowania wysokiego poziomu lub projektu open source. Większość takich projektów jest własnością organizacji GNU lub Apache.
  13. Ponieważ robimy tutaj poważny skok, trzeba liczyć się z dużo mniej ciepłym przyjęciem. Najprawdopodobniej zostaniesz poproszony o uruchomienie po raz pierwszy bez bezpośredniego dostępu do zapisu w repozytorium kodu. Jednak poprzedni podziemny projekt powinien był cię wiele nauczyć - więc po kilku miesiącach wnoszenia produktywnego wkładu możesz domagać się praw, które Twoim zdaniem powinny być.
  14. Podejmij się poważnego zadania i rozwiąż go. Już czas. Nie bój się. Kontynuuj, nawet jeśli okaże się, że zadanie jest znacznie trudniejsze niż początkowo sądziłeś - na tym etapie ważne jest, aby się nie poddawać.
  15. Jeśli możesz, zgłoś się do Google „Summer of Code”, aby zainwestować trochę pieniędzy w tę przygodę. Ale nie martw się, jeśli aplikacja nie zostanie przyjęta, ponieważ mają znacznie mniej finansowanych pozycji niż naprawdę dobrych programistów.
  16. Znajdź odpowiednią konferencję odbywającą się w pobliżu („dni Linuksa” lub podobne) i spróbuj zaprezentować tam swój projekt (cały projekt, a nie tylko część, którą programujesz). Po tym, jak wspomnisz, że reprezentujesz poważny projekt darmowy / open source, organizatorzy często zwolnią Cię z opłaty konferencyjnej (jeśli nie, konferencja i tak będzie prawdopodobnie nieodpowiednia). Przynieś laptopa z systemem Linux (jeśli go masz) i uruchom kilka wersji demonstracyjnych. Zapytaj kierownika projektu o materiały, których możesz użyć do przygotowania prezentacji lub plakatu.
  17. Przeszukaj Internet w poszukiwaniu ogłoszeń o najbliższym wydarzeniu instalacyjnym i spróbuj najpierw wziąć w nim udział jako użytkownik (zwróć uwagę na wszystkie pojawiające się problemy i sposób, w jaki hakerzy je naprawiają) i zaproponuj zainstalowanie programów następnym razem.
  18. Wykonaj zadanie, sprawdź swoją pracę za pomocą testów automatycznych i wnieś swój wkład w projekt. Gotowe! Dla pewności spróbuj osobiście spotkać się z niektórymi programistami projektu i wspólnie podnieś szklankę piwa na wynik.
  19. Aby lepiej zrozumieć, spójrz na prawdziwy przykład historii rozwoju projektu otwartego oprogramowania (patrz powyżej). Każda rosnąca krzywa reprezentuje wkład (linie kodu) od pojedynczego programisty. Deweloperzy z wiekiem stają się mniej aktywni, ale projekt często przyspiesza, nawet gdy dołączają nowe osoby. Więc jeśli przyjedziesz z kilkoma przydatnymi umiejętnościami w kieszeni, nie ma powodów, dla których zespół nie powinien cię zapraszać.

Porady

  • Zanim zapytasz o praktyczne wymagania w ramach projektu, poszukaj odpowiedzi w dokumentacji projektowej i archiwum list mailingowych.
  • Zawsze próbuj dokończyć rozpoczęte prace programistyczne. Nie można zbudować, nie można uruchomić, system się zawiesza? Tam być przyczyny wszystkiego, a jeśli masz kod źródłowy, zwykle oznacza to, że masz system dobrze może zmusić Cię do robienia wszystkiego, co chcesz, zwłaszcza z pomocą niektórych informacji online. Ta zasada ma oczywiście swoje ograniczenia, ale rzeczywiście ważne jest, aby nigdy nie poddawać się zbyt łatwo.
  • Nazwij siebie programistą (lub hakerem) dopiero po tym, jak zostaniesz rozpoznany jako taki przez część prawdziwej społeczności hakerów.
  • Na początek wybierz klasę, moduł lub inną jednostkę, w której obecnie nikt nie pracuje bardzo aktywnie. Wspólna praca w tej samej klasie lub nawet na tym samym stanowisku wymaga większych umiejętności i troski ze wszystkich stron.
  • Wydaje się, że pracodawcy niektórych hakerów / programistów są wystarczająco zmotywowani, aby pozwolić na wkład w godzinach pracy (zwykle dlatego, że instytucja korzysta z bezpłatnego / otwartego programu, który opracowuje programista). Pomyśl, może uda ci się w ten sposób uzyskać przynajmniej część potrzebnego czasu.
  • Jeśli nadal nie masz do siebie wystarczającego zaufania, zacznij od jakiejś części kodu, której Twoim zdaniem brakuje i którą można napisać od zera. Znacznie częściej krytykuje się zmiany w istniejącym kodzie.

Ostrzeżenia

  • Twój status hakera w projekcie społecznościowym bardziej odzwierciedla Twoją teraźniejszość niż przeszłość.Jeśli chcesz otrzymać rekomendację lub coś podobnego od lidera projektu, zapytaj, czy nadal aktywnie uczestniczysz.
  • Nie zajmuj się małymi optymalizacjami kodu, dodatkowymi komentarzami, ulepszeniami stylu kodowania i innymi podobnymi rzeczami „na małą skalę”. Może to spotkać się z dużo większą krytyką niż poważny wkład. Zamiast tego można uwzględnić te zmiany w jednej poprawce „czyszczącej”.
  • Jeśli planujesz osobiście spotkać się z hakerami otwartego oprogramowania, zostaw laptopa z systemem Windows w domu. Mac OS jest nieco bardziej tolerowany, ale nie jest też mile widziany. Jeśli zabierasz ze sobą laptopa, musi on działać pod kontrolą Linuksa lub innego systemu operacyjnego, który uważają za „otwarte oprogramowanie”.
  • Jeśli Twój klient poczty e-mail obsługuje wiadomości HTML, należy wyłączyć tę funkcję. Nigdy nie załączaj dokumentów, które tylko komercyjne oprogramowanie (takie jak Microsoft Word) może otworzyć poprawnie. Hakerzy uważają to za obraźliwe.
  • Nie bierz udziału w projektach firmy, której kod nie jest objęty zatwierdzoną licencją typu open source. W takich przypadkach naprawdę ważne części projektu prawdopodobnie pozostaną za zamkniętymi drzwiami właściciela, uniemożliwiając naukę czegokolwiek pożytecznego.
  • Unikaj pytań dotyczących podstaw programowania lub narzędzi programistycznych. Czas wolnego programisty jest cenny. Zamiast tego omów podstawy programowania w amatorskich lub początkujących grupach programistów.
  • Założone i odnoszące duże sukcesy projekty mogły mieć pisemne lub niepisane zasady dotyczące nigdy nie zwracania kosztów Twojej pracy (brak pieniędzy, brak możliwości promowania się, brak podwyższonego statusu niezależnie od wkładu itp. - patrz: Do_not_expect_reward Wikipedia). Jeśli nie możesz się z tym zgodzić, trzymaj się bardziej wspólnych projektów, na które nie stać.
  • Nie rozpoczynaj własnego projektu, chyba że zawsze chcesz spędzić go w dumnej samotności. Z tego samego powodu lepiej nie podejmować próby ożywienia porzuconego już projektu, który utracił już jego poprzedni zespół.
  • W przypadku nieformalnego spotkania na temat projektu, do którego nigdy nie włożyłeś żadnego kodu, będziesz miał nieprzyjemne uczucie całkowitego zignorowania. Nie martw się, niektórzy hakerzy mogą stać się dobrymi przyjaciółmi później, gdy zdobędziesz ich szacunek własnym kodem.
  • Duże otwarte projekty oprogramowania, szczególnie te w domenie GNU, nie traktują swojej pracy jako osobistej firmy. Po otrzymaniu pracy w firmie zajmującej się oprogramowaniem proszą pracodawcę o podpisanie określonych umów [1], które firma podpisze lub nie podpisze. Może to zmusić Cię do wyboru projektu o mniej rygorystycznych wymaganiach.

Potrzeby

  • Linux. Wiele projektów otwartego oprogramowania jest trudniejszych do zbudowania w systemie Windows lub w ogóle nie jest zbudowanych poprawnie. Dotyczy to zwłaszcza zaawansowanych projektów poświęconych programowaniu telefonów komórkowych, kluczy USB i innych urządzeń.
  • Komputer ze stosunkowo dobrym połączeniem internetowym. Jeśli chcesz zachować podwójny rozruch w systemie Windows, dobrym rozwiązaniem może być drugi dysk twardy lub partycja dla systemu Linux.
  • Podstawowa znajomość przynajmniej jednego języka programowania i chęć nauczenia się więcej. Obecnie najpopularniejszymi językami są C i Java.
  • Znaczna ilość czasu, co najmniej pięć godzin tygodniowo (typowy hardkorowy programista zajmuje aż 14 godzin).
  • Chociaż formalna edukacja informatyczna znacznie ułatwi ci drogę, to jest to nie wymóg obowiązkowy i żadna prawdziwa społeczność hakerów nigdy Cię o to nie zapyta. Programiści / hakerzy oceniają się nawzajem na podstawie czyjegoś programu, a nie fałszywych kryteriów, takich jak oceny, wiek, rasa czy stanowisko. Pamiętaj, że co najmniej 60% hakerów open source, którzy oceniają twoje poprawki, ma „poprawne” wykształcenie wyższe i nie pozwoli ci wnosić bzdur do projektu.
  • Na końcowych etapach (konferencja i „impreza instalacyjna”) możesz skorzystać z własnego laptopa. Ale praca nad nim w domu nie jest w porządku, więc kup tylko jedną, jeśli możesz sobie pozwolić na drugą maszynę.
  • Opisana ścieżka zostania „hakerem” oprogramowania typu open source zajmuje co najmniej dwa lata.