Z embedded do web

Z embedded do web
RO
  • Rejestracja:ponad 6 lat
  • Ostatnio:około miesiąc
  • Postów:28
0

Cześć,

pracuję od ponad 5 lat w branży embedded. Na początku głownie C, teraz C++. Stanowisko koniec mid/poczatek seniora. Ostatnio rozglądałem się za zmianą pracy i trochę się zmartwiłem bo na śląsku wybór jest praktycznie zerowy.

Większe firmy, w których jako tako idzie zarobić to:

  1. Rockwell Automation
  2. DisplayLink ( z czego rekrutacje sa bardzo rzadko).

i to chyba tyle?

Zastanawiam się w takim razie, czy nie warto przebranżowić się na jave lub c#. Jak wygląda sytuacja tych języków na śląsku?
Wiem, że embedded we WRC czy KRK wygląda troszkę lepiej, ale planuje zostać na śląsku.

Ktoś z forum mieszka na śląsku i pracuje może w .net albo javie i może coś powiedzieć na ten temat?

Zastanawiam się czy też jest jakakolwiek szansa przejścia z embedded np. do web w c#/javie...

A może wejść np. w C++ QT? chociaż tutaj wcale nie jest lepiej?

Z góry dzięki za pomoc.

edytowany 1x, ostatnio: rooti
AO
z embedded to wszędzie jest słabo. Teraz więcej firm jest otwartych na pracę zdalną, może poszukaj czegoś zdalnie?
RS
Sugerowałbym jednak jeszcze poszukać przed zmianą działki. Zgadzam się, że z embedded jest słabo, jednak mi w Warszawie udaje się znaleźć zatrudnienie w tej działce i dostaję też oferty z Warszawy lub okolic. Tym bardziej więc powinno się udać coś znaleźć we Wrocławiu lub Krakowie. Z pracą zdalną będzie pewnie problem, ale coś powinno się znaleźć, szczególnie w czasach Covidu. Ja obecnie robię wszystko z domu, główną pracę i zlecenia. W głównej pracy są nawet zatrudnieni obcokrajowcy, którzy nigdy w Polsce nie byli. A firma nie jest żadnym korpo.
B2
w krk czy wrc nie ma problemu z tego co widze. Ja niestety jestem na slasku.
CR
W ogłoszeniach jak na dłoni widać, że popyt na programistów embedded jest o wiele mniejszy niż na webowców, ale nie jest czasem tak, że i podaż jest o wiele mniejsza?
B2
tak, ale tez mniejsza konkurencja... a z drugiej storny pewnie przejscie z embedded do web to zaczynanie od juniora za 3k...
CR
O tym właśnie mówię. W embedded mniej miejsc pracy, ale i mniej developerów. Przejście do web raczej nie skończy się zaczynaniem od juniora za 3k, bo to jednak 5 lat doświadczenia komercyjnego w programowaniu, i OP tą javę w parę tygodni ogarnie pewnie dużo lepiej, niż osoba ucząca się od zera przez pół roku.
somekind
Ale dyskusje na temat prowadzi się w postach, nie komentarzach.
Satanistyczny Awatar
  • Rejestracja:ponad 6 lat
  • Ostatnio:14 dni
  • Postów:704
1

Ja wiele mogę zrozumieć, ale nie skok z embedded na webdev.

Nie lepiej przejść na admina?

Jeśli działałeś w temacie bebechów okołokernelowych i masz pojęcie jak działają popularne OSy UNIXopochodne oraz umiesz robić wiwisekcje działającym programom w C, C++ i umiesz nawigować w kodzie C ze zrozumieniem (co może się przydać nie raz i nie dwa), kompilować jądro i popularne demony ze źródeł ustawiając środowisko pracy (zmienne, instalacja bibliotek) to jesteś do przodu o lata świetlne niż ktoś goły w temacie a idący do adminki i mający za sobą tylko postawienie kilku demonów na skrzyż i Wordpressa. Jeśli w dodatku robiłeś te embedded w kontekście komunikacji po sieci i coś tam jarzysz jak pakiety po sieciach latają, to masz kolejny atut.

Jeśli chcesz iść w webdev to rozumiem, że coś już liznąłeś w temacie? Zapytania MySQL? PHP? Python? Jeśli tak to masz kolejne punkty do posady admina.

Idąc w webdev w zasadzie wyrzucasz do kosza większość tego co robiłeś przez ostatnie lata.

Piszę to jako były pracownik działki embedded, który przeszedł do adminki.

Wiem, że embedded we WRC czy KRK wygląda troszkę lepiej, ale planuje zostać na śląsku.

Kiedy to Wrocław wyrzucili ze Śląska? :P

AO
ale po co pchać się w administrację, robotę nudniejszą i za mniejszą kasę? Mało to rzeczy używanych w backendzie jest w C napisane - Redis, PostgreSQL, Nginx, Asterisk? Można robić optymalizację w kernelu, pisać filesystemy. Go, nowa gwiazda web jest podobna do C.
Satanistyczny Awatar
Czy za mniejszą to rzecz mocno dyskusyjna, zwłąszcza jak się ograniczysz do Śląska i nie miast typu Wrocław. Zwłaszcza jak dorwiesz zdalną. Zwłaszcza jeśli będzie na którymś etapie dla bogatszej zagranicy. Plus jakoś nie widzę powodu czemu webdev miałby być mniej nudny.
Satanistyczny Awatar
Golang oczywiście też dobry trop i nie tylko do webdev się ogranicza jego zastosowanie. Z tym, że raczej tylko zdalnie mu pozostanie jeśli nie chce się przenosić nigdzie.
RO
  • Rejestracja:ponad 6 lat
  • Ostatnio:około miesiąc
  • Postów:28
0

@Satanistyczny Awatar: Ścieżka admina mnie kompletnie nie interesuje. Odkąd przeszedłem z c na c++ (w embedded) spodobało mi się to wszystko związane z OOP. Więc zacząłem myśleć o tym, żeby w ramach tej samej pracy spróbować przeskoczyć jakoś na tego .net?? Pytanie czy takie ruchu są w ogóle możliwe... (jest to korpo).

Miang
a patrzyłeś juz na tę obiektowość w .net?
RO
mam kilka projektów w .net więc tak.
Miang
garbage collector Ci pasuje? no to już nie ma ratunku ;)
Satanistyczny Awatar
  • Rejestracja:ponad 6 lat
  • Ostatnio:14 dni
  • Postów:704
1
rooti napisał(a):

Odkąd przeszedłem z c na c++ (w embedded) spodobało mi się to wszystko związane z OOP. Więc zacząłem myśleć o tym, żeby w ramach tej samej pracy spróbować przeskoczyć jakoś na tego .net?? Pytanie czy takie ruchu są w ogóle możliwe... (jest to korpo).

Cóż, różne widziałem w życiu dziwne zamiłowania, więc i w zapałanie miłością do OOP jestem w stanie uwierzyć. Czy taki ruch jest możliwy to już będą ci musieli odpowiedzieć decydenci w tym korpo. Nikt na forum ci na to pytanie odpowiedzi nie jest w stanie udzielić.

edytowany 1x, ostatnio: Satanistyczny Awatar
RO
Nie liczę na to, że ktoś mi odpowie raczej chciałem się dowiedzieć czy ktokolwiek miał podobną sytację i podpowie jak do tego podejść. Bo rozmowa z managerem o tym bezpośrednio to nie wiem czy dobry pomysł, może lepiej podpytać ludzi z software co trzeba umieć itp..
Satanistyczny Awatar
Ludzie robili różne przeskoki. Sam widziałem skok z webdevu do embedded. CO nie zmienia faktu, iż to że ktoś gdzieś zrobił skok z embedded do webdev zasadniczo niewiele wniesie do twojej sytuacji. Jak najbardziej popytanie ludzi z docelowego działu ma sens. Reszta to kwestia zapotrzebowania działów, wdzięku własnego i widzimisię zwierzchników.
Bonanzaa
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 4 lata
  • Postów:168
1

Nie trzeba mieszkać na śląsku, żeby wiedzieć, że w Javie nowej pracy szuka się 1 miesiąc. Z tego co piszesz to jedyne kryterium wyboru języka, więc Java jest dla Ciebie

RO
  • Rejestracja:ponad 6 lat
  • Ostatnio:około miesiąc
  • Postów:28
0

@Satanistyczny Awatar:
"Idąc w webdev w zasadzie wyrzucasz do kosza większość tego co robiłeś przez ostatnie lata."
To mnie trochę martwi. Bo aktualnie jestem praktycznie na poziomie senior wiec oferty dostaje na poziomie UoP - 13-15k brutto albo B2B okolice 100zł/h. Zakładam, że to będzie blisko sufitu już w embedded. Może te 120-130/h za jakis czas.
Ale jak to wyglada w .NET?
Bo zakładając, że przeskoczę w tej samej firmie na .net to stawka przy najlepszych wiatrach pozostanie ta sama. Ale za ile czasu będę mógł rzucać kwotami 100z l/h na b2b w takim .net jak moje całe doświadczenie w web bedzie od 0? Bo jeżeli kolejne firmy będą liczyłu mi tylko doświadczenie w .net to takie zarobki będę miał za jakieś 3-4 lata. Co kompletnie mi się nie opłaca.
Zakładam też, że sporo będę musiał włożyć nauki, żeby dogonić wiedzą ludzi z 3-4 letnim expem w .Net (web).

Ale zakładam, że odpowiedź brzmi. TO ZALEŻY od kolejnego pracodawcy.

edytowany 4x, ostatnio: rooti
Zobacz pozostały 1 komentarz
RO
zależy w jakim kontekscie. Jeżeli chodzi o #śląsk i #embedded to tak, to są stawki na +/ wyjście z mida/senior. Pytanie na ile możlie liczyc .net na śląsku, bo patrząc po ofertach to jest całkiem podobnie.
AO
coś chyba za mało się cenisz. Ja na Śląsku co prawda nigdy nie pracowałem ale w Warszawie pracowałem w 2019 za 120 PLN/h a kilka dni temu miałem rozmowę za 150 PLN/h zdalnie. Też embedded ale nie taki "prawdziwy" tylko embedded Linux, z STM32 mam tylko niewielkie doświadczenie. Oczywiście, jakbym znowu szedł do IT (o ile w ogóle) to nie brałbym żadnego embedded tylko od razu szedł w Java albo Android i elo, jebać bezrobocie.
RO
Otoż to. Jak zaczynałem miałem inne podejście do tego. Teraz też celowałbym całkiem w co innego. Czyli bardziej c/linux embedded niż c++ embedded?
AO
Ja zdecydowanie tak, C++ to chyba raz użyłem, tak to rządzi C, Shell jak to na Linuksie i Python jak już rzygam tym C
Satanistyczny Awatar
No niestety odpowiedź na większość pytań typu "czy jest możliwe", "czy da się" itp, brzmi "to zależy". W kontraktorniach potrafią z juniorów robić seniorów i czasem to nawet przechodzi.
RequiredNickname
  • Rejestracja:prawie 5 lat
  • Ostatnio:2 minuty
  • Postów:620
1

Ale wiesz, że wspomniane przez Ciebie OOP w kontekście po prostu języka to taki poziom (moim zdaniem) juniorski?
Poza pisaniem klas i wiedzą co to jest enkapsulacja (w przypadku javy) dochodzi jeszcze poznanie całego ekosystemu JVM'a (narzędzia, frameworki, biblioteki), metodyk pracy (TDD) czy koncepcji architektonicznych (architektura heksagonalna, cqs/cqrs, event driven czy DDD).

Nie jestem pewien na ile tych elementów używa się w embeded ale w biznesowym sofcie pisanym w javie jest to wymagane więc przemyśl czy to w twoim przypadku tylko kwestia zmiany języka i poznania jego składni czy musisz nadrobić też całą wspomnianą wcześniej otoczkę.

Update:
Zapomniałbym o otoczce związanej z jvm'em jako takim: profilowanie, gc, model pamięci (zaawansowane rzeczy ale skoro chcesz przeskoczyć z seniora na seniora/mocnego mida to imho wypada orientować się w temacie).

edytowany 2x, ostatnio: RequiredNickname
RO
  • Rejestracja:ponad 6 lat
  • Ostatnio:około miesiąc
  • Postów:28
1

@RequiredNickname: Zdecydowanie większość tego co wyminiłeś nie występuje w embedded. Sam język znam. Dochodzi tutaj poznanie np. asp.net, entity framework, podejscia MVC itp. Jak najbardziej się z tym liczę. Dlatego wyznaczyłem sobie pół roku żeby ogarnąć wszystko dookoła (zakładając, że sam język i OOP znam). Co Ty myślisz na ten temat? Czy są to rzeczy to wciągnięcia w takim czasie? Czy to raczej inny rząd wielkosci.

Update:
W zasadzie chciałbym przeskoczyć z seniora, na mida po prostu.

edytowany 1x, ostatnio: rooti
Bonanzaa
szacuję, że zajmie Ci 5 lat ogarnięcie tego na poziomie 100zł/mc na B2B
RO
dochodzę powoli do podobnych wniosków. Chyba, że to miało być złośliwe :P
Bonanzaa
Nie było złośliwe, pracuję w webówce od 10 lat, ilość rzeczy przytłacza, chyba, że jesteś gotowy na stawkę mida czyli trochę więcej niż połowę tego
RO
Jeżeli stwaki rzędu 120zł/h będę miał za najszybciej 5 lat to kompletnie mi się to w tej sytuacji nie opłaca. Dodając do tego masę czasu.
RequiredNickname
  • Rejestracja:prawie 5 lat
  • Ostatnio:2 minuty
  • Postów:620
2

Pytanie na ile owocna będzie nauka na własną rękę na pet projektach bo to jednak nie to samo co rzeczywisty projekt w pracy (poziom skomplikowania, czas który można poświęcić itp).
Ogólnie zagadnień związanych z javą jest tak wiele, że osoba (mimo doświadczenia w pisaniu kodu) ucząca się od 0 nie ma szans startować wyżej niż na mida.

To co (moim zdaniem) powinien umieć mid w większym lub mniejszym stopniu to:

  • core języka, zagadnienia związane z wielowątkowością
  • narzędzia pokroju mavena do budowy projektów
  • spring/spring boot
  • sql, orm (hibernate + ewentualnie jakaś alternatywa)
  • rest/soap/reactive programing (np. webclient w springu)
  • wzorce projektowe/architektoniczne
  • biblioteki typu junit, guava, apache itp
  • różnego rodzaju zbiory zasad (clean code autorstwa wujka Boba, solid, grasp, prawo demeter)
  • podstawowa znajomość konteneryzacji
  • algorytmika
  • wspomniane wcześniej koncepty typu TDD,DDD,CSQ,CQRS, Event Driven itp
  • testowanie (jednostkowe, integracyjne itp)
  • zagadnienia związane z mikroserwisami
  • zagadnienia związane z jvm (gc jako must have)

Kilka książek wypadałoby do tego przeczytać (np. wspomniany clean code, effective java to takie must have)

Jeśli jesteś to wszystko w stanie ogarnąć na przeciętnym/dobrym poziomie w ciągu kilku miesięcy to jestem pełen podziwu ;)

Ps. to są rzeczy które teraz jako pierwsze przychodzą mi do głowy i na które ja staram się zwracać uwagę i w nich poszerzać wiedzę. Najpewniej o czymś zapomniałem albo o czymś jeszcze nie wiem, że będę musiał poznać)

edytowany 2x, ostatnio: RequiredNickname
Zobacz pozostałe 2 komentarze
RO
Chyba Cię troszkę ponosi :) Firmy jak zatrudniają juniorów to praktycznie nic nie potrafią, nigdy nie pracowali w prawdziwych projektach. Znają podstawy języka, trochę SQL i springa. A po roku czy półtora są już midami. Umiejętności techniczne są ważne, ale coraz bardziej ceni się też inne umiejętności jak umiejętność pracy w zespole, doświadczenie w projektach międzynarodowych itp.
RequiredNickname
Nie rozumiem do czego pijesz. Pracuję z javą już jakiś czas, wylistowałem Ci listę rzeczy które mid lepiej lub gorzej powinien znać/umieć/kojarzyć. Nie, bynajmniej umiejętnościami miękkimi nie przykryjesz braków technicznych (spróbuj zaaplikować do jakiejś lepszej firmy to szybko zostaniesz sprowadzony na ziemię). Junior juniorowi nie równy. To czy ktoś się tytułuje midem/seniorem nie zmienia faktu, że albo realnie nim jest bo ma wiedzę na odpowiednim poziomie albo nie. Nie wierzysz? Ślij CV, przekonasz się sam.
RO
No i tutaj się mylisz. Bo jeżeli ktoś ma wiedzę techniczną, a nie potrafi pracować w zespole to jest niżej traktowany niż ktoś kto ma skile miękkie a wiedzę techniczną zawsze da się douczyć :-) spoko, wyśle i dam Ci znać jak będę podpisywał umowę na mida :-)
RequiredNickname
Dalej nie rozumiesz. W umowie możesz mieć wpisane nawet senior. Problem w tym, że w jednej firmie będziesz na poziomie seniora bo to ci wpiszą na umowie (i tylko to, bo bycie seniorem to coś więcej niż stanowisko na umowie) a w innej nie załapiesz się na mida. Tak czy inaczej powodzenia ;)
RO
Zgadzam się z Toba w 100%. Ale sam fakt załapania się do firmy na nowe stanowisko daje szybki rozwój w nowej technologii. Więc imho, najgorzej zrobić skok, potem to już kwestia czasu. Dzięki!
PK
PK
  • Rejestracja:ponad 4 lata
  • Ostatnio:prawie 4 lata
  • Postów:245
1

Mnie tam na Twoim miejscu nie przeszkadzałoby to, że jest N rzeczy do nauczenia. Tego typu rzeczy idzie przerobić, bo też to nie są super skomplikowane rzeczy, i jak ktoś potrafi się uczyć to temat jakoś ogarnie.

Martwiłbym się tym czego będziesz musiał się niestety oduczyć z C++, bo podejście w webówce jest trochę inne, dużo rzadziej spotkasz optymalny kod, a w praktyce coraz mniej będzie miało znaczenie jak daną rzecz zrobić z perspektywy wydajności, a bardziej będzie się liczyło co ogólnie robisz, czy to będzie utrzymywalne i czy rozumiesz szerszy kontekst tego co robisz.

Stąd częściej spotkasz wrapery od wraperów na wrappery, a typowy dzień może oznaczać klepanie kodu tylko po to, by zintegrować ze sobą gotowe biblioteki/narzędzia/serwisy, które w zasdadzie wykonują główną pracę. W dłuższej perspektywie taka praca jest znacznie mniej ciekawa niż problemy/tematy jakie występują przy c++.

Na Twoim miejscu wersja ostrożna, wybrałbym scalę, bo tam też bohatersko jak w C++ idzie programować i dzień mija przyjemnie nawet przy nudnych rzeczach.

Natomiast jeśli nie scala to wybrałbym javascript + typescript, bo wtedy jest 3-4 razy mniej nauki (względem java i backendu), a kasa porównywalna i dużo więcej zdalnych ofert.

edytowany 1x, ostatnio: pan_krewetek
Bonanzaa
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 4 lata
  • Postów:168
0

Na seniora pewnie wymagaliby od Ciebie wcześniejszej pracy nad kilkoma projektami webowymi

edytowany 1x, ostatnio: Bonanzaa
cpp_beginer
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 2 lata
  • Postów:105
0

@Satanistyczny Awatar:

Satanistyczny Awatar napisał(a):

Ja wiele mogę zrozumieć, ale nie skok z embedded na webdev.

Nie lepiej przejść na admina?

Jeśli działałeś w temacie bebechów okołokernelowych i masz pojęcie jak działają popularne OSy UNIXopochodne oraz umiesz robić wiwisekcje działającym programom w C, C++ i umiesz nawigować w kodzie C ze zrozumieniem (co może się przydać nie raz i nie dwa), kompilować jądro i popularne demony ze źródeł ustawiając środowisko pracy (zmienne, instalacja bibliotek) to jesteś do przodu o lata świetlne niż ktoś goły w temacie a idący do adminki i mający za sobą tylko postawienie kilku demonów na skrzyż i Wordpressa. Jeśli w dodatku robiłeś te embedded w kontekście komunikacji po sieci i coś tam jarzysz jak pakiety po sieciach latają, to masz kolejny atut.

Jeśli chcesz iść w webdev to rozumiem, że coś już liznąłeś w temacie? Zapytania MySQL? PHP? Python? Jeśli tak to masz kolejne punkty do posady admina.

Idąc w webdev w zasadzie wyrzucasz do kosza większość tego co robiłeś przez ostatnie lata.

Piszę to jako były pracownik działki embedded, który przeszedł do adminki.

Twoje zalożenia są strasznie niepoprawne. Embedded to bardzo szeroka dziedzina. Znam ludzi co 20 lat w tym siedzą i nie mają pojęcia ani o Linuxie(może jedynie Instalacja Ubuntu), Uniksie, komunikacji po sieci, w niektórych aplikacjach embedded Linuxa się w ogóle nie używa, tylko pisze się kod w C i ASM na małe uC, co nie znaczy, że jest to proste zadanie, gdyż są to systemy extremalnie krytyczne. Takcy progamiści to często bardziej elektronicy niż programiści.

Wg mnie Embedded != Admin.

Satanistyczny Awatar
  • Rejestracja:ponad 6 lat
  • Ostatnio:14 dni
  • Postów:704
0
cpp_beginer napisał(a):

Twoje zalożenia są strasznie niepoprawne.

Moje założenia są strasznie poprawne.

Wg mnie Embedded != Admin.

Według mnie czytanie nie jest tożsame czytaniu ze zrozumieniem.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.