Jak zwiększyć swoją atrakcyjność na rynku pracy jako programista Java?

Jak zwiększyć swoją atrakcyjność na rynku pracy jako programista Java?
QA
  • Rejestracja:5 miesięcy
  • Ostatnio:3 dni
  • Postów:7
0

Cześć :),

wiem, wiem, były podobne tematy, ale chciałbym poznać wasze opinie – gdzie lepiej zapytać, jak nie tutaj, wśród tylu doświadczonych developerów? Dobra, przejdźmy do rzeczy.

Pracuję jako Java developer i mam już ponad 5 lat doświadczenia. Niestety, ostatnio rynek zweryfikował mnie i mój zespół. Od tygodnia wysyłam CV na stanowiska związane z Javą, ale odzew jest bardzo mały, albo praktycznie żaden. Mam pewne doświadczenie z procesami CI/CD, ale nie zajmowałem się frontendem. Na rozmowie kwalifikacyjnej nie byłem już od ponad dwóch lat, więc zdaję sobie sprawę, że czasem trzeba dłużej czekać na odpowiedź od rekrutera.

Stąd moje pytanie: jeśli teraz będę miał przerwę (oby nie! ), jak mogę zwiększyć swoją atrakcyjność na rynku? Czy lepiej iść w stronę fullstacka (Java + Angular), czy może zgłębić tematy chmurowe, k8? Z tego, co widzę, jest zdecydowanie więcej ofert na fullstacka niż na samego Java developera.

Dzięki za wszelkie opinie!

edytowany 2x, ostatnio: Riddle
PI
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 miesiące
  • Postów:2787
6
QA napisał(a):

Czy lepiej iść w stronę fullstacka (Java + Angular), czy może zgłębić tematy chmurowe, k8?

Obie te ścieżki pewnie pomogą. Niemniej, różnica jest taka że w przypadku Angulara będziesz potem musiał faktycznie coś robić na frontendzie, a w przypadku chmury/k8s najczęściej weryfikacja jest podczas rozmowy kwalifikacyjnej a potem już jako dev nie masz z tym styczności.

Na rozmowie kwalifikacyjnej nie byłem już od ponad dwóch lat

To jest IMO największa przeszkoda - pochodź sobie na parę rozmów do firm w których docelowo byś nie chciał pracować, żeby nabrać doświadczenia w przechodzeniu rozmów. Przypomnij sobie:

  • swoją ścieżkę kariery, jak o niej opowiadać (po angielsku ofc),
  • jakie największe usprawnienia zrobiłeś (konkretnie Ty, a nie Twój zespół),
  • jakie pytania zadać na rozmowie kwalifikacyjnej (są różne zestawy pytań na rozmowie wstępnej z HR vs na rozmowie docelowej z konkretnym zespołem)
  • 100 java/hibernate/spring interview questions
  • jakie są obecnie stawki rynkowe i ile chcesz zarabiać w nowym miejscu
QA
Niby to wszystko takie oczywiste, a jednak warto się skupić na aspektach, które opisałeś :) . Podejdę do tego dokładnie w taki sposób. Dzięki! Jednak trochę przeraża ten brak oddzewu ;/
RG
  • Rejestracja:ponad rok
  • Ostatnio:około 11 godzin
  • Lokalizacja:[x, y]
  • Postów:7
0

Up. Też się nad tym zastanawiam. Miałem nawet zrobić scrapper z just join it z zestawieniem gdzie jest lepszy hajs + ilość ofert pracy, żeby podjąć decyzję.
Pewnie projekt się opóźni, bo dzisiaj wskoczyło dużo dodatkowej pracy, ale plan wydaje się sensowny.

edytowany 1x, ostatnio: RakietowyGeorge
bagietMajster
No i mi przypomniałeś że też to miałem zrobić. Dzięki, a taki fajny tydzień się zapowiadał :P
heretic
  • Rejestracja:ponad 6 lat
  • Ostatnio:6 dni
  • Postów:62
3

Ja nie widzę przyszłości w Javie w ogóle. Bootcampy i polskie uczelnie zrobili co swoje a za granicą wszystkie wakaty zapełnione kolegami z indii. Teraz wiadomo, że każdy będzie uciekał z tego bagna i takie tematy jak angular/react, CI/CD i cloudy to będzie top 3 destynacji.


Pozdro i poćwicz
piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:minuta
  • Postów:3277
1

@QA Jeżeli nie dostajesz odzewu, to jedyną rzeczą, która to powoduje jest twoje CV. Ciężko powiedzieć, czy powodem jest twoje faktyczne doświadczenie i umiejętności, sposób ich przedstawienia w CV, czy np. forma graficzna tego dokumentu.

Bootcampy i polskie uczelnie zrobili co swoje a za granicą wszystkie wakaty zapełnione kolegami z indii. Teraz wiadomo, że każdy będzie uciekał z tego bagna i takie tematy jak angular/react, CI/CD i cloudy to będzie top 3 destynacji.

Frontend z tego co widzę jest jeszcze większym bagnem jeśli chodzi o pracę. Devops (CI/CD, cloud, konteneryzacja itd.) to rozszerzenie umiejętności programowania w Java, a nie coś, co je zastąpi.

QA
Stawiałbyś jednak pójscie bardziej w stronę devopsu, niż angulara/react? W swoim stacku mam cassandre, elasticsearcha, springa, jakieś protokoły/narzędzia do komunikacji typu gRPC/Websockets. Mam teraz troche czasu i chcałbym go poświęcić na doszkolenie się w tematach. Wiem, że dobry developer = dobry inżynier, i technologia jest drugorzedna, ale marketing w tych czasach też ważny
piotrpo
Moim zdaniem w przypadku backendu rozwój w kierunku devops jest naturalny.
PaxMaker
  • Rejestracja:około 2 lata
  • Ostatnio:około godziny
  • Postów:45
3

calm down, dopiero tydzień wysyłasz CV, Pracy się trochę szuka w tych czasach, mnie parę msc zajęło zanim znalazłem taką, która by mi odpowiadała projektem i stawką

QA
Dzięki. W sumie faktycznie tydzień to mało. Nigdy wcześniej tyle CV nie wysłałem i pewnie moja głowa sobie mysli, że to już koniec :D Dzisiaj miałem rozmowe z HR i te procesy rekrutacyjne się troche zmieniły na niekorzyść pracownika,a na korzyść firmy. Devskiller, potem rozmowa techniczna z zadankami, potem rozmowa z managerem :D
FA
  • Rejestracja:ponad 2 lata
  • Ostatnio:minuta
  • Postów:157
0

Kotlin. Po Javie to pestka. Stosunkowo jeszcze mało w tym szamba, w którym Java już tonie. A dzisiaj dzwoniła do mnie rekruterka z dwoma ofertami jedna od Accenture do 180PLN a druga odN-iX - tajne wynagrodzenie..

1728402771934.jpeg

RG
  • Rejestracja:ponad rok
  • Ostatnio:około 11 godzin
  • Lokalizacja:[x, y]
  • Postów:7
0

Też do mnie dzwonią z ofertami z Kotlinem. Podejrzewam, że moze to są ze dwie te same od różnych agencji - podejrzanie wygląda taki wystrzał szukajacych HRowców z jednak nie superpopularnej technologii.

Poza tym sam język i standardowy stack javowy nie wystarczył - w jednej ofercie chcieli kogoś z doświadczeniem z AWS, a na doświadczenie z GCP kręcili głową 🙁

BTW pisałem rok w kotlinie i bardzo przyjemny język.

edytowany 1x, ostatnio: RakietowyGeorge
MI
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 2 godziny
  • Postów:147
3

Odpowiem żartobliwie- idź w legacy;) W springu itp. wszyscy chętnie siedzą, a nieraz spotykałem się, że na słowa EJB, Java EE młodzi uciekali, więc robi się z tego powoli nisza;)

opiszon
Jsp, struts...
MA
I od kiedy legacy jest przyszłościowe i zwiększy jego atrakcyjność? Można dostać niezły hajs, ale w przyszłości będzie jeszcze większy problem ze znalezieniem roboty.
99xmarcin
  • Rejestracja:prawie 5 lat
  • Ostatnio:4 miesiące
  • Postów:2420
0
  • 1 lub 2 tyg. to się czeka na odpowiedź.
  • Kilka CV wysłałem 4 tyg temu a w tym tyg. byłem dopiero na pierwszym leetcode.

Zacznij leetcode'ować chłopie bo nie przejdziesz przez pierwszą bramkę w wielu firmach.
Wysyłaj CV do każdej firmy jaką widzisz na LN lub nofluffie.
Popytaj znajomych może któryś ciebie przepchnie (to się nazywa polecenie i jak np. pan "Joel z Polski" zauważa często kończy się nepotyzmem :P)

Sam proces rekrtuacji się wydłużył, teraz to 4 tyg. minimum - więc przestój będziesz miał tak czy siak, nawet jak bardzo obniżysz stawkę nic to nie da. Także trzymaj stawkę, CVkuj, pamiętaj obecny rynek pracy jest jak Tinder...


Holy sh*t, with every month serenityos.org gets better & better...
edytowany 1x, ostatnio: 99xmarcin
Zobacz pozostałe 3 komentarze
GO
Nigdy nie robiłem lletcode i codility, ale rozwiązywałem dość sporo zadań, według mnie to jest dobre, tak jak nie potrafiłem za dobrze posługiwać się algorytmami i ich implementować, tak w miarę każdy problem szło rozwiązać. W dodatku to jest rozgrzewka dla umysłu, nie musisz szukać projektu masz jakiś problem i go kodujesz jak najlepiej potrafisz potem analizujesz innych osób rozwiązania i stwierdzasz o to jest sprytne nie wpadłem na to. A, że rozwiązałeś zadanie to bardzo dobrze możesz zrozumieć czyjeś rozwiązanie i nauczyć się czego, może nie koniecznie na tym zarobisz.
99xmarcin
Bo robi odsiew, jak masz 1000 na wejściu to zostaje 100 na wyjściu i do tego wpełni zautomatyzowane...
MA
Moje wrażenia z leetcodów to jednak są w przypadku umiejętności programistycznych pozytywne, jakoś tak łatwiej się rozumie, pisze i czyta wszelki inny kod implementując coraz to inne algorytmy rozwiązujące różne zadania w ramach ćwiczeń. Ze strony rekrutacji to duża pomyłka, to nie test na pracę programisty, a jednak wiele firm tak je traktuje.
GO
@Majksu: ja kiedyś robiłem jakieś zadanie i musiałem bisekcje newtona zrobić, żeby to rozwiązać, patrzę potem rozwiązania innych, a ktoś sobie bibliotekę do symbolicznych obliczeń zaimportował typu wolfram, ale było to sympy i to samo zrobił, mówię, ale miałem zamknięty umysł na kreatywność, bo skupiałem się za bardzo na tym, żeby samemu wszystko rozwiązać, a są też takie nieoczywiste rozwiązania, może nawet lepsze i prostsze. Jeszcze są SAT solvery, potrafią odwrócić każdy algorytm można złamać prawie wszystko, chyba że kryptograficznie bezpieczne jest.
Pyxis
@99xmarcin: i przeszedłeś ten LeetCode na ostatniej rekrutacji?
GO
  • Rejestracja:11 miesięcy
  • Ostatnio:3 miesiące
  • Postów:358
1

Ja kiedyś przeczytałem taki artykuł, że trzeba CV skropić perfumem, podobno zapach może przywoływać pozytywne wspomnienia podczas czytania tego cv.
Ale nie wyjdzie to przy wysyłaniu przez internet, można za to wysłać darmowego pendriva, który przejmie kontrole nad komputerem i potem się wpisze w kalendarzu osoby hr swoją rekrutację i po prostu potem hr osoba wejdzie na wideo konferencję i cię sprawdzi.

Przez tą głupią informację zawsze skrapiam perfumem wszystkie listy czy koperty jak daję na wesele :>

edytowany 1x, ostatnio: .GodOfCode.
CO
  • Rejestracja:prawie 5 lat
  • Ostatnio:około godziny
  • Postów:534
3

Nie zwiększysz atrakcyjności bo jest kryzys na rynku programowania! To co jedyne możesz zrobić to dopracować CV z kimś z HR ale i tak odzew będziesz miał marny bo:

  • masz tylko 5 lat doświadczenia czyli jesteś początkującym/średnim midem a firmy szukają seniora 7-8 lat minimum, najlepiej 10 lat stażu
  • jest olbrzymia konkurencja, na 1 miejsce na mida/seniora przychodzi 100 jak nie 150-200 CV w miesiąc
  • każdy, dosłownie każdy zakuwa pod rozmowy więc niczym się nie wyróżnisz bo kazdy jest obcykany

Tak więc nawet jak dopracujesz CV to odzew może być marny, bo to wina kryzysu a nie kiepskiego CV. Ludzie z naprawdę dobrym CV są bezrobotni nawet pół roku bo taki teraz rynek.

To co powinieneś robić to

  • dopracować CV jak tylko sie da i upewnic się, że posiada wszelkie potrzebne formułki RODO itd.
  • katuj 200-300 leetcode tylko nie trać czas na zadania easy - katuj od razu medium. Hardów też raczej nie dają w zwykłej firmie tylko FAANGach, wiec też nie ma sensu, tylko medium
  • nie trać czasu na rekrutacje gdzie dają ci zadanie domowe na "4 godziny" - w praktyce każdy je robi i 20 godzin by było odpicowane a potem często nikt się do ciebie nie odezwie... bierz tylko rekrutacje z live-codingiem na miejscu
  • obkuj porządnie teorie - zwłaszcza system design. Jak działa pod spodem spring, hibernate. Odnośnie Javy sporo firm pyta dokładnie o działanie garbage collectorów czy performance JVMki.
  • poza klasyczną wiedzą z Javy (kolekcje, generyki, lambdy, streamy) warto poświęcić sporo czasu na współbieżność - teoria i praktyka, poklepać kod, zwłaszcza jak na codzień tego nie kodzisz.
  • Patterny w środowisku mikroserwisowym, sagi, orchestratory, choreography
  • warto wiedzieć cokolwiek o tym jak działa np: kafka, jakaś baza noSQL, elasticsearch czy jakiś cloud typu AWS (podstawowe serwisy dla deva - ECS, EKS, SNS, lambdy, S3, SQS, cloudwatch itd)
edytowany 1x, ostatnio: CoderOne
Zobacz pozostały 1 komentarz
QA
Konkretnie i na temat. Dzięki!
GO
Tak katuj 1000 leet code, a serio wystarczy, że napiszesz coś emocjonalnego i rekruter ci da szansę, a potem no jak nie przejdziesz to już jest twój problem, że nie rozwiązałeś czegoś.
CO
bez przesady, te 200 zadań z leetcode można zrobić na luzie w 3 miesiące to wyjdzie raptem 2-3 zadania dziennie, a potem raz w tygodniu z 2 zadania by "podtrzymać skilla". Łatwiej sobie coś przypomnieć niż nauczyć, polecam siłę małych nawyków
CO
Bo wszędzie dają te zadania, na każdej rozmowie o pracę
RequiredNickname
  • Rejestracja:prawie 5 lat
  • Ostatnio:około godziny
  • Postów:613
3

A co robiłeś przez te 5 lat? Klepałeś bez pomysłu ciągle te samą aplikację w pojedynkę czy jednak inwestowałeś jaoś w rozwój kompetencji?

<szyderamodeon>

Bo wiesz odzew na wysłane CV to pewnie 10% sukcesu, jeszcze trzeba przejść pozytywnie jeden lub więcej etapów rekrutacji a firmy mają aktualnie z czego wybierać i crud java developerzy, mistrzowie omijania rzeczy istotych a dyskutujących o błachych, wirtuozi zwracania uwagi w pull requestach an wydzielanie każdego mozliwego stringa do stałej jednocześnie nie widząc, że dany fragment stwarza wysokie ryzyko rzucenia NPE, specjaliści od robienia na odwal się bo każdy robi na odwal się, amatorzy tańca towarzyskiego, kolarstwa i posiadówek w saunie, mają generalnie słabe perspektywy na dostanie zatrudnienia a na dostanie się do firmy która czegoś wymaga tak by więcej nie popełniać błędów z przeszłości jeszcze mniejsze xD

</szyderamodeoff>

🤪

RG
  • Rejestracja:ponad rok
  • Ostatnio:około 11 godzin
  • Lokalizacja:[x, y]
  • Postów:7
5

Mam swoją odpowiedź na pytanie z wątku.
Na podstawie danych z wczoraj z JJIT dla "remote java" statystyki wyglądaja tak:

Docker=43
**
Kubernetes=37
Docker/Kubernetes=1
Docker / Kubernetes=1
**
AWS=28
Amazon AWS=5
AWS / Azure=1
AWS/Azure/GCP=1
AWS Components=1
**
Angular=22
Angular 16+=1
Angular 2+=1
**
AngularJS=4

Dodatkowo na ~740 ofert unikalnych(ta sama oferta różne miasta) było 158.
Jedna oferta pracy średnio miała 6.54 required skills - więc są podstawy do uznawania zarówno do tego, ze mamy inflację wartości umiejętności jak i to, że wrzuca się wszystko czego potrzeba na rózne role.

Dane jakby ktoś chciał się pobawić w załączniku data.zip. Wyciagnałem je jako respone ze stronki bo nie chciało mi się bawić 😀

BDW, odpowiedź oczywiście brzmi olać javę i zostać devopsem XD

Osobiście smuci mnie to bo byłem przez kilka lat inżynierem sieciowym i nie chciałem wskoczyć w devopserkę jak większość moich kolegów, druga smutna sprawa to niska pozycja GCP (mam kilka certów i cos dłubałem); za to cieszy wysoka pozycja Kotlina.

Wyniki mojego majstrowania:
{Java=129, Spring=48, Docker=43, SQL=43, Spring Boot=38, Kubernetes=37, AWS=28, Git=28, Hibernate=22, Angular=22, React=20, Kafka=19, Kotlin=19, NoSQL=17, PostgreSQL=15, Microservices=14, TypeScript=13, REST=13, JUnit=12, JavaScript=12, English=12, REST API=11, Maven=9, Agile=8, API=8, MySQL=7, Oracle=7, CI/CD=7, Python=7, SOAP=7, Scala=7, MongoDB=6, HTML=6, Jenkins=6, Cloud=6, Apache Kafka=5, Linux=5, RabbitMQ=5, Azure=5, Amazon AWS=5, Elasticsearch=5, TDD=5, Java 11=4, AngularJS=4, PostreSQL=4, GraphQL=4, JEE=4, Mockito=4, GCP=4, Go=4, CQRS=4, Java EE=4, JPA=4, PL/SQL=4, CSS=4, JSF=3, JavaScript (jQuery)=3, BDD=3, Spark=3, JVM=3, Camunda=3, Clean Code=3, JMS=3, ReactJS=3, Node.js=3, SDLC=3, DevOps=3, Web Services=3, Databases=3, RESTful API=2, hybris=2, Solidity=2, Terraform=2, MsSQL=2, CI=2, BPMN=2, OOP=2, Java 17=2, .Net=2, JSON=2, Azure DevOps=2, Spring Cloud=2, Relacyjne Bazy Danych=2, GitLab=2, Hibernate 5+=2, Serverless=2, Unix=2, Niemiecki=2, Selenium=2, Vue.js=2, DDD=2, Blockchain=2, Angielski=2, Spring 5+=2, Jira=2, Oracle DB=2, Spring Framework=2, Fireblocks=2, GStreamer=1, Amazon Web Services=1, MVVM=1, RabbitMQ/AMQ=1, Front-End=1, Python/Shell scripting=1, ActiveMQ Artemis=1, kubernates=1, Flutter=1, Kafka Streams=1, Docekr=1, AI=1, JAX-WS=1, Apache=1, Liquibase=1, Communication Skills=1, MS SQL=1, Spring WebFlux=1, Spring 5=1, C#=1, Event-Driven Architecture=1, Oracle SQL=1, CI\CD=1, Powershell=1, SVN=1, Apache Tomcat=1, Solid=1, Java SE=1, Confluence=1, Web scraping=1, Swagger=1, Axon=1, Docker / Kubernetes=1, Cassandra/ScyllaDB=1, junit5=1, Java 11/17=1, Unit Testing=1, Java 8-21=1, Java 14+=1, Spring MVC=1, Architecture=1, IBM MQ=1, AEM=1, HTTP=1, Selenium WebDriver=1, Reactive tools=1, UML=1, SIP=1, Microsevices=1, Design Patterns=1, Cassandra=1, ORM=1, Jasmine=1, OpenShift=1, Bootstrap=1, Docker/Kubernetes=1, Guidewire=1, CSS 3=1, C++=1, Solace=1, JBoss=1, Bash=1, TDD/BDD=1, Kafka CLI=1, AWS / Azure=1, Backend=1, Java 17+=1, Relational Databases=1, React Native=1, AWS/Azure/GCP=1, MuleSoft=1, Leadership=1, JavaScript/TypeScript=1, Programming=1, .NET C#=1, Keycloak=1, Hexagonal Architecture=1, Cryptography=1, Team Leadership=1, Java 8+=1, Cucumber=1, Spring Boot/Cloud=1, Airflow=1, Angular 16+=1, Software Architecture=1, Containers=1, German=1, Next.js=1, Gosu=1, Flink=1, glassfish=1, Software Development=1, Core Java=1, Elastic=1, ESB=1, Kotlin 1.9+=1, PHP=1, Java/Go/Python=1, Android Studio=1, SOA=1, cicd=1, Microservice Architecture=1, SIP / RTP=1, Algorithms=1, AWS Components=1, Teamwork=1, ETL=1, Postman=1, Selenide=1, Test Containers=1, Groovy=1, Microsoft Azure=1, Payara Server=1, Microsoft Azure Cloud=1, MQ=1, APIs=1, Jakarta EE=1, Apache Sling=1, Observability tools=1, Analityczne Myślenie=1, game=1, SRE=1, HTTP/HTTPS=1, Windows=1, Microsoft SQL=1, SOLID Principles=1, NgRx=1, Angular 2+=1, OSGI=1, Redis=1, J2EE=1, Data=1, Management=1, Jakarta EE, JPA, JSF=1, FIX=1, Bat=1, HTML/CSS=1, HTML5=1, Gradle=1, DevOps tools=1}

edytowany 3x, ostatnio: RakietowyGeorge
Zobacz pozostały 1 komentarz
QA
@RakietowyGeorge Wow, dzięki za taką drogocenną wskazówke. Na podstawie tych danych, już można jakieś tam decyzję podjąć o dalszej przyszłości :) Z tym AWS ciekawe, bo jak na razie to dostaje pytania czy mam doświadczenie w Azure, nie o AWS
SS
SS
@RakietowyGeorge: Moglbys udostepnic zapytanie/skrypt, ktory wyrzucilo Java=129, .Net=2, bo na JJIT widze, ze jest 2 razy mniej ofert na .NET w porownaniu do Java, czyli remote Java jest 728 ofert, remote .NET jest 358 ofert. Wiec jak w twoim pliku json jest inaczej?
SS
@99xmarcin: wyjaśniło się kto rządzi - tu jest jakis filtr na Java i pokazuje oferty Java + w tych ofertach jest tez dwa razy wymaganie tez .NET oraz raz .NET C# (razem z Java)
piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:minuta
  • Postów:3277
3

BDW, odpowiedź oczywiście brzmi olać javę i zostać devopsem XD

Wniosek jest nieprawdziwy. W moim przekonaniu, poszukiwani są nie tyle DevOpsi pełnej krwi, co programiści (czegoś), z możliwie mocnymi skillami Docker/Kubernetes/Cloud. Czyli gość, który nie tylko pierdyknie tego CRUD'a w Springu (taki nasz smutny obraz...), ale zadba o to, żeby ten crud się zbudował, zapakował do kontenera i opublikował w jakimś tam klastrze. Albo poradził sobie z napisaniem jakiegoś docker compose, który odpali kontener z tym crudem + jakiegoś AWSowego localstacka i zapuści na tym testy.

ZC
Z moich obserwacji w .NET obecnie wygląda to podobnie. Do tego asynchroniczne WEB API i jakiś pomysł na mikroserwisy / modularny monolit (ergo zakoduj i skaluj wg obecnie obowiązujących trendów).
KO
  • Rejestracja:prawie 2 lata
  • Ostatnio:26 minut
  • Postów:139
1

Wydaje mi się, że na tym forum przeceniany jest leetcode a niedoceniany system design. Może to specyfika środowiska javovego, ale na rozmowie na seniora raczej spodziewałbym się zaprojektowania kolejnego klona instagrama/tiktoka a nie klepania pętli i operacji na stringach. Albo może jednego i drugiego skoro obecnie rozmowy rekrutacyjne to taki sirius biznes.

Zobacz pozostałe 6 komentarzy
Malowanie_Kostki_Rubika
@korokczan: wydaje mi się, że oni live codingiem chcą sprawdzić poniekąd czyjąś inteligencję, tylko zapominają, że ktoś może być wtedy nadmiernie zestresowany. Uczenie się zadań na stronach to dla mnie dziwny pomysł - po co się uczyć na takie testy? Ludzie chyba mylą live coding z zadaniami z matematyki, gdzie uczysz się, jak rozwiązywać konkretnie określone na starcie problemy.
LukeJL
widziałem filmik, w którym właśnie gość wyśmiewał system design z tych względów, że każą zrobić Twittera w chwilę, a to było rozwijane latami. Ale na tym filmiku jeszcze mówił o tym, że są proste zasady, które się mówi, żeby byli zadowoleni czy jakoś tak. Że to tylko aktorstwo. Trzeba mówić, co chcą usłyszeć https://www.youtube.com/watch?v=rKgtPABz9AY
99xmarcin
chatGPT przejdzie system design (spróbuj sam najlepiej) ale na leetcode medium/hard takie głupoty pisze że tylko się śmiać... Przykład chat zaprojektuj 4p: https://chatgpt.com/share/670a5aab-5858-800f-a165-5061e1a942e5
Malowanie_Kostki_Rubika
Ludzie kiedyś mówili, że przejście przez test Turinga zrówna komputer z człowiekiem. ChatGPT go przeszedł, i dziś wychodzi na to, że jeśli ChatGPT będzie w stanie wymyślać algorytmy, człowiek zostanie w pełni zastąpiony przez sztuczną inteligencję. Z drugiej strony zastanawia mnie, gdzie to będzie mieć limit. Jak mniemam limit możliwości będzie zależał od zasobów obliczeniowych i od tego, jak wydajny jest model sieci neuronowej mózgu przy rozwiązywaniu problemów.
99xmarcin
O bardzo ciekawe rozumowanie, while (programmer.hourlyRate() < gpt.hourlyRate()) programmer.keep()
RG
  • Rejestracja:ponad rok
  • Ostatnio:około 11 godzin
  • Lokalizacja:[x, y]
  • Postów:7
0

W odpowiedzi na pytanie @Still pewnie część ofert na programistę javę nie ma w wymaganiach javy, albo rzeczywiście się gdzieś walnąłem.
Kodzik tutaj (java, bo miało być coś większego, ale nie miałem czasu, a teraz juz mi się nie chce 😄 ).gov.zip

  • gov.zip (3 KB) - ściągnięć: 13
SS
a jak/skad sciagnales plik json? data.zip?
KE
  • Rejestracja:około 6 lat
  • Ostatnio:około 13 godzin
  • Postów:658
0

W moim przekonaniu, poszukiwani są nie tyle DevOpsi pełnej krwi, co programiści (czegoś), z możliwie mocnymi skillami Docker/Kubernetes/Cloud

Ogólnie zauważam coraz bardziej trend "role compression" czyli programista niech będzie opsem, frontendowiec niech będzie też grafikiem, QA niech też ogarnia UX, a analityk fajnie jakby data science znał. Po co płacić za 2 stanowiska, jak można za jedno.

SZ
Czyli tak jak w sumie kiedyś było...
piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:minuta
  • Postów:3277
1

@kelog Ja to widzę inaczej:
Full stack, to nie jest oszczędzanie na stanowiskach, ale oszczędzanie czasu i w sumie zrobienie sobie takiego backendu, jaki z punktu widzenia FE będzie dobry.
DevOps, to jednak z założenia "kultura", a nie stanowisko. Tak jak 10 lat temu trzeba było się nauczyć Git'a, bo to niby nie programowanie, ale jednak narzędzie, tak dzisiaj trzeba mieć jakieś pojęcie o Docker, czy Kubernetes, bo to również narzędzia wykorzystywane przy developmencie. Pisząc jakąś aplikację korzystającą z bazy danych nikt rozsądny nie będzie instalował Postgresa na swojej maszynie, jeżeli wystarczy wpisać w terminalu docker run postgres i mieć to uruchomione w 3 minuty. Jak na produkcji aplikacja zacznie walić błędami, to też warto wiedzieć o pod'ach, jak zobaczyć logi, jak debugować.
O QA się nie wypowiadam, bo od lat żadnego nie widziałem, chyba że mowa o programistach, którzy faktycznie zajmują się głównie testami automatycznymi.

KE
Pracowałem w małej firmie, która zatrudniała (prawie) samych fullstacków (a przynajmniej im się wydawało, że nimi są). W 100% chodziło o jak najtańszy dewelopment, no i o łatwość zarządzania ludźmi, skoro każdy taki sam jest. Wiadomo oszczędność czasu też jest, ale to raczej jako efekt uboczny.
Malowanie_Kostki_Rubika
Zgadzam się z kelogiem - zawsze ktoś ma większe zainteresowanie jednym albo drugim i im mniej pasji w coś wkładasz, tym gorszy efekt wychodzi.
piotrpo
No spoko, kogoś (np. mnie) może mniej interesować frontend i pewnie nigdy nie osiągnę w tym biegłości. Ale z drugiej strony jak trzeba coś prostego zrobić, to mam rozłożyć łapki i mówić, że "nie potrafię:? Obrazić się na rzeczywistość, czy co?
KE
Tak, rozkładasz ręce i mówisz "nie potrafię", po prostu. Czy ja oczekuję od hydraulika, żeby mi panele położył? Story of my life, przez ten nacisk na fullstackowanie ostatecznie zmieniłem pracę, nagle okazało się, że jestem w stanie sprzedać 30% swojej wiedzy za 150% pieniędzy (aczkolwiek to było parę lat temu, rynek lepszy). A jeśli ktoś chce ode mnie czegoś więcej - nie ma problemu, nauczę się, będzie adekwatnie do stanu mojej wiedzy - k8s/aws używam od 6 lat, to niech klient nie oczekuje, że frontend będzie tej samej jakości co infra po tygodniu nauki Reacta xD
Malowanie_Kostki_Rubika
Zapomniałem jeszcze dodać, że oszczędności czasowej też nie widzę, skoro odpada wielowątkowość - chyba że współpraca front-endowców z back-endowcami przebiega patologicznie. @piotrpo, rozumiem twój punkt widzenia, jeśli firmy nie stać i pozostaje częściowy wolontariat dla chętnych. W przeciwnym wypadku przechylasz opłacalność na stronę pracodawcy, a chyba chodzi nam, żeby wszyscy byli jak najbardziej zadowoleni.
99xmarcin
  • Rejestracja:prawie 5 lat
  • Ostatnio:4 miesiące
  • Postów:2420
1

@korokczan odpowiem postem bo się w komentarzu nie miejści.

Offtop "idealny proces rekrutacji programistów" wg. 99xmarcin:

Dostajesz 10 issue z czego wybierasz 1 lub 2 z projektów OpenSource non-profit.
Wykonujesz PRa, mergujesz i ta da - jesteś zatrudniany.

Żeby nie zarzucać projektów open source śmieciem taki projekt musi wyrazić na to zgodę, oraz pierwsze code review wykonuje firma.
Takie podejście:

  • nie marnuje czasu programistów (mogą oni wykorzystać te PRy jako część swojego portfolio;
  • robimy coś dobrego dla świata np. łatamy dziury bezpieczeństwa);
  • symuluje prawdziwe warunki pracy;
  • sprawdza umiejętności komunikacji, opisu PRa, dyskusji i dopytywania o szczegóły.
  • PR w żaden sposób nie odnosi się do firmy, można używać nicków jednorazowych (chodzi o zapewnienie prywatności w rekrtuacji, jedynie rekrtuer wie że o ten PR chodziło).

Obecne podejścia:

  • marnują brain power programistów
  • nie pozostawiają publicznego śladu (to że rozwaliłeś leetcode hard w jednej firmie nie ma znaczenia w innej)

Wady (żeby być bezstronnym):

  • Możliwość nadużycia przez janusza biznesu (będziesz dodawał PRy do jego projektu "open source")
  • Możliwość oszustwa (podobnie jak przy zadaniach domowych; można kogoś zatrudnić do wykonania pracy) - konieczne extra sprawdzenie podczas pierwszego code review.

Holy sh*t, with every month serenityos.org gets better & better...
edytowany 1x, ostatnio: 99xmarcin
Zobacz pozostałe 2 komentarze
99xmarcin
@Pinek: każdy interview który odbywa się zdalnie też można oszukać, ale dla oszustów firma powinna mieć PIP i program naprawczy...
99xmarcin
Dodatkowo zadania wcześniej czy później i tak wyciekną z firmy więc nawet onsite nie pomaga. Ale tutaj z PRem jest pewna zaleta jeżeli koszt takiego PR to np. 2 dni pracy to niewielu będzie chętnych do takiej pomocy. Ograniczyło by to również aplikacje na rympał w celach czysto treningowych.
KE
"symuluje prawdziwe warunki pracy" - serio PR do opensource, zrobiony wieczorkiem przy jednym piwku (góra pięciu) symuluje warunki typowej pracy programisty w firmie? Jeśli tak, to poproszę namiary ;P
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)