Zagwozdka dotycząca dalszego rozwoju zawodowego - TL;DR Python vs Java

1

Mam teraz poważną rozkminę w życiu co chcę robić dalej, zaraz pyknie mi rok na stażu w Pythonie, ale tasków z Pythona w tej pracy jest dość mało, meh. Z czego to wynika? Staż to cloud engineer czyli głównie taski typu ansible/docker/k8s charty helmowe itd, nie wiem w sumie czy jara mnie na dłuższą metę tworzenie takich chartów, bardziej przypomina to wieczną konfiguracje czegoś niż programowanie. Taski w Pythonie u mnie w projekcie rzadko mi wpadają mimo, że cały stack na tym stoi w dodatku na raczej niszowych frameworkach w części za którą mój team jest odpowiedzialny.

Mam rozkminę czy chce dalej się w tym rozwijać, chciałem przenieść się w ramach firmy do zespołu gdzie bardziej zajmują się mikroserwisami w Pythonie w FastAPI, ale mój menager mnie lekko spławił.

No i teraz mam rozkminę czy dalej to ciągnąć i uczyć się tego Pythona tam, w międzyczasie k8s głównie czy nie przeskoczyć na staż w Javie - na staż, bo jeszcze nic z Javy nie umiem poza tym co robiłem krótko na studiach. Trochę mnie zachęca jeszcze to, że w Javie jest mimo wszystko więcej ofert typowo backendowych, a Pythonie jest to mocno przemieszane z Data Engineering, ML, a jest o wiele mniej ofert typowo backendowych jak patrzę, a na juniora to już w ogóle. Inna opcja to przeskoczenie na devopsa, ale no tam znowu będzie więcej bawienia się z różnymi yamlami i tak dalej.

No i nie wiem za bardzo co wybrać, z jednej strony trochę czasu poświęciłem na naukę tego pythona, ale z drugiej strony mam wrażenie, że coraz mniejszy w tym sens - chyba, że jeszcze ewentualnie próbować się pouczyć czegoś ze stacku frontendowego i uderzać w fullstack z pythonem na backendzie. Co byście polecili jakbyście mieli teraz wybierać?

1

Nie wiem czemu wychodzisz z dziwnego założenia że programista ma znać i uzywać jednego języka. Ja np. pracuje aktualnie pewnie jakoś 60:40 Java i Python i w sumie całkiem często mi się zdarzało pracować z miksem języków.

Mam rozkminę czy chce dalej się w tym rozwijać, chciałem przenieść się w ramach firmy do zespołu gdzie bardziej zajmują się mikroserwisami w Pythonie w FastAPI, ale mój menager mnie lekko spławił.

Bo idzie sie do tego drugiego managera. Wiadomo ze twój będzie niechetny bo traci pracownika.

0

@Shalom:

Nie no, jakby to, że używałbym głównie Javy nie wyklucza tego, że mógłbym też w innej pracy używać Pythona, kwestia tego, że z reguły w ogłoszeniach o pracę chcą kogoś kto te Javę ogarnia i ewentualnie język skryptowy to fajny bonus, a wiadomo, że Python, żeby szybko coś zakodować nadaje się idealnie więc warto go znać. Mam wrażenie, że takich ofert jest mniej po prostu i z reguły nazywają się w stylu - Software Engineer - bez wyróżniania technologii i raczej coś takiego jest też w większych korpo, wiem, że Amazon, ma takie staże - swoją drogą całkiem nieźle płatne, bo nawet na poziomie juniora, ale dostać się do Amazona to wiadomo - jak to FAANG, trzebaby przygrindować leetcode tak przez miesiąc, dwa + potem w pracy dość fajnie można się rozwinąć, ale z tego co słyszałem z pierwszej ręki to trochę minus, bo tam prawie do wszystkiego są ich autorskie toole czy technologie.

0

No teraz robisz devopsowe/sre(site reliability engineering) to nie dziwne że w Pythonie za dużo nie piszesz bo to trochę inna działka. Co do tego że przemieszane z data engineering i ML to prawda, ale tych ofert na juniora nie ma za dużo, a ja z tego co pamiętam jak szukałem to trochę widziałem na juniora do web developmentu - najczęściej wymagali django, czasami zdarzyła się jakaś oferta z flaskiem czy fastAPI (na mida czy seniora to tych ofert już jest o wiele więcej).

2

IMO każdy programista powinien znać pythona, więc skoro już znasz to gigantyczna zaleta na każdą ścieżkę programisty, bez znaczenia co wybierzesz.
A od siebie polecam przejście na Javę, bo dużo większe możliwości rozwoju (więcej projektów w każdej dziedzinie) i większe pieniądze w corpo

1

Taka specyfika Pythona że jest to język używany głownie przez ludzi programujących, ale nie będacych programistami jak Cloud Inzynierowie, DevOps/SysOps Inżynierowie, QA Inzynierowie i Data Inzynierowa we wszystkich możliwych odmianachitd. Pewnie winą jest to że jest to język łatwy do nauczenia się (przynajmniej w stopniu podstawowym) i łatwo w nim bindować biblioteki napisane w C i C++.

Z drugiej strony w Javie też nie ma cudów. Składnia Javy jest nudna i rozwlekła, a frameworki Spring i Hibernate to magiczna patologia. Chociaż jeszcze większym problemem są kapłani oraz wyznawcy Springa i Hibernate :D

0

Ja na Twoim miejscu szedłbym w Python + DevOps, bo sam tak teraz robię, specjalizuję się w AWS'ie + właśnie piszę masę rzeczy w Pythonie automatyzujących, a przeszedłem na tą stronę z bycia Java Devem po 4.5 roku + poznaniu środków antydepresyjnych.

Powody to było głównie Sprinty, praca pod presją, rozmowy z biznesem, ciągłe zmiany wymagań, często praca jako analityk, one-man-army i ogólnie stres, a teraz jako konsultant AWS robię czysto techniczne + sam sobie jestem liderem, bo mam jednego przełożonego (pro-forma) i nie pracuję w żadnych Scrumach i nie mam callów z biznesem w sprawie implementacji featerów.

Robię czyste IT/DevOps bez otoczki Sprintów/Scruma/Biznesu.

Pieniądze jeszcze większe, wnioski pozostawiam Tobie :)

0

@kevin_sam_w_domu:

No właśnie sam już nie wiem dlatego pytam, może to po prostu wina mojego projektu, gdzie głównie zajmujemy się infra, ale to jednak nie taki devops na 100%. Poza tym pracuje tez w scrumie wiec jednak bardziej jako dev.

Dlatego mam wątpliwości duże - no bo po tym co robię w pracy to nie za bardzo mi się to podoba, siedzenie w yamlach, configi w ansiblu i inne takie rzeczy. Przy kodowaniu mam wrażenie, że jest więcej zabawy, z drugiej strony jest też pewnie tak jak mówisz, bycie one man army i krótkie dedlajny.

Zresztą jak patrzyłem nawet na pozycję juniorskie czy staze na devops to wymagania przypominają te z 2014 roku czy wcześniej ja frontend - wie co to HTML to bierzemy :D, bo tak naprawdę niektóre firmy nie wymieniają żadnej technologii tylko chęć nauki, wiedza, że devops to kultura pracy i ewentualnie ogarnianie trochę Pythona, ale nawet często się nie pojawia docker czy k8s także ssanie wydaje się rzeczywiście duże. No może to jest opcja, bo może przy kodowaniu ci/cd jest wiecej zabawy, a mnie moze po prostu frustruje nuda.

0

Oba są potrzebne jak chcesz iść tą drogą, ale najpierw wymasteruj Javę. Pythona się przy okazji nauczysz kiedyś.

1 użytkowników online, w tym zalogowanych: 0, gości: 1