Stack technologiczny mid/senior Java ?

0

Co must have a co dobrze zeby było w stacku wspólczesnego Java developera poziom mid/senior ? (Poza Java i Springiem czy SQL)

2

Chyba nie aż tak "znajomość" a,b,c ze stacku, jak głębokość tej znajomości, umiejętność rozwiązywania problemów itd... swoboda poruszania się.

2
  • JPA/Hibernate
  • Docker
  • Kubernetes
  • AWS
  • Gradle
  • GraphQL
  • Microservices patterns
  • REST
1

Poza konkretnymi technologiami to must have jest DRY, KISS, SOLID, wzorce (chociaż najpopularniejsze, niekoniecznie wszystkie 24 GOF), bo co z tego jak umiesz w chmurę i kontenery, jak Twój kod wygląda jak kupa.

2

Jak dla mnie najważniejszą umiejętnością w skillsecie każdego programisty jest umiejętność pisania testów, wzorce, loose-coupling, i inne takie.

Sama technologia jest mniej istotna, bo i tak pracując gdzieś 6-9 miesięcy się jej nauczysz. Umiejętności wyżej - już nie (bo to wymaga lat nauki).

0

@Riddle: Wzorcami produktu nie stwożysz jasne nie nauczysz sie szybko pisania "ładnie". Ale też nie będziesz w stanie wyestymować produktu w danej technologii ani tym bardziej przewidzieć problemów w wyborze. A tym bardziej zaprojektować systemu. Bo będziesz miał braki w toolsecie i jego możliwościach.

Połowa świata industry to jeden wielki crap gdzie w kodzie ciężko o jakiekolwiek wzorce. Tymczasem jednak to wszystko działa.
Osoba która zna tylko "umiejętność pisania testów, wzorce, loose-coupling" potrzebuje prowadzenia za rączkę najczęściej.

0
Schadoow napisał(a):

@Riddle: Wzorcami produktu nie stwożysz jasne nie nauczysz sie szybko pisania "ładnie". Ale też nie będziesz w stanie wyestymować produktu w danej technologii ani tym bardziej przewidzieć problemów w wyborze.

Będziesz.

Nigdy nie napisałem nic w Scali, ale myślisz że miałbym jakiś problem z tym żeby estymować i zaplanować pracę na taki projekt?

Schadoow napisał(a):

Osoba która zna tylko "umiejętność pisania testów, wzorce, loose-coupling" potrzebuje prowadzenia za rączkę najczęściej.

No nie wiem gdzie :|

0

Nic poza algorytmami jak startujesz do amerykańskiego korpo lub Startup'u... Większość i tak będzie "in-house made" i "custom".
Ostatnio pracuję z tak przerobionym OpenAPI że nigdy nie jestem pewien czy należy podążać za oficjalną dokumentacją czy może czytać kod przeróbek...

0

Powiedz, że to bait, że :

  1. nie zarejestrowałeś się na forum 2 lata temu
  2. raczyłeś wpisać w google swoje turbo generyczne pytanie
  3. podpytałeś chat gpt
  4. przejrzałeś szeroko dostępne w sieci zbiory pytań rekrutacyjnych na mid/senior java developera

i po prostu na koniec postanowiłeś zapytać tutaj w nadziei, że ktoś napisze coś o czym się jeszcze nie dowiedziałeś (‡ಠ╭╮ಠ)

0

@Riddle: I rozumiem, że podpisałbyś w umowie, że fizycznie odpowiadasz za tą wycenę ? W sensie ze jak bedzie pomyłka to dokładasz z własnej kieszeni ?

0
Riddle napisał(a):

Sama technologia jest mniej istotna, bo i tak pracując gdzieś 6-9 miesięcy się jej nauczysz.

Pytanie czy wolisz przechodzić rozmowy kwalifikacyjne, czy się na nie oburzać xd (tak, wiem, Ty takie rozmowy od razu odrzucasz, ale nie każdy jest Tobą).

0
Schadoow napisał(a):

@Riddle: I rozumiem, że podpisałbyś w umowie, że fizycznie odpowiadasz za tą wycenę ? W sensie ze jak bedzie pomyłka to dokładasz z własnej kieszeni ?

Myślę że tak.

0

Java 11 i 17 opanowana
JPA/Hibernate + SQL
NoSQL np Mongo, Cassandra, DynamoDB
Elasticsearch
Spring, REST
Docker, K8S, konteneryzacja (dobra znajomość basha)
AWS(SNS/SQS, ECS, EC2, S3, Lambdy i inne)
Cachowanie (np Redis)
Kafka/Kinesis/RabbitMQ/SQS (nie są wymienne, ale z jednym z tych na pewno będziesz mieć styczność)

  • lata stażu
    no i algorytmy pod rozmowę
0

Nie byłbym taki pewny, że musisz umieć akurat AWS, a nie cokolwiek innego...

0
Riddle napisał(a):

Nigdy nie napisałem nic w Scali, ale myślisz że miałbym jakiś problem z tym żeby estymować i zaplanować pracę na taki projekt?

Myślę, że nigdy nie napisałeś nic w Delphi, ale gdybyś miał estymować pracę na taki projekt to byś poległ. Nie pisałeś też nic na iOS i tam też byś poległ. Nie pisałeś też nic w C++ na Arduino i tam też byś niczego nie zaplanował.

Nie wyestymowałbyś nie tylko projektu ale nawet uruchomienia środowiska.

0
gajusz800 napisał(a):
Riddle napisał(a):

Nigdy nie napisałem nic w Scali, ale myślisz że miałbym jakiś problem z tym żeby estymować i zaplanować pracę na taki projekt?

Myślę, że nigdy nie napisałeś nic w Delphi, ale gdybyś miał estymować pracę na taki projekt to byś poległ. Nie pisałeś też nic na iOS i tam też byś poległ. Nie pisałeś też nic w C++ na Arduino i tam też byś niczego nie zaplanował.

W każdej z tych rzeczy się mylisz.

Dodatkowo, Delphi to był pierwszy język w którym zacząłem pisać.

Chodzi o to że jak wejdziesz w jakąś dziedzinę odpowiednio głęboko, to nie musisz znać dokładnych szczegółów (takich jak np język) żeby móc coś wyestymować.

0

No szczerze to chciałbym to zobaczyć, jak estymujesz rzeczy, gdzie nie masz pojęcia o istniejących ograniczeniach chociażby. Z Delphi to był tylko strzał bo chodzi o coś, z czym nie miałeś do czynienia.

Co do języka masz rację, problem w tym że nie wystarczy znać składnię języka bo specyfika platformy może się diametralnie różnić, mogą istnieć pewne ograniczenia, których nie jesteś świadom i to nie jest wiedza uniwersalna.

0
gajusz800 napisał(a):

Co do języka masz rację, problem w tym że nie wystarczy znać składnię języka bo specyfika platformy może się diametralnie różnić, mogą istnieć pewne ograniczenia, których nie jesteś świadom i to nie jest wiedza uniwersalna.

Jasne.

Aczkolwiek te specyfiki nie różnią się od siebie jakoś diametralnie. Deploy na AWS nie różni się jakoś specjalnie od deploy'u na Azure. Podobnie z frameworka i i innymi takimi.

0

Ale deploy na iOS albo na embedded owszem się różni. Metodyki, wzorce, ograniczenia platformy które mogą wymuszać pewne kompromisy dotyczące dobrych praktyk itd. Także ogólnie nie zawsze będziesz w stanie wszystko przewidzieć

0
gajusz800 napisał(a):

Ale deploy na iOS albo na embedded owszem się różni. Metodyki, wzorce, ograniczenia platformy które mogą wymuszać pewne kompromisy dotyczące dobrych praktyk itd. Także ogólnie nie zawsze będziesz w stanie wszystko przewidzieć

Im platformy są bardziej oddalone od siebie to będzie trudne. Zgadzam się że co do takiego deploy'a na iOS to raczej bym się wstrzymał. Ale jeśli chodzi o aplikację webową, czyli coś co umiem bardzo dobrze, to nie miałbym problemu.

0

No tak, ale tutaj poruszasz się ciągle w obrębie tego, co już znasz. Jaki to jest język programowania to kwestia drugorzędna bo i tak wszystko działa analogicznie, a resztę można doczytać w dokumentacji.

0
gajusz800 napisał(a):

No tak, ale tutaj poruszasz się ciągle w obrębie tego, co już znasz. Jaki to jest język programowania to kwestia drugorzędna bo i tak wszystko działa analogicznie, a resztę można doczytać w dokumentacji.

No przecież dokładnie to napisałem wyzej :|

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