Ucieczka od webdevelomentu, ale gdzie?

Ucieczka od webdevelomentu, ale gdzie?
MI
  • Rejestracja:około 9 lat
  • Ostatnio:około godziny
  • Postów:110
0

Cześć, pracuje już trochę (pewnie i tak krócej niż 90% osób na tym forum) jako java developer w mikroserwisach. Dużo różnych technologii, taski robie samodzielnie itd. itp. taki poziom w którym nie jestem juniorem który potrzebuje pomocy innych (ale midem się nie nazwę :P )

Ale problem mam taki, że jak siadam do roboty to sprowadzi się ona do trzech typów zadań - zrobić jakieś api klasy bądź restapi, zrobić consumera/producera do kolejki(u mnie kafka) bądź gdzieś jest bug bo coś się nie zapisuje (zazwyczaj coś niepoprawnie odczytane z kafki) - zaczynam chyba wpadać w jakąś manie albo depresje bo jak myśle, że kolejny dzień z takimi zadaniami to aż nie chce mi się otwierać laptopa. To wszystko jest tak masakrycznie mało rozbudowane i powtarzalne że ciężko wytrzymać.

Dlatego chciałbym zapytać was - jakie są ciekawe, trudne i ambitne rzeczy w software engineeringu ? Zaczynam rozważać robienie doktoratu (z nauk ścisłych) aby od tego uciec i robić coś co jest wyzwaniem ale też chcę zarabiać dlatego nie wyobrażam sobie odpuszczenie pracy.

Myślałem o HFT, low latency w Javie i C bądź alternatywnie praca przy jakichś silnikach bazodanowych tyle, że pracy przy bazach to pewnie za dużo nie ma...

ML raczej odpada - umiem sensownie w sieci neuronowe ale przede wszystkim w matematyke. Pracowałem jako data scientist i jak zderzyłem się z realiami jak wygląda praca w korpo data scientisty to odechciało mi się robić MLa dla biznesu..

Więc jak ktoś wie, to jakie są działki w IT które są na poziomie typu HFT, low latency, silniki bazodanowe ?

PS.
Proszę nie odebrać tego postu jako "webdevelopment" jest zbyt łatwy dla mnie czy coś. Po prostu to raczej nie dla mnie, aczkolwiek zdaje sobie sprawę że to 95% rynku.

Edit.
Póki co myslałem o tym HFT/low latency bo branża wydaje się być mega bezosobowa, bezduszna dla której liczą się tylko wyniki co mi pasi bo jeśli mam już robić coś co nie ma większego sensu (kolejny system bankowy..) to wolę robić coś co na maksa stawia na śrubowanie wyników. Na lekarza już raczej się nie przebranżowię 

Edit edit:
Co do tego: "To wszystko jest tak masakrycznie mało rozbudowane i powtarzalne że ciężko wytrzymać." - chwilowe pocieszenie i frajdę odnalazłem w projektach open-source do których staram się kontrybuować teraz. Są to projekty z których my korzystamy jako zewnętrznych dependencji ale tak mnie zainteresowało jak są napisanie, że finalnie zrobienie jakiegoś pull requesta do nich okazało się faktycznie fajną zabawą - tyle, że idąc w tą stronę to z głodu padnę :/

edytowany 2x, ostatnio: MateInf
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:24 minuty
  • Postów:5109
1

jeżeli nie zależy ci aby dużo zarabiać ( ;)), to w półprzewodnikach / embedded podobno jest trochę zabawy, więcej rzeczy fizycznych niż w świecie karuzeli http

i byłbyś w środku najgorętszych ostatnio tematów - patrz np. nvidia

edytowany 4x, ostatnio: WeiXiao
MI
heh, to trafiłeś - akurat półprzewodniki to bardzo duże hobby z czasów studiów, gdzie bardzo mocno dotknąłem ich i teoretycznie jak i praktycznie :P I tutaj w sumie ciekawe jak daleko HFT sięga w ten obszar. Udało mi się porozmawiać z osobą pracującą w tej dziedzinie 15+ lat i mówiła, że dotyka wszystkich tematów wykonywania oprogramowania - od napisania linijki kodu po kompilatory/maszyny wirtualne a także budowę procesorów <- i tutaj może ten temat faktycznie się rozwija i przydaje
K6
w embedded też da się spokojnie dobrze zarobić, ale wymagania są o wiele większe, na dobre stawki potrafią wymagać z 10 lat doświadczenia w tym do tego znajomość np. hardware na wysokim poziomie
SE
  • Rejestracja:prawie 6 lat
  • Ostatnio:12 dni
  • Postów:321
0

Low latency/hft to chyba najbardziej popularny obszar, gdzie mozna porobic cos ciekawszego i nie wchodzic w nisze.
Z innych pomyslow do glowy przychodzi praca dla popularnych tooli, np ostatnio na linkedinie bardzo duzo ofert dla dockera mi sie wyswietlalo, ale tam wymagaja Go. W C++ wbrew temu co jeden placzek na tym forum glosi tez jest sporo ciekawych projektow. Ja mialem okazje robic np soft do samolotow (nie krytyczny, ale i tak ciekawa przygoda) oraz pisac oprogramowanie do autonomicznych robotow mobilnych. Ogolnie zaryzykowalbym stwierdzeniem, ze statystycznie najwiecej nudnego legacy albo klepania restowych api na jedno kopyto jest wlasnie w javie.

Jest jeszcze krypto, ale dla mnie te oferty to w wiekszosci zlepek buzzwordow i przepalanie kasy inwestorow.

edytowany 2x, ostatnio: Seken
ledi12
@Czitels: Chyba o Tobie mowa xD
K6
rozwiązaniem jeszcze może być emigracja, do Polski niestety masowo spływa utrzymaniówka nudnych projektów i jest to spora część rynku, na emigracji są dużo większe szanse na porobienie jakiegoś R&D, czy ogólnie projektu z ciekawymi wyzwaniami
CZ
@ledi12: przypominam, że przy każdym poście/temacie tego typu zbierałem grono wyznawców :P więc coś musi być na rzeczy. A tak w ogóle to ja nie mówię, że projekty same z siebie są nudne, ale to, że w Polsce nie robimy tej części innowacyjnej, ale bardziej utrzymaniówka, łatanie bugów, które skopali ludzie z zachodu, albo klepanie UTków. Jest mało projektów c++20 na nofluffy/jj.
ledi12
  • Rejestracja:ponad 5 lat
  • Ostatnio:24 dni
  • Lokalizacja:Wrocław
1

Będę nudny, ale co tam. Wspomniałeś o bazach danych a więc może data engineering? :) Pracy jest sporo a znając jave możesz spokojnie zacząć np ze scala.


Robię http response status cody w martwych ciągach
MI
Na scale jestem bardzo otwarty - ale czy branża jest otwarta na ludzi znających Jave i chcących wejść w data engineering/big data w scale? Tutaj pewnie spark + kafka + scala i jakieś elementy clouda są potrzebne. O ile poza scalą rzeczy wydają się być standardem, to sama scala wydaje sie być mocno zamkniętym środowiskiem teraz a również, przejście Akki na płatne licencje pewnie mocno miesza nia niekorzyść jeśli chodzi o popularność...ale nie jestem pewien do tych rzeczy
ledi12
Środowisko jest otwarte, bo brakuje specjalistów w tym obszarze. Znając kafkę i jave imo startujesz z bardzo fajnego punktu.
LukeJL
Mając kafkę / javę to można sobie przerwę zrobić xD jeszcze można cukru dodać albo mleka jak ktoś lubi.
MI
  • Rejestracja:około 9 lat
  • Ostatnio:około godziny
  • Postów:110
0

Czyli troche takie kierunki, jak nie wchodzić w nisze ale wejść mega dogłębnie w jave, software i etapy egzekucji oprogramowania, optymalizacje to HFT/low latency.

Ewentualnie data engineering bowiem tam duże ilość przetwarzamy co faktycznie może być ciekawe. Jakieś systemy kolejkowe, przerzucenia danych z A do B + jakieś przekształcenia może na tych danych.

Embedded.

Badź praca przy toolach i tu przykładowo padł Docker (ale wiadomo inne komercyjne tootle pewnie też oferują spoko robote).

edytowany 1x, ostatnio: MateInf
BA
  • Rejestracja:około 3 lata
  • Ostatnio:8 dni
  • Postów:64
0

idź w php :D

Schadoow
  • Rejestracja:około 13 lat
  • Ostatnio:około 17 godzin
  • Postów:1067
0

Ostatnio mam dylemat do jakiego języka podejść, żeby może troche zmienić środowisko systemów enterprise w javie na coś innego.
Mocno zastanawiałem się nad tymi 3'ema go/rust/elixir sercem najbliżej do elixira ale ograniczona liczba ofert, rust znów oznaczałby dla mnie spory drop w zarobkach :|, a go mi się strasznie nie podoba. Ale może projekty by to wynagrodziły xD ?

KamilAdam
To w elixirze nie robią enterprise weba? Myślałem że do tego ten język był reklamowany? Nie żebym był jakimś znawcą co tam się w eliksirze dzieje. Tylko z paroma alchemikami gadałem XD
KamilAdam
BTW dziwne że Rust słabo płatny biorąc pod uwagę jak to trudny język jest :(
Schadoow
Nie tyle słabo płatny, że kompletnie inny zestaw skilli wiec musiałbym dropnąć ze dwa poziomy pewnie :v.
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)