Specyfika pracy w języku Java - dylemat/kierunek rozwoju

1

Od jakiegoś czasu mocno zaczynam rozważać zmianę ścieżki rozwoju. Przebranżowiłem się, samo programowanie sprawia mi przyjemność, niestety specyfika pracy w korporacji pozostawia wiele do życzenia. Jako junior trafiłem do projektu rozwijanego od wielu wielu lat, typowe spaghetti, bagno i 5m mułu (do tego każdy developer/architekt w projekcie tak twierdzi...). Wiem, że takich projektów jest dużo, szczególnie w dużych korporacjach, pytanie jest jednak inne.

  1. Czy w webowej Javie programuje się aplikacje średniej wielkości? Chciałbym aby projekty nie były budowane latami. Przyjemniej jest robić więcej mniejszych aplikacji. Jeśli tak to w jakie firmy/branże celować?
  2. Czy specyfika samego Springa i Hibernatea skazuje te frameworki na ścieżkę korporacyjną? Jeśli to typowy framework kobyła, który tylko tam ma zastosowanie to nie wiem czy zdecyduję się na specjalizowanie w tym kierunku. O JEE nie pytam, bo tutaj chyba ciężko znaleźć inne zastosowania.
  3. Czy na chwilę obecną łatwo jest znaleźć pracę jako Android developer? Ogłoszeń trochę jest, znacznie mniej niż JEE/web, ale jak to wygląda w praktyce? Chodzi mi o pracę na etacie/kontrakcie, a nie o samodzielne sprzedawanie aplikacji na Google Play. Podejrzewam, że praca jako mobile dev wygląda nieco inaczej.

Lubię Javę, lubię Springa, niestety w obecnej pracy 3/4 czasu zajmuje przekopywanie się przez stary kod i jego debugowanie. Innowacyjnych rzeczy tutaj nie ma, głównie refactor i drobne zmiany. Typowego tworzenia kodu, myślenia, rozwiązywania prawdziwych problemów jest jak na lekarstwo. Chciałbym poznawać technologie, uczyć się nowych rzeczy, a nie większość czasu pracy grzebać w samym systemie. Przyznam, że zaczyna mnie to męczyć psychicznie.

1
  1. Raczej tylko "wewnętrzne" aplikacje albo jakis bardzo konkretny projekt fixed-price. Jak coś jest pisane dla klientów za kasę to firmy mają parcie żeby cały czas coś nowego dodawać ;] Więc musiałbyś celować w firmy tworzące jakiś soft wewnętrznie dla siebie albo w jakieś software house klepiące projekty dla jednego klienta.
  2. Wydaje mi się że DI oraz ORMa używa się teraz w każdej sensownej aplikacji, niezależnie od tego czy jest kobyłą czy nie ;)

Jeśli chodzi o grzebanie w starym sofcie to po prostu większość pracy na rynku na tym polega. Zmień firmę, niekoniecznie technologie.

5
Shalom napisał(a):

Jeśli chodzi o grzebanie w starym sofcie to po prostu większość pracy na rynku na tym polega. Zmień firmę, niekoniecznie technologie.

@stayclassy

Dokładnie słuchaj kolegi, ja też mam taki problem tylko, że jestem ginekologiem i też muszę często grzebać w starym sofcie jeśli tak to można nazwać. Ty chociaż jesteś programistą:(

0

To nie możesz przejąć inicjatywy i refaktoryzować kodu? Napisać chociażby testów dla swojego kodu? Nikt tu nie mówi o CC na wysokim poziomie, ale chociaż najważniejsza logika funkcjonalności, które realizujesz/naprawiasz? Próba wprowadzenia nowego narzędzia? Chociażby nowej wersji istniejącego narzędzia?

0

Niestety deadliney nie pozwalają na swobodną refaktoryzację, wszystko jest praktycznie dopięte co do dnia, a czasu zawsze brakuje. Na koniec sprintów i tak wszyscy klepią nadgodziny. Testy jednostkowe piszemy, ale nawet dodanie jakiegoś widoku/zakładki to kwestia przekopania się przez strasznie dziwną i zawiłą logikę. Ogólnie zasada jest taka, że jeśli refaktoryzujemy to tylko to za co klient płaci (niestety to firma outsourcingowa), reszty staramy się nie ruszać, bo nie ma po prostu na to czasu. Wszystko jest ściśle określone, nie ma za dużo swobody. Korzystanie z logiki biznesowej, która ma już chyba "naście" lat, i ewentualne jej modyfikowanie nie należy do miłych/przyjemnych.

Może to faktycznie akurat kwestia firmy, do której trafiłem. Przez to jak ta praca wygląda to często zastanawiam się nad przejściem na androida z javy webowej.
Wiem, że taki mniejszy, własny soft był tworzony w poprzedniej firmie, w której pracowałem (jako inżynier, nie programista). Wszystko było pisane jednak w C#, a z tego co kiedyś czytałem to tego typu rynek został zdominowany właśnie przez C#. Nie chodzi o to, że chcę być oddelegowany do zadań specjalnych, po prostu chcę tworzyć coś nowego, elastycznego, opartego na fajnych technologiach. Najchętniej coś mniejszego. Nawet zwykłe apki typu CRUD wydają mi się przyjemne, o ile wszystko jest jasne, dobrze zaprojektowane i robione bez nerwów.

Pozostaje jeszcze kwestia Androida? Fajnie by było, gdyby ktoś bezpośrednio siedzący w temacie się wypowiedział. A jak wygląda specyfika pracy w software housie? Miał ktoś doświadczenia tego typu? Teraz czuję się jak w obozie pracy i tego chciałbym jednak uniknąć. Jedynie na pieniądze nie można narzekać.

0

Nie mam dużego doświadczenia, ale moja aktualna firma pisze i utrzymuje zarówno kobyły jak i małe projekty, które na pewno by Ci się spodobały. Więc zależy to od firmy/czasu w jaki do niej trafisz/projektu.

Pomyśl może nad Scalą - Sparkiem i podziałaj coś w zakresie big data? Są 3 firmy w stolicy które non stop rekrutują.

Pozdro

0

Big data raczej odpuszczę. Nie ciągnie mnie do tego i chyba nie potrafię być przez dłuższy czas korposzczurem. Chyba spróbuję sił w innej, mniejszej firmie. Po prostu przy rekrutacji będę bardzo szczegółowo wypytywał o projekty, do jakich miałbym trafić. Jeśli jakiś mobile dev czyta ten temat to zachęcam do wypowiedzi. Chętnie poznałbym opinię na ww. tematy :)

0

Naparzaj crudy :D

0

Nie żeby praca przy nowych projektach była jakąś szczególnie interesująca w szczególności kiedy domena jest ciągle ta sama, mi już przy trzecim projekcie z tej samej branży(Media), zaczyna to wychodzić bokiem. :P

0
InterruptedException napisał(a):

Nie mam dużego doświadczenia, ale moja aktualna firma pisze i utrzymuje zarówno kobyły jak i małe projekty, które na pewno by Ci się spodobały. Więc zależy to od firmy/czasu w jaki do niej trafisz/projektu.

Pomyśl może nad Scalą - Sparkiem i podziałaj coś w zakresie big data? Są 3 firmy w stolicy które non stop rekrutują.

Pozdro

Co to za firmy?

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