JavaRush /Blog Java /Random-PL /Przerwa kawowa #55. 4 wskazówki, jak znaleźć społeczność ...

Przerwa kawowa #55. 4 wskazówki, jak znaleźć społeczność programistów. 5 nieoczekiwanych umiejętności, które początkujący programista musi opanować

Opublikowano w grupie Random-PL

4 wskazówki, jak znaleźć społeczność programistów

Źródło: Honeypot Jednym z czynników pomagających programistom w rozwoju zawodowym jest społeczność, do której przynależą. Jeśli jeszcze nie znalazłeś swojego, nie martw się! W tym artykule powiem Ci, jak to zrobić. Człowiek nie jest stworzony do samotności. Ludzkość osiągnęła postęp dzięki umiejętności współpracy dla osiągnięcia wspólnego celu. Świetnym przykładem takiej współpracy jest społeczność programistów. W przeciwieństwie do innych branż profesjonalnych, programiści bardzo często wchodzą ze sobą w interakcje, a większość ich życia jest w jakiś sposób powiązana ze społecznościami, które wokół nich tworzą. Jeśli jesteś programistą, ale nie znalazłeś jeszcze swojej społeczności, nie rozpaczaj. Do jednego z nich możesz dołączyć na każdym etapie swojej kariery.Przerwa kawowa #55.  4 wskazówki, jak znaleźć społeczność programistów.  5 nieoczekiwanych umiejętności, które początkujący programista musi opanować - 1

1. Dowiedz się, czego potrzebujesz

Zanim skoczysz w internetową otchłań w poszukiwaniu społeczności programistów, powinieneś dowiedzieć się, czego dokładnie potrzebujesz i czego szukasz. Każdy etap kariery zawodowej programisty ma swoje zainteresowania i różnice. Jeśli uczysz się języka Java, prawdopodobnie nie znajdziesz informacji, których szukasz w społeczności Pythona i odwrotnie.

2. Poszukaj społeczności lokalnych

Jessica, członkini zespołu programistycznego Ember, mieszka w Berlinie. Na szczęście dla niej miasto oferuje wiele możliwości nawiązania kontaktów z innymi lokalnymi deweloperami. „Miałem duże doświadczenie w profesjonalnych spotkaniach grupowych i przez długi czas byłem częścią Szkoły Otwartych Technologii, która pomaga ludziom dowiedzieć się więcej o technologii.” Dziewczyna brała udział w seminariach i grupach koedukacyjnych, co okazało się bardzo przydatne dla początkującej osoby. „Wspierali mnie inni studenci i otrzymałam bezpłatną opiekę mentorską. Można powiedzieć, że dało mi to poczucie odpowiedzialności, pomogło regularnie przychodzić na zebrania i zachęciło mnie do samodzielnej nauki”. Aby znaleźć swoją lokalną społeczność, Jessica sugeruje wyszukiwanie w Google. Jeśli mieszkasz w dużym mieście, prawdopodobnie nie będziesz miał żadnych problemów ze znalezieniem lokalnych społeczności programistów, do których możesz dołączyć. Może się jednak okazać, że niektóre tego typu grupy na portalach społecznościowych nie są już aktywne lub od dłuższego czasu nie zamieszczały w nich wiadomości. W takich sytuacjach nie bój się bezpośrednio zapytać, czy w społeczności dzieje się coś innego. Okazywanie zainteresowania jest zawsze mile widziane.

3. Znajdź społeczność internetową

Osobiste spotkania z innymi programistami niosą ze sobą wiele korzyści. Jeśli jednak Twój dostęp do społeczności lokalnych jest ograniczony, prawie na pewno znajdziesz alternatywę w Internecie. Być może już pracujesz z różnymi frameworkami lub technologiami, które mają własne dedykowane społeczności na Discord lub Slack. Nadaje się zarówno do pomocy w pracy, jak i do szukania inspiracji do nowych projektów, pomysłów, a nawet do udziału w otwartych projektach.

Oto kilka miejsc, w których możesz znaleźć swoją społeczność internetową

dev.to . Jak sami mówią, „branża oprogramowania opiera się na współpracy i uczeniu się w sieci”, a dev.to zapewnia programistom przestrzeń, w której mogą się spotykać i pomagać sobie nawzajem, niezależnie od tego, czy chodzi o techniczne aspekty kodowania, doradztwo zawodowe czy ogólne wsparcie i motywację. #developers na Slacku . Aby uzyskać dostęp do tego kanału, będziesz musiał odpowiedzieć na kilka pytań, ale gdy już się tam znajdziesz, otrzymasz całe wsparcie i porady, których potrzebujesz :) Hashnode . Napisz artykuł na dowolny temat programistyczny i wejdź w interakcję z szerszą społecznością. To świetny sposób na pozostawanie w kontakcie z innymi programistami. Kobiety, które kodują . To miejsce wspierające kobiety pracujące w branży technologicznej, gdzie znajdą zasoby programistyczne i otwartą przestrzeń do dzielenia się pomysłami. Reddit . Istnieje wiele subredditów dla każdej niszy kodowania; sprawdź niektóre z najbardziej aktywnych: r/programming , r/java , r/python , r/javascript , r/reactjs i r/cscareerquestions . Kręgi programistów na Facebooku . Głównym celem jest stworzenie lokalnie zorganizowanych społeczności, w których programiści mogą „uzyskać bezpłatne narzędzia do rozwijania nowych umiejętności, pomysłów i rozwoju kariery”. Znajdź swoją społeczność na Facebooku, wszystkie dyskusje są obecnie online.

4. Znajdź społeczność open source

Uczestnictwo w społeczności open source może być ważną częścią Twojego rozwoju zawodowego. Bycie aktywnym członkiem społeczności open source oznacza nie tylko wnoszenie wkładu, ale także uczestnictwo w wydarzeniach i konferencjach, spotykanie się z innymi, znajdowanie mentorów i tworzenie sieci kontaktów. Oprócz umiejętności zdobytych w społeczności open source (zarówno technicznej, jak i nietechnicznej), uczestnictwo w niej daje poczucie przynależności do programistów poza codzienną pracą. W społeczności open source panuje wyjątkowe poczucie pracy nad czymś wielkim i pod wieloma względami ta praca stanowi znaczący wkład. Zastanawiasz się od czego zacząć? Zastanów się, jakie projekty open source lubisz i zacznij od tego – może to być tak proste, jak znalezienie i naprawienie literówki w kodzie. Ważne jest tylko, aby od czegoś zacząć.

Wniosek

Poziom wsparcia i zachęt do samorozwoju, jaki programista otrzymuje w środowisku zawodowym, jest niezwykle wysoki. Na szczęście dostęp do społeczności programistów jest wszędzie, niezależnie od tego, czy jest to lokalna grupa w mediach społecznościowych, czy duży zasób online poświęcony językowi programowania. Najważniejsze jest, aby znaleźć to, co Ci odpowiada.

5 nieoczekiwanych umiejętności, które początkujący programista musi opanować

Źródło: Codeburst Moja droga do zostania programistą samoukiem była długa i trudna. Czasami, pamiętając o wszystkich przeszkodach i rozczarowaniach, jakie mnie spotkały, zadaję sobie pytanie, czy warto było tak zaczynać. I teraz mogę powiedzieć, że było warto. Dla osób takich jak ja, które zaczynały od zera, krzywa uczenia się była bardzo stroma. Jestem jednak pewien, że na dłuższą metę korzyści przewyższają wysiłek potrzebny do zdobycia tej góry. Oczywiście ma to zastosowanie tylko wtedy, gdy lubisz to, czego się uczysz. Zajęło mi kilka lat zrozumienie, że dobry programista musi umieć więcej niż tylko szybko i łatwo pisać kod. Wielu początkujących nie zdaje sobie sprawy, że zdobycie umiejętności programistycznych wymaga czegoś więcej niż tylko umiejętności napisania i uruchomienia programu. Oto pięć dodatkowych umiejętności oprócz kodowania, których każdy początkujący programista z pewnością będzie potrzebował!Przerwa kawowa #55.  4 wskazówki, jak znaleźć społeczność programistów.  5 nieoczekiwanych umiejętności, które początkujący programista musi opanować - 2

1. Korzystaj z narzędzi do współpracy

Wiele popularnych platform programowania samodzielnego koncentruje się na składni języka i strukturach danych. Niektóre pozwalają uczniom tworzyć podstawowe projekty od podstaw. Załóżmy, że jest to prosta gra lub aplikacja z listą zadań. Lekcje te są bezcenne dla rozpoczęcia nauki programowania, ale nie symulują rzeczywistego środowiska pracy, z którym będziesz się spotykać w przyszłości. Programiści pracują razem nad dużymi projektami, a czasami programista może pracować nad wieloma bazami kodu jednocześnie. Praca zespołowa często polega na korzystaniu z narzędzi takich jak Arkusze kalkulacyjne Google czy Invision. Zespoły programistyczne mają swój własny standardowy zestaw narzędzi do współpracy. Moja firma, podobnie jak dziesiątki tysięcy innych firm w Stanach Zjednoczonych, korzysta z GitHuba. Nigdy nie zapomnę dnia, w którym moi koledzy zapoznali mnie z GitHubem. Najpierw kazali mi otworzyć terminal na komputerze (nie miałem pojęcia, że ​​mam coś takiego na komputerze). Potem moi koledzy zaczęli wpisywać jakiś bełkot w tym tajemniczym oknie na moim ekranie. Okazało się, że ten bełkot robi magiczne rzeczy, na przykład zapełnia kilka folderów na moim komputerze różnymi plikami pełnymi kodu. Potem rozmawiali o „gałęziach” i „puchach”, o czymś „odległym”. I wydawało się, że dosłownie wszystkie słowa zaczynają się od przedrostka „git”. Wiedziałem, że mówią po angielsku, ale znaczenie ich słów było dla mnie niejasne. Jeśli jesteś nowicjuszem i nie programowałeś wcześniej z innymi programistami, musisz nauczyć się języka i narzędzi do współpracy. Może się to wydawać skomplikowane, zwłaszcza jeśli nigdy nie otwierałeś wiersza poleceń. Ale z czasem stanie się to nawykiem.

2. Rejestrowanie i obsługa błędów

Załóżmy, że nauczyłeś się już współpracować z innymi programistami i Twój kod został wysłany do produkcji. Kiedy z czegoś, co napisałeś, korzystają tysiące, a nawet miliony użytkowników, jest to naprawdę ekscytujące uczucie. Ale kiedy dojdziesz do tego etapu, przekonasz się na własnej skórze, że nieoczekiwane błędy w kodzie cały czas się zdarzają. Na przykład zmienna, którą utworzyłeś, nigdy nie otrzymała wartości. Teraz wywołujesz metodę o wartości null, a Twój program nie wie, co z nią zrobić. Wystąpił błąd i użytkownik nie ma już dostępu do tej wspaniałej strony, którą utworzyłeś. Podczas testowania programu wszystko wydaje się prawidłowe, więc możesz nawet nie zauważyć problemu. Ten konkretny błąd może wystąpić tylko w 5% przypadków, ale dla 5% na 100 tys. użytkowników jest znaczący. Musisz nauczyć się rejestrować, obsługiwać i przewidywać błędy w kodzie: są to umiejętności absolutnie niezbędne dla programisty. Tak, umiejętność przewidywania problemów to instynkt, który rozwija się z czasem i doświadczeniem. Ale ważne jest, aby początkujący pamiętał, że błędy są niemal integralną częścią rozwoju. Wiedza o tym, jak chronić swój kod za pomocą różnych typów rejestrowania błędów, może zaoszczędzić wielu problemów w przyszłości, zwłaszcza gdy masz za zadanie debugowanie. Może również pomóc w zidentyfikowaniu problemów, o których istnieniu nawet nie wiedziałeś. Obecnie mamy dostęp do różnych narzędzi do rejestrowania błędów, które ułatwiają śledzenie luk w kodzie. Jednym z moich ulubionych jest Sentry, który pozwala zobaczyć, kiedy problem pojawił się po raz pierwszy i jak często występuje. Warto również wspomnieć o Logentries, Rollbar i Instabug. Istnieją programy monitorujące dane i problemy w całym systemie, takie jak New Relic i Datadog. Prawdopodobnie w swojej karierze programistycznej zetkniesz się z kombinacją tych programów i warto nauczyć się, jak z nich korzystać.

3. Pokrycie testowe

Jak powiedziałem wcześniej, doskonalenie umiejętności programowania to coś więcej niż tylko pisanie kodu. Musisz upewnić się, że Twój kod jest zrozumiały dla innych programistów, a gdy ktoś otworzy go dwa lata później, powinien być w stanie szybko go wychwycić i zacząć wprowadzać zmiany. Logika, którą piszesz, powinna być zrozumiała i nadawać się do ponownego wykorzystania przez wiele lat. Ale czasami Twoja logika będzie złożona i nie da się jej uprościć. Być może ze względu na złożoność logiki biznesowej. Być może z powodu braku czasu. Rzeczywistość jest taka, że ​​terminy czasami zmuszą Cię do podjęcia decyzji technicznych, które nie są idealne. I nie zawsze będziesz w stanie jasno zdefiniować wszystkie przypadki użycia przed rozpoczęciem pracy. Jednym ze sposobów zapewnienia bezpieczeństwa kodu jest pisanie testów towarzyszących zmianom. Większość języków programowania posiada dodatkowe pakiety testowe, które można zainstalować. Na przykład dla Ruby używamy Rspec, a dla React często używamy Jasmine. Istnieją różne typy testów, w tym testy jednostkowe (do testowania małych fragmentów logiki) i testy integracyjne (do kompleksowego testowania przepływu). Bardzo często, aby Twój kod mógł zostać przesłany do wspólnej bazy kodu, musi przejść cały zestaw testów. Gdy już nauczysz się je pisać, dodasz „zabezpieczenia”, które zapobiegną przypadkowemu nadpisaniu w przyszłości zapisanych funkcji. Pokrycie testów pomaga również zdefiniować oczekiwane zachowanie, ponieważ wiele przypadków testowych jest napisanych prostym językiem angielskim. Nie zliczę, ile razy przeglądałem jakiś plik napisany kilka lat temu, wprowadziłem zmianę i dowiedziałem się, że spowodowało to niepowodzenie kilkunastu testów, mimo że myślałem, że dobrze rozumiem oczekiwane zachowanie . Raz nawet zepsułem funkcjonalność, którą sam napisałem kilka miesięcy temu. Na szczęście moje testy jednostkowe natychmiast to ujawniły. Przeglądając pull requesty zauważam, że programiści często nie przykładają wystarczającej uwagi do pokrycia testów i dotyczy to zarówno prostych, jak i złożonych zmian. Ja też jestem temu winien, zwłaszcza gdy terminy są napięte. Ale przychodzi mi na myśl kilka projektów, w których wprowadzenie zmian w jednym miejscu doprowadziło do awarii w czterech innych miejscach. Zwiększyło to nasz poziom stresu i dodało nam więcej pracy, mimo że już spieszyliśmy się z terminem. Takich sytuacji można było uniknąć, gdybyśmy w odpowiednim czasie poświęcili czas na napisanie testów jednostkowych. Nauka ich pisania może być żmudnym zadaniem, szczególnie dla nowego programisty, a ich pisanie zdecydowanie spowalnia ogólny proces programowania. Ale im szybciej zaczniesz pisać testy, tym mniej problemów czeka Ciebie i Twój zespół w przyszłości.

4. Przegląd kodu

Ten punkt jest powiązany z pierwszym - dotyczącym wspólnej pracy nad bazami kodu. Często proces wprowadzania zmian w kodzie wygląda tak. Piszesz jakiś kod lokalnie. Aby wypchnąć go do głównej gałęzi bazy kodu, tworzysz żądanie ściągnięcia (wizualne podsumowanie zmian), a inni programiści w Twoim zespole sprawdzają Twój kod przed wydaniem zgody na połączenie. Różne zespoły mają różne wymagania dotyczące zatwierdzania żądania ściągnięcia, ale ogólnie rzecz biorąc, należy spodziewać się, że Twoje zmiany na pewno zostaną przez kogoś sprawdzone i wdrożone. Warto pamiętać, że nie tylko przekażesz swój kod do sprawdzenia, ale także zrecenzujesz kod innej osoby. Nauka czytania kodu innych osób jest ważną umiejętnością dla programisty i powinna być rozwijana przez całą karierę. Kiedy zaczynałem i zostałem poproszony o przejrzenie żądań ściągnięcia innych osób, nie do końca rozumiałem, czego szukać. Na początku pomyślałem, że powinienem poszukać błędów. Minęło kilka lat i teraz uważam, że przeglądy kodu są bardziej sprawdzeniem poprawności działania niż dokładnym dochodzeniem. Ostatecznie to programista, który wysłał żądanie ściągnięcia, jest odpowiedzialny za sprawdzenie swojego kodu, dodanie niezbędnych testów i bezpieczne przesłanie tego kodu do wspólnej bazy danych. Zadaniem recenzenta nie jest identyfikowanie ukrytych problemów. Obecnie, przeglądając kod, sprawdzam czytelność (na przykład, czy nazwy zmiennych i metod mają charakter opisowy), organizację i strukturę (czy kod można zorganizować lepiej, tak aby był bardziej przejrzysty dla kogoś, kto widzi go po raz pierwszy). . Oczywiście im bardziej zaznajomisz się z bazą kodu, tym łatwiej będzie zidentyfikować potencjalne problemy. Ale możesz zacząć zdobywać umiejętności przeglądania kodu nawet jako początkujący. Jest to między innymi dobry sposób na zapoznanie się ze wzorcami kodu, z których korzystają Twoi bardziej doświadczeni koledzy.

5. Właściwa wyszukiwarka Google

Żaden programista nie wie wszystkiego o programowaniu, swoim języku programowania, a nawet bazie kodu. Wcześniej byłem pewien, że wszyscy oprócz mnie od razu zrozumieją, jakie metody, zapytania i strategie należy zastosować w tym czy innym przypadku. Jednak im więcej osób nawiązałem współpracę, tym bardziej zdawałem sobie sprawę, jak często programiści szukają w Google odpowiedzi na swoje pytania. Nawet doświadczeni! W naszej pracy jest zbyt wiele szczegółów, aby o nich pamiętać. Wkrótce stało się dla mnie jasne, że nie wymagano ode mnie znajomości wszystkiego na pamięć, ale nauczenia się, jak prawidłowo szukać odpowiedzi. Stackoverflow stanie się Twoim najlepszym przyjacielem. Jest prawdopodobne, że jeśli utkniesz na czymś, ktoś inny utknął w tym już wcześniej. Jeśli chodzi o rozwiązywanie problemu, spróbuj dowiedzieć się dokładnie, co się dzieje nie tak, opisz to słowami i wpisz te słowa w wyszukiwarce. Umiejętność wyrażania problemów, przed którymi stoisz, pomoże znacznie bardziej niż zapamiętywanie.

Wniosek

Wcześniej czy później na swojej drodze do tworzenia oprogramowania spotkasz się z rozczarowaniem. Nie ma od tego ucieczki. Jednak im częściej będziesz korzystać z narzędzi i strategii mających na celu złagodzenie tych frustracji, tym bardziej satysfakcjonująca będzie Twoja kariera. Trzymaj kurs i nie poddawaj się.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION