Praca jako Java Developer - jak to jest u was

0

Cześć, pracuje jako świeżo upieczony java developer od jakiegoś czasu i ogólnie to jest super bo używamy raczej nowego stacku (java 17 będzie 21, spring boot 3+, Kafka, docker, kubernetes) i same technologie mi się mega podobają, ale mam problem z tym - jak ta praca wygląda.

Robienie taska polega na tym, że jest gdzieś zakodowana podobna funkcjonalność (chociażby jeden raz ale jest..) i moje taski polegają na tworzeniu podobnych funkcjonalności bazując na pierwowzorze. Ten pierwowzór pisze u nas tech lead który pisze w Javie z 15 lat. I ogólnie super, uczę się w ten sposób jak takie rzeczy powinny powstawać ale to absolutnie nie zbliża mnie do jakiejś samodzielności w taskach...

Nie mam żadnego problemu z ogarnieciem user strory i zakodowaniem całego ale to dlatego bo dostaje takie gdzie wiadomo na czym się wzorować - a nie są to taski gdzie mam od początku do końca obmyślić koncept i stworzyć ten pierwowzór.

  1. Czy u was jest podobnie, czy po prostu mnie ciągną za rączkę i nie dają samodzielnie tworzyć rzeczy?
  2. Jak tutaj dojść do poziomu mida skoro mam ciągle "małpować"

Może tak po prostu to wygląda na początku?

0
  1. Nie - nie jest podobnie
  2. Jesli tylko Twoja praca tak wyglada, to daj sobie troche czasu - moze tak wyglada wdrozenie. Jesli praca calego zespolu wyglada w ten sposob to tutaj problem zaczyna zdecydowanie rosnac i niestety, ale prawdopodobnie trafiles do jednej z patologi...
    Najlepiej po prostu, najzwyczajniej w swiecie porozmawiaj o tym ze swoim managerem - od tego on jest ;).
3

Depends.
Pytania:

  • czy to wygląda tak, że jest już gdzieś kawałek kodu i ty robisz copy paste, coś tam zmieniając?
  • czy też lead przygotowuje specjalnie dla twojego zadania taki wzorcowy kawałek?
  • czy inni podobnie pracują?

Ogólnie: małpowanie to sensowny sposób nauki, o ile zadajesz pytania "dlaczego" i eksperymentujesz ze zmianami (nawet dużymi - "what if")
Copy - paste to zwykle wskaźnik syfu, ale trudno powiedzieć jak to dokładnie wygląda - java to dość słaby język więc na pewnym poziomie "copy paste" jest trudny do uniknięcia (see: design patterns).

1

Najmłodszy zawsze odwala najgorszą pracę. Ile tam już siedzisz? Ogólnie to w pracy nie ma za wiele "gree filda", w większości to te same powtarzalne zadania.

0
jarekr000000 napisał(a):

Depends.
Pytania:

  • czy to wygląda tak, że jest już gdzieś kawałek kodu i ty robisz copy paste, coś tam zmieniając?
  • czy też lead przygotowuje specjalnie dla twojego zadania taki wzorcowy kawałek?
  • czy inni podobnie pracują?

Ogólnie to jest i tak i tak. Czasem jest kawałek kodu który musi mieć dopisaną metodę ale core musi pozostać taki sam - no to biorę ten core i dopisuje co trzeba, tyle że ta część do dopisania zazwyczaj jest bardzo prosta a tym wyzwaniem to było napisanie tego core...

Czasem jest tak, że userstory dzielimy na 5 tasków i wiadomo, że tym pierwszym taskiem inicjującym zadanie będzie do napisania core - to zazwyczaj pisze nasz lead a ja np. kończę resztę substory'ów ale też prawie zawsze mając gdzieś analogiczne substory zrobione w innym analogicznym story.

I inni podobnie pracują.

S4t napisał(a):

Najmłodszy zawsze odwala najgorszą pracę. Ile tam już siedzisz? Ogólnie to w pracy nie ma za wiele "gree filda", w większości to te same powtarzalne zadania.

Projekt to geenfield oparty o mikroserwisy tylko nawet tutaj - ta nowatorska część mnie omija, a ktoś musi dokończyć resztki zadań które potem są już analogiczne do wzorcowego zrobionego.

Siedzę 2 miesiące.

Ogólnie team jak i tech lead są super i są to mega życzliwe osoby natomiast, sposób pracy mnie martwi bo jednak chciałbym dojść do poziomu gdzie wiem że mam całe user story do napisania i abym potrafił się za to od początku do końca samodzielnie zabrać...

0

Java Developer 5 lat expa.

Zawuażyłem taki schemat, od jakichś 3 lat schemat się powtarza:

U mnie wygląda to tak, że mamy zespół 5/4 Developerów + Manager/Leader/IT Project Manager + Product Owner.

  1. Stawianie infry w Pulumi/Terraform/Cloud Formation
  2. Robienie pipelinów Azure/AWS itd
  3. OpenShift lub Kubernetes
  4. Zbieranie wymagań podczas refinementów, opisywanie tasków, dbanie o backlog na Jirze (rzadko kiedy pracowałem z prawdziwym biznes analitykiem więc te rzeczy sam robiłem zazwyczaj)
  5. Implementacja w Javie funkcjonalności / featerów
  6. Faza QA/Compliance/Cloud Security i tym podobne rzeczy
  7. Wdrożenie na poszczególne środowiska

Więc ja od 5 lat pracy miałem zawsze taki mix jak DevOps/Java/Spring/Hibernate/BA w jednym.
Według pracodawców i tak też aplikuję zawsze na Java Developera, ale nigdy mi się nie udało aby klepać samą Javę w Springu czy tam teraz Quarkusie. Choć pragnę do takiego projektu trafić....

Ale zdradzę Ci tip, póki jesteś młody i niedoświadczony. Juniorów/Midów zawsze najbardziej się ciśnie z robotą, tak zauważyłem.

Seniorzy np. tacy koło 35-40 lat zazwyczaj mają rodzinki, dzieci, jakieś pasje i nie mają już takich mocy przerobowych i chłonności umysłu co świeżo rozbrykany studencik po polibudzie :D

1
MateInf napisał(a):

Ogólnie to jest i tak i tak. Czasem jest kawałek kodu który musi mieć dopisaną metodę ale core musi pozostać taki sam - no to biorę ten core i dopisuje co trzeba, tyle że ta część do dopisania zazwyczaj jest bardzo prosta a tym wyzwaniem to było napisanie tego core...

Czasem jest tak, że userstory dzielimy na 5 tasków i wiadomo, że tym pierwszym taskiem inicjującym zadanie będzie do napisania core - to zazwyczaj pisze nasz lead a ja np. kończę resztę substory'ów ale też prawie zawsze mając gdzieś analogiczne substory zrobione w innym analogicznym story.

I inni podobnie pracują.

No to mniej więcej wiadomo:
macie prawdopodobnie słabego leada, który nie potrafi oddać odpowiedzialności. Dość typowe. Trudno być dobry leadem, bo trzeba pogodzić się z tym, że ludzie zrobią coś po swojemu, być może nieoptymalnie, ale najważniejsze, że inaczej niż TL by to zrobił.

Jak nadzieja: jak raz czy dwa okaże się, że TL nie może pojechać na urlop, bo development się zatrzymuje to może się ogarnie.

0
jarekr000000 napisał(a):
MateInf napisał(a):

Ogólnie to jest i tak i tak. Czasem jest kawałek kodu który musi mieć dopisaną metodę ale core musi pozostać taki sam - no to biorę ten core i dopisuje co trzeba, tyle że ta część do dopisania zazwyczaj jest bardzo prosta a tym wyzwaniem to było napisanie tego core...

Czasem jest tak, że userstory dzielimy na 5 tasków i wiadomo, że tym pierwszym taskiem inicjującym zadanie będzie do napisania core - to zazwyczaj pisze nasz lead a ja np. kończę resztę substory'ów ale też prawie zawsze mając gdzieś analogiczne substory zrobione w innym analogicznym story.

I inni podobnie pracują.

No to mniej więcej wiadomo:
macie prawdopodobnie słabego leada, który nie potrafi oddać odpowiedzialności. Dość typowe. Trudno być dobry leadem, bo trzeba pogodzić się z tym, że ludzie zrobią coś po swojemu, być może nieoptymalnie, ale najważniejsze, że inaczej niż TL by to zrobił.

Jak nadzieja: jak raz czy dwa okaże się, że TL nie może pojechać na urlop, bo development się zatrzymuje to może się ogarnie.

Hmm, może w tym rzecz. Pewnie warto by zasugerować w rozmowie chęć wzięcia niektórych rzeczy na siebie całkowicie od zera.

Dzięki wielkie wszystkim za dyskusje i podzielenie się wiedzą :)

0

Siema.
Podejrzewam że pracujemy w tej samej firmie. W każdym razie jestem w identycznej sytuacji. Osobiście uważam że to patologiczna sytuacja i to bardzo

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