• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Programowanie niskopoziomowe czy web dev?

+2 głosów
1,295 wizyt
pytanie zadane 20 maja 2024 w Rozwój zawodowy, nauka, praca przez whiteman808 Mądrala (5,560 p.)
edycja 20 maja 2024 przez whiteman808
Witajcie

Mam problem ze zdecydowaniem się między web developerką od strony backendu a niskopoziomowym programowaniem systemowym (C, kernele i te sprawy). Nie jestem człowiekiem, który goniłby za dużymi zarobkami. W kwestii web devu trochę odrzuca mnie fakt że programiści gardzą web developerami. Jeśli chodzi o programowanie systemowe to nie chce mi się tykać Rusta, na którego jest ostatnio moda. Wolę C i C++ od Rusta ale wszędzie gdzie się da mówi się o „przechodzeniu na Rusta”. Nie to, że nie lubię Rusta tylko po prostu mnie on najwyczajniej nie interesuje.

Chcę mieć poczucie że robię coś ambitnego a w przypadku web devu trochę czuję że będę zwykłym klepaczem stronek jak to mówią ci uprzedzeni do web developerów i podczas robienia hobbystycznych rzeczy w PHP mam poczucie że PHP fajne ale nie aż tak wymagające myślenia jak C. W C trzeba myśleć o zarządzaniu pamięcią i te sprawy a ja to lubię.

Powód dla którego rozważam web dev jest taki że oprócz niskopoziomowego programowania lubię czasem także porobić coś wysokopoziomowo opr.

Będę wdzięczny za pomocne odpowiedzi
komentarz 20 maja 2024 przez whiteman808 Mądrala (5,560 p.)
Rozważam przejście z web dev na programowanie niskopoziomowe także z powodu że sam ze sobą się lepiej czułem zajmując się sprzętem i miałem poczucie zajmowania się czymś bardziej ambitnym w przypadku C itp np C wymaga więcej myślenia o zarządzaniu pamięcią a ja to lubię

5 odpowiedzi

+6 głosów
odpowiedź 20 maja 2024 przez Comandeer Guru (607,960 p.)

W kwestii web devu trochę odrzuca mnie fakt że programiści gardzą web developerami.

Polecam wyjść z takiego toksycznego środowiska. Web development to jest programowanie. Jeśli ktoś ma z tym problem, to właśnie – ma problem.

No i web dev to nie jest tylko "klepanie stronek". Tak, spora część projektów tak wygląda, ale przecież frontend to też zaawansowane tematy architektoniczne (łącznie z wielowątkowością przy pomocy Web Workers) czy złożone projekty opierające się na WASM. A jak już przy WASM-ie jesteśmy, to tak naprawdę daje możliwość pisania kodu dla przeglądarki w C++, co w sumie do jakiegoś stopnia łączy obydwa światy wspomniane przez Ciebie.

Nie zgodziłbym się też, że C wymaga więcej myślenia niż PHP. To są języki zupełnie innego poziomu, stąd i sposób myślenia jest zupełnie inny. W C myślisz o pamięci, w PHP – o odpowiednim podziale architektury na abstrakcje. Jedno i drugie może stanowić wyzwanie w zależności od tego, co konkretnie się robi i jak dużej skali jest projekt.

Ostateczna decyzja i tak należy do Ciebie, ale fajnie byłoby nie kierować się w tym względem uprzedzeniami.

komentarz 20 maja 2024 przez whiteman808 Mądrala (5,560 p.)
Dzięki za konkretną odpowiedź. W takim razie zostaję przy pisaniu stron WWW.
komentarz 20 maja 2024 przez whiteman808 Mądrala (5,560 p.)
Najlepiej to będzie jak przyjdę tu z jakąś prośbą o code review zamiast zastanawiać się czy X czy Y
+2 głosów
odpowiedź 20 maja 2024 przez Panelinio Stary wyjadacz (10,680 p.)

Generalnie nikt Ci nie broni spróbować i tego i tego. Takie wyzwanie sobie możesz zrobić - jeden miesiąc tylko webdeveloperka, drugi już niskopozomiówka.

Zawsze możesz też połączyć te dwie dziedziny i tworzyć aplikacje komputerowe, albo gierki z launcherem w przeglądarce. Kwestia tego, w czym się lepiej czujesz - Ty sam. Nie co gadają inni. Skończysz przykładowo w programowaniu C/C# i po jakimś czasie nie będzie to dla Ciebie frajda.

Osobiście mogę polecić próbowanie. Sam siedzę w webdeveloperce (póki co nic wielkiego), ale ciekawią mnie inne języki - co robią, jak działają. Ostatnio sobie Rusta trochę popisałem tak dla frajdy, wcześniej Javę szlifowałem, też coś z Pythona porobiłem, poczytałem o Assemblerze.

Nie ograniczaj się - próbuj aż znajdziesz to co polubisz wink

0 głosów
odpowiedź 21 maja 2024 przez marcin99b Szeryf (86,280 p.)
To bardziej kwestia czy lubisz klikać w komputer, czy rozmawiać z ludźmi

Co z nich jest trudniejsze/ciekawsze to już kwestia mocno indywidualna, dla większości ludzi niskopoziomowe tematy są dużo trudniejsze, bo mają akurat taki typ osobowości, że wolą dyskusje z biznesem niż skrajne optymalizacje pamięci... ale są też ludzie którzy mają odwrotnie, wolą "siedzenie w piwnicy" nad wyznaczonym celem, niż domyślanie się co ktoś nietechniczny sobie wymyślił

Ja osobiście po przejściu z "zwykłego" zespołu do bardziej elitarnego, czuje się mniej zmęczony po pracy, bo mam jasne cele nad którymi pracuje, wiadomo co mam zrobić, to jest trudne, ale moge usiąść na spokojnie i skupić się tylko na tym. Jak wcześniej pracowałem w mocno wysokopoziomowym zespole, to zadania z technicznego punktu widzenia miałem mega proste, ale bardzo męczyło mnie to ile spotkań muszę zaliczyć żeby dowiedzieć się co tak właściwie mam zrobić, a później okazywało się że 90% mojej pracy to dogadywanie się żeby inny zespół coś dla mnie zrobił, żebym ja tylko napisał prostą integracje.

Pewnie się powtórze, ale są ludzie dla których akurat tamten styl pracy to byłoby spełnienie marzeń, bo nie lubili grzebania w kodzie, a lubili całą tą otoczke wokół robienia zadania.. nawet bym powiedział że tacy ludzie to większość branży bo większość ludzi idących na studia informatyczne, tak na prawde nie chce siedzieć w piwnicy przy projektach których nikt nie rozumie. Wolą klepać prostego cruda, przy którym nie trzeba za dużo myśleć, ale są wokół niego 4 godziny spotkań dziennie w pracy, a jak po pracy opowiesz znajomym czym sie zajmujesz to będzie to fajnie brzmiało.

Dlatego też w internecie jest dużo "propagandy" mówiącej że webdev (a w szczególności frontend) jest najlepszy dla każdego, tak samo jest dużo propagandy wokół DDD, szczególnie w okolicy 2018-2020 była duża moda na bycie takim bardziej "biznesowym" programistą, który ledwo ogarnia pisanie kodu, ale za to "rozumie wizje". Nie mówie że to złe, po prostu widać że często to jest przedstawiane jako najlepsza możliwa ścieżka, bo pasuje do większości ludzi, ale to żaden argument bo możesz mieć inną osobowość niż statystyczna większość
komentarz 5 czerwca 2024 przez whiteman808 Mądrala (5,560 p.)
1. Jeżeli miałbym pchać się w web dev to jest sens ogarnąć dla samego siebie algorytmy? Znalazłem książkę z przykładami w Javie, w której jest dosyć prostym językiem wyłożone co to jest notacja wielkiego O, złożoność obliczeniowa, listy łączone, stosy, kolejki, algorytmy sortowania i tego typu sprawy. Algorytmów chcę się uczyć głównie z ciekawości i jakby przyszło mi kiedyś w C++ czy Javie wybierać między użyciem wektora / array listy, hash mapy czy jakiejś innej struktury danych, by lepiej wypaść na interview i by mieć wiedzę o podstawowych algorytmach jakby kiedyś przyszło mi pracować jako programista Javy (bo większe zarobki) lub C++.

2. Czy przy wybieraniu języka programowania powinienem sugerować się zarobkami?
komentarz 5 czerwca 2024 przez marcin99b Szeryf (86,280 p.)

Jeżeli miałbym pchać się w web dev to jest sens ogarnąć dla samego siebie algorytmy

Co rozumiesz jako webdev? Bo to mimo wszystko szeroki zakres... ale tak, zawsze to jakieś ćwiczenie myślenia

 wybierać między użyciem wektora / array listy, hash mapy czy jakiejś innej struktury danych

To warto wiedzieć dla samego rozumienia co jak działa pod spodem, według mnie nie ma sensu sie tym męczyć na start, ale nie wyobrażam sobie doświadczonego programisty bez takiej wiedzy (niektórzy mówią że są doświadczeni a tego nie wiedzą, ale to frajery i kłamią że są doświadczeni, żeby się lepiej poczuć)

programista Javy (bo większe zarobki) 

Java to bardziej robienie projektów których nikt nie chce dotykać, a nie poważniejsze oprogramowanie... wiadomo, zależy od firmy, ale tam ta kasa wynika często z tego że ludzie nie wytrzymują psychicznie a ktoś musi pracować

Czy przy wybieraniu języka programowania powinienem sugerować się zarobkami

Zarobki to trudny temat bo dużo rzeczy sie na nie składa, masz projekty w których jest dobra kasa bo są przestarzałe i irytujące, a masz projekty w których jest dobra kasa bo wymagają dużej wiedzy, są ciekawe, ale większości ludzi nie chce się uczyć

Są też projekty w których jest dobra kasa, bo projekt to "łatwy zysk" (jechanie na kasie od unii albo inwestorów, chociaż teraz jest tego mniej niż kiedyś), ale tam trzeba uważać, bo wtedy zarabiasz dużo przez szczęście a nie realne umiejętności, jak inwestor zrezygnuje a firma cie wywali, to może się okazać że twoje umiejętności są dużo mniej warte - może zaboleć jak przyzwyczaiłeś się do dobrej kasy, masz jakieś kredyty, leasingi itd

Teoretycznie najlepiej iść w trudne rzeczy, które wymagają dużo nauki, ale są satysfakcjonujące, bo będziesz mieć dużo pieniędzy i satysfakcje zamiast wypalenia, ale ta ścieżka wymaga najwięcej siedzenia nad nauką wieczorami... a jak te godziny sie podsumuje, to zarobki nie wychodzą aż tak dobrze, jak przy projekcie który powoduje u ludzi objawy depresyjne

Ale objawy depresyjne też zabierają ci czas z życia, a w dodatku psują ci zdrowie i mogą wymagać drogich wizyt u specjalistów, więc też trzeba je brać pod uwage przy obliczeniach opłacalności

No ciężko powiedzieć co się opłaca, jakiej ścieżki byś nie wybrał, zawsze jest coś co wymieniasz na pieniądze, raz to będzie czas, innym razem zdrowie psychiczne, innym razem oba ale zbalansowane

komentarz 5 czerwca 2024 przez Comandeer Guru (607,960 p.)

To warto wiedzieć dla samego rozumienia co jak działa pod spodem, według mnie nie ma sensu sie tym męczyć na start, ale nie wyobrażam sobie doświadczonego programisty bez takiej wiedzy (niektórzy mówią że są doświadczeni a tego nie wiedzą, ale to frajery i kłamią że są doświadczeni, żeby się lepiej poczuć)

Z całym szacunkiem, ale to już jest ohydny gatekeeping. Tak, warto poznawać algorytmikę i tego typu rzeczy dla własnej przyjemności czy poszerzenia horyzontów. Ale twierdzenie, że ktoś jest frajerem, bo nie wie, jak działają choćby algorytmy sortowania, jest po prostu obrzydliwe. Programowanie jest tak szeroką dziedziną, że ta wiedza sporej części osób nigdy nie będzie do niczego potrzebna (choćby dlatego, że dla nich platformą uruchomieniową będzie np. przeglądarka, a nie system operacyjny) 

No ciężko powiedzieć co się opłaca, jakiej ścieżki byś nie wybrał, zawsze jest coś co wymieniasz na pieniądze, raz to będzie czas, innym razem zdrowie psychiczne, innym razem oba ale zbalansowane

Nie, jeśli wymieniasz zdrowie psychiczne na pieniądze, to znak, że jesteś w bagnie i należy stamtąd sp*ać w podskokach. 

komentarz 6 czerwca 2024 przez marcin99b Szeryf (86,280 p.)

Programowanie jest tak szeroką dziedziną, że ta wiedza sporej części osób nigdy nie będzie do niczego potrzebna

W praktyce raczej nie będzie pisał od zera sortowania według gotowej instrukcji, bo to bez sensu, ale jeśli ktoś mówi że jest super doświadczonym seniorem, a później wychodzi że nie wie czym jest hashmapa, nawet mimowolnie nie trafił na ten temat, bo "klepał takie projekty w których to nie było potrzebne", to zdecydowanie nie jest tak doświadczony jak mu sie wydaje, po prostu przesiedział ileś czasu robiąc zadania w listy i uzależnił swój rozwój od planów jakiejś firmy

Spędzanie potężnych godzin na nauce hardkorowej optymalizacji, jak ktoś nie chce robić tego zawodowo, wydaje sie bez sensu, ale jeśli ktoś przez wiele lat nawet z ciekawości nie sprawdził jak rzeczy które robi działają pod spodem, albo jakie są sposoby robienia tego lepiej (np wybieranie lepszych gotowców, bo wie sie który jest dobry do czego), to słabo

Nie, jeśli wymieniasz zdrowie psychiczne na pieniądze, to znak, że jesteś w bagnie i należy stamtąd sp*ać w podskokach

Ja takich unikam, ale widze jak wygląda spora część branży - uciążliwe projekty których nikt nie chce dotykać, z tragicznym zarządzaniem, z rażąco złymi decyzjami... i dobrymi pieniędzmi, bo gdyby były słabe to nikt by tego nie utrzymywał

To też jest jakaś ścieżka kariery, dla niektórych kusząca bo wydaje sie "łatwą kasą" (a jak coś wygląda na "łatwą kase" to zawsze znaczy że koszt ponosisz gdzieś indziej), ale niektórzy wybierają ją świadomie

1
komentarz 6 czerwca 2024 przez Comandeer Guru (607,960 p.)

jeśli ktoś mówi że jest super doświadczonym seniorem, a później wychodzi że nie wie czym jest hashmapa, nawet mimowolnie nie trafił na ten temat, bo "klepał takie projekty w których to nie było potrzebne", to zdecydowanie nie jest tak doświadczony jak mu sie wydaje, po prostu przesiedział ileś czasu robiąc zadania w listy i uzależnił swój rozwój od planów jakiejś firmy

To, że Ty masz taką, a nie inną wizję seniorstwa, nie oznacza, że inni też tak na to patrzą. Ktoś może być bardzo doświadczonym seniorem w jakiejś konkretnej niszy, w której używa się konkretnego języka programowania, dla którego hashmapa będzie szczegółem implementacyjnym – totalnie nieobchodzącym nikogo, dopóki sam język działa. Dopóki ktoś jest usatysfakcjonowany z "klepania" jednego typu projektów i jest w tym dobry, to nie widzę tutaj żadnego problemu. I tak, taka osoba jest seniorem, bo ma lata doświadczenia w konkretnej niszy, w której funkcjonuje.

Zastanawia mnie, czemu ten argument jakoś nigdy nie działa w drugą stronę. Czemu seniora w C++ nie nazywa się frajerem, bo nie wie, co to DOM. Przecież niemożliwe, żeby przez te wszystkie lata o tym nie słyszał! Albo czemu nikt nie kwestionuje doświadczenia programisty asma, który nie słyszał o garbage collectorze. Ewidentnie się nie rozwija. Absurdalne? Tak samo, jak wymaganie, żeby osoby pracujące w – że tak rzeknę – bardziej wysokopoziomowym środowisku miały niskopoziomową wiedzę. Czy programiście, który tworzy wyłącznie aplikacje sieciowe, jest potrzebna wiedza o tym, jak działa sortowanie bąbelkowe czy jakiekolwiek inne, jeśli to jest szczegół implementacyjny przeglądarki, ukryty za jakimś API typu Array#sort()?

Programowanie jest na tyle szerokie, że nie da się być uniwersalnym seniorem, zawsze następuje jakaś specjalizacja. To, czy ktoś chce mieć dogłębną wiedzę z konkretnej dziedziny, czy nieco płytszą, ale z różnych dziedzin, to jest już indywidualna decyzja każdej osoby. Nazywanie frajerem kogoś, kto spędził 10 lat w konkretnej niszy i jest prawdziwym specjalistą w niej, jest po prostu śmieszne. Nikt nie zarzuca kardiologowi, że nie umie operować mózgu. Więc dlaczego programiście webowemu zarzuca się, że nie rozumie, jak się programuje przeglądarki?

0 głosów
odpowiedź 21 maja 2024 przez netteria.NET Początkujący (300 p.)
Nie wiem skąd przeświadczenie że ktoś gardzi web developerami. Serio. Osobiście robię i w font-end i back-end. A raczej klepanie stronek to teraz niewielka część pracy. Głównie robi się (przynajmniej ja tak mam) sklepy w oparciu o Magento 2, Prestashop, itd. Wierz mi przy tym nie trudno o wyzwania. Pamiętam jak kiedyś pisałem moduł pod Fedex. Myślałem że szlak mnie trafi bo miał tam takie specjalne zadania a z ich filią w UK słabo się szło dogadać jeśli chodzi o programowanie póki nie dotarłem do samych programistów. Aplikacje web też potrafią być wyzwaniem. Nie uważam w każdym razie aby web developerzy byli jakimś gorszym sortem. Tu też należy mieć sporo wiedzy.
–5 głosów
odpowiedź 20 maja 2024 przez niezalogowany
szczerze rob co chciesz . nie wiem czemu ktos miał by gardzic web developerami . w koncu to nadal fajne programowanie. i oczywiscie ja sie nie znam to moja opinia,radzie robic co ci odpowiada .teoretycznie mozesz zając sie opbydwoma rzeczami :D ale powtórze ze sie nie znam

Podobne pytania

0 głosów
1 odpowiedź 835 wizyt
+1 głos
3 odpowiedzi 1,795 wizyt
0 głosów
1 odpowiedź 785 wizyt
pytanie zadane 17 listopada 2018 w C i C++ przez Wi_ktos Bywalec (2,950 p.)

93,727 zapytań

142,668 odpowiedzi

323,283 komentarzy

63,287 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...