Fury Road: Podróż dewelopera rozliczeniowego

Menedżer firmy zajmującej się rozwojem rozliczeń ma dwa sposoby na zbudowanie zespołu. Pierwszy to rekrutacja gotowych „seniorów” i ciągłe tworzenie takich warunków pracy, aby maksymalnie wykorzystywali swoje umiejętności i doświadczenie, rozwijali się, a jednocześnie nie wdawali się w bójki. Drugim jest stworzenie zespołu składającego się z mieszanki nowicjuszy, średnich i profesjonalistów, aby mogli się komunikować, wpływać na siebie nawzajem, uczyć się i rozwijać w firmie. Jestem przeciwnikiem błędnego koła typu „brak doświadczenia – brak pracy – brak doświadczenia” i nie widzę problemu w zatrudnieniu początkującego programisty. Forward Telecom od dawna posiada program stażowy, który dla wielu obecnych pracowników stał się odskocznią do kariery.

Teraz opowiem Ci jak widzę ścieżkę rozwoju billing developera i w jakiej kolejności trzeba doskonalić umiejętności zawodowe.

1. Naucz się języka programowania

Na początek każdy. Priorytetem jest Java, Python i JavaScript, ale Ruby, Go, C, C++ nadają się do zdobycia podstawowej wiedzy. Jak uczyć? Korzystaj z płatnych i darmowych kursów, polecam szkolenia u Golanga. Jeśli Twój poziom angielskiego na to pozwala, oglądanie zagranicznych filmów będzie dobrą dodatkową umiejętnością.

Fury Road: Podróż dewelopera rozliczeniowego

2. Zrozum pojęcia dotyczące systemu operacyjnego

Systemy operacyjne opierają się na siedmiu komponentach, które trzeba znać i potrafić wyjaśnić zasadę działania:

  • Zarządzanie procesem;
  • Wątki i kod wielowątkowy;
  • Gniazdo (interfejs oprogramowania);
  • Wysyłanie wejść/wyjść;
  • Wirtualizacja;
  • Składowanie;
  • Systemy plików.

Polecam wziąć udział w podstawowym kursie administracji Linuksem. Drugimi systemami operacyjnymi w kolejce są Windows i Unix.

3. Przyzwyczaj się do terminala

Przez analogię do fobii pustej kartki istnieje fobia pustego czarnego ekranu z migającym kursorem. Będziesz musiał to pokonać, aby nauczyć się pisać dobre polecenia w wierszu poleceń.
Musisz wiedzieć:

  • Powłoki Bash i KornShell;
  • Polecenia find, grep, awk, sed, lsof;
  • Polecenia sieciowe nslookup i netstat.

Fury Road: Podróż dewelopera rozliczeniowego

4. Sieć i bezpieczeństwo

Rozliczenia są ściśle powiązane z wymogami dotyczącymi sieci i ochrony danych. Nie da się pisać usług online bez zrozumienia działania sieci, dlatego trzeba poznać podstawowe pojęcia i protokoły: DNS, model OSI, HTTP, HTTPS, FTP, SSL, TLS. Następnie, gdy napotkasz błąd Odmowa połączenia, będziesz wiedział, co robić.

5. Serwery

Po zapoznaniu się z zasadami przesyłania informacji w sieci można przystąpić do podstaw obsługi serwera. Zacznij od serwerów internetowych: IIS, Apache, Nginx, Caddy i Tomcat.

Dalej na liście:

  • Odwrotne proxy;
  • Anonymous Proxy;
  • Buforowanie;
  • Równoważenie obciążenia;
  • Zapora sieciowa.

6. Ucz się infrastruktury jako kodu

Uważam, że ten etap jest jednym z najważniejszych. Będziesz musiał zrozumieć trzy szerokie tematy:

  • Kontenery: Docker i Kubernetes
  • Narzędzia do zarządzania konfiguracją: Ansible, Chef, Salt i Puppet
  • Kopia zapasowa: Terraforma, chmury.

7. Naucz się CI/CD

Kolejną przydatną umiejętnością programisty rozliczeniowego jest możliwość skonfigurowania potoku ciągłej integracji i dostarczania. W obszarze CI/CD znajdują się narzędzia takie jak Jenkins, TeamCity, Drone, Circle CI i inne. Spoiler: na początku wystarczy poznanie powszechnie używanego Jenkinsa.

8. Kontrola oprogramowania i infrastruktury

Kluczowym celem jest zrozumienie podstaw monitorowania aplikacji. Narzędzia w tym obszarze dzielą się na trzy grupy:

  • Monitorowanie infrastruktury: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Monitorowanie wydajności aplikacji: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Usługi w chmurze

W najbliższej przyszłości każda aplikacja lub oprogramowanie będzie miało swój odpowiednik w chmurze. Prędzej czy później programiści zetkną się z chmurą, dlatego zapoznaj się z popularnymi dostawcami usług chmurowych (AWS, Google Cloud i Azure) oraz podstawami tej technologii.

10. Praca z bazą danych

Wszystkie obecne projekty korzystają z baz danych, a doświadczenie z DBMS i SQL ułatwi rozpoczęcie pracy. Naucz się pisać zapytania SQL, korzystaj z objaśnień i dowiedz się, jak działa indeks. Najłatwiej jest zapisać się na kurs. Możesz także poćwiczyć swoje umiejętności tworzenia dokumentacji Postgres i pobawić się replikacją.

11. Popraw swoje umiejętności miękkie

Nieoczekiwanie nietypowy punkt, ale nie mniej ważny. Na początek bądź cierpliwy. Szybko oswajasz się z sytuacjami typu „napraw żelazko, jesteś programistą”, ale musisz być psychicznie przygotowany na terminy uruchamiania nowych projektów. Jeśli programujesz od zera do roku i jesteś uważany za Juniora, przygotuj się na krytykę i naucz się ją akceptować, przegląd kodu przez mentora jest często bolesnym procesem. Ale jednocześnie umiejętnością obowiązkową jest umiejętność obrony swojego punktu widzenia i konstruktywnej argumentacji, czasem prawda rodzi się w kłótni. Programiści nigdy nie przestają się uczyć, w zawodzie praktycznie nie ma pułapu, dlatego umiejętność uczenia się i CHĘĆ uczenia się nowych rzeczy są podstawą Twojego rozwoju.

Fury Road: Podróż dewelopera rozliczeniowego

Często jestem pytany, kiedy początkujący osiąga poziom średni i kiedy można go z dumą nazwać „seniorem”. Uważam, że o momencie przejścia z poziomu na poziom nie decyduje liczba przepracowanych lat, choć kluczowym kryterium są umiejętności praktyczne. To właśnie umiejętności miękkie często decydują o szybkości rozwoju programisty: wyszkolony i pracowity początkujący potrafi napisać wysokiej jakości kod w kilku językach i potrafi pracować w zespole już w kilka miesięcy. Programista z 10-letnim doświadczeniem może nie być w stanie rozwiązywać niestandardowych problemów, zarządzać zespołem i posiadać umiejętności jednostronne.

Tak widzę ścieżkę rozwoju programisty billingowego, tak rozwijamy wykwalifikowanych specjalistów w naszym zespole Forward Telecom. Wydaje się, że niczego nie brakuje, ale zawsze jestem wdzięczny za pomocne uzupełnienia.

Źródło: www.habr.com

Dodaj komentarz