Jaką ścieżkę rozwoju obrać

Witam,

Moja rada, jeśli chcesz zarabiać naprawdę dobre pieniądze, to zainteresuj się specjalistycznym oprogramowaniem biznesowym ERP/CRM. SAP, Dynamics AX, Dynamics CRM, … Ewentualnie narzędzia do integracji typu BizTalk. 

Webdeveloperów, czy programistów mobilnych da się zastąpić skończoną ilością 2-10x tańszych programistów z Indii, czy Pakistanu. Specjaliści/konsultanci od rozwiązań biznesowych potrzebni są na miejscu.

Witam, tak jak mówi przedmówca, Wystarczy że będziesz mistrzem Visual Paradigm. I znajdziesz bardzo dobrze płatną pracę. Oczywiście tutaj chodzi aby dany program “zrozumieć” a nie nauczyć się go obsługiwać na pamięć. Ale cóż, jeśli czujesz że masz talent to spróbuj jakoś może połączyć webdesign i webdeveloping. Takie “miszmasze” też są potrzebne. 

Zarówno do Webu jak i aplikacji mobilnych najlepiej nauczyć się Javy. I od tego najlepiej zacząć.

Inna możliwość to BigData, które jest dość ciekawe i też nieźle płatne. Do tego może być też Java lub lepiej jakiś język funkcyjny np. Scala.

Możliwość dużych zarobków to dobra motywacja, ale nie może być jedyną, bo nie będzie wystarczająca do osiągnięcia celów.

 

Z czego wynika, że wszędzie każdemu poleca się Javę?

Chyba tylko z tego, że jest to “industry best practise”. A jest to właśnie “industry best practise”, ponieważ jeżeli projekt zostanie zwalony, to nikt nie zawini menadżera o wybór języka. Co nie znaczy, że wybór ten jast w istocie najlepszy.

 

Java do Webu? Niby da się, ale kto w dzisiejszych czasach to robi? Mam wrażenie, że po stronie serwera (wśród relatywnie nowych aplikacji) jest już więcej kodu w JavaScripcie, niż w Javie. O Rubym i Pythonie nie wspominając.

 

Java do mobile? A co, nie ma innych platform niż Android? Wszelkie statystyki twierdzą, że lepiej zarobisz na iOSie. Czyli sugeruje to wyższość Swifta.

Do mobilnych jeszcze można użyć “Apache Cordova”

Czyli Javascript, i zadziała na każdej komórce…

A do tego zintegrowane z Visual Studio… skoro już kodujesz w C#…

https://cordova.apache.org/

 

PS,

Mógłbyś napisać (może być priv) gdzie pracujesz?

Ja akurat chciałbym iść w kierunku gier/unity3d…

 

Z serwerowym JS-em jest w Polsce jak z, posłużę się wyświechtaną analogią, teenage sexem. Wszyscy o tym myślą, wielu o tym mówi, niewielu to robi. JavaScriptem naprawdę warto się zainteresować, bo to nawet nie przyszłość tylko teraźniejszość. Ale nie na serwerach. W porównaniu do JVM-a (IMO sam JVM przeżyje Javę) Node/io.js jest zbyt niedojrzały, żeby opierać na nim duże, ciągnące się latami projekty.

Jeżeli projekt ma działać przez bardzo długi okres, to myślę, że Erlang świetnie się nada.

Moim zdaniem pozostaje wybór:

 - długotrwałe projekty: Erlang (Elixir)

 - coś, co ma po prostu działać: Node.js lub Ruby

Teraz mam jeszcze większy mętlik :smiley:

Żeby nie było sam nie piszę w Javie. Ale taka jest rzeczywistość, że najwięcej się w niej pisze (oprócz JavaScript). Skoro sam piszesz, że jest to standard przemysłowy to znaczy, że są powody aby używać tego języka pomimo tego, że istnieją o wiele lepsze.

Jak pisze się aplikacje dla dużych firm to robi się to najczęściej w Javie lub .NETcie. JavaScript też jest fajnym rozwiązaniem, ale do specyficznych zastosowań.

Do aplikacji mobilnych też Java jest najlepszym rozwiązaniem ponieważ znacznie więcej się pisze dla Androida. Nawet jeśli firmy faktycznie więcej zarabiają na produkcji oprogramowania dla iOS to nie musi się to przekładać na zarobki deweloperów, bo to zależy czym się zajmują.

Między innym dlatego napisałem o Javie, że jeśli ktoś nie ma pewności czy zajmie się aplikacjami webowymi czy mobilnymi to Java umożliwi mu to w każdą stronę. Z innymi językami już tak dobrze nie jest. Ucząć się przykładowo Swifta jest się skazanym na iOS/OSX.

Może trochę zbyt kategorycznie przedstawiłem wybór języka, ale wydawało mi się, że najbardziej pasuje do sytuacji jaką opisał pytający.

A może zamiast robić rewolucję spróbuj coś z C#. np. projekt Xamarin umożliwia pisanie kodu na różne systemy na telefonach. Dla Javy jest RoboVM, ale jest to młodszy projekt niź Xamarin.

Na Twoim miejscu raczej szukałbym czegoś ciekawego i interesującego. Jak masz dobry pomysł na projekt to zrealizujesz go w każdej wybranej technologii. Czasem może być po prostu łatwiej zrobić go w tej czy innej.

Ten xamarin kusi mnie już od jakiegoś czasu.

Ktoś wie jak to jest z damrową licencją dla studenta?

Jak się nie nauczysz obsługi Google, to ciężko będzie Ci się nauczyc nowej technologii :smiley:

https://xamarin.com/student

Bardziej chodziło mi o kwestie prawne, bo że jest to wiem ;) Nie mam czasu się w licencje wczytać dziś, a spytać można, jak raz może już ktoś przebrnął przez to :stuck_out_tongue:

 

Sam robię w javowym backendzie, ale wszyscy moi znajomi pracujący w firmach trzaskających apki mobilne zgodnie twierdzą, że zarobki programisty iOS-a są sporo wyższe niż androidziarzy z podobnym doświadczeniem. Z drugiej strony programiście apple’owemu dużo trudniej się “przebranżowić”, bo to, co robi na co dzień, jest podobne zupełnie do niczego.

 

 

A do samego tematu wracając, przede wszystkim wyluzuj. Poznawanie technologii potraktuj jako zabawę, a nie ważny wybór rzutujący na życie. Jeżeli chodzi o apki mobilne, wybierz taki stack, który zadziała na posiadanych przez ciebie urządzeniach (coś na twój tablet, telefon itp). Poświęć na naukę podstaw miesiąc, dwa, a jeżeli ci się nie spodoba, chwyć za alternatywę. Kiedy znajdziesz “tę jedyną” technologię i zaczniesz z nią pracować zawodowo, nie przestawaj i ciągle poszerzaj horyzonty o języki, frameworki i paradygmaty, które prawdopodobnie i tak nigdy ci się nie przydadzą, ale za to na pewno cię rozwiną. Więc na tę chwilę wybierz cokolwiek popularnego (głównie ze względu na ilość materiałów do nauki). Nawet jeżeli będzie niefajnie, to kolejną decyzję pozwoli ci podjąć bardziej świadomie.