Java - web vs android

Odpowiedz Nowy wątek
2015-08-20 18:16
0

Cześć

Od dość długiego czasu zajmuje się androidem, natomiast ostatnio bawiłem się sporo technologiami webowymi javy (jsf i spring mvc).
Niedługo chciałbym podjąć pracę - oba kierunku jarają mnie tak samo. Teraz w zasadzie rzecz sprowadza się do pytania:

Gdzie są lepsze zarobki i szanse na rozwój (która technologia jest bardziej przyszłościowa)?

edytowany 1x, ostatnio: kuhikjon, 2015-08-20 18:17

Pozostało 580 znaków

2015-08-20 19:20
Biały Mleczarz
0

Gdzie są lepsze zarobki i szanse na rozwój (która technologia jest bardziej przyszłościowa)?

Tam gdzie cię bardziej jara.

Niedługo chciałbym podjąć pracę - oba kierunku jarają mnie tak samo.

Pozostaje losować :)

Pozostało 580 znaków

2015-08-20 19:20
0

Z jednej strony wszystko co nowe uderza jako web, z drugiej - kogokolwiek się nie zapytasz - każdy dział "mobilków" chętnie przytuli nowe osoby. Tu i tu na brak pracy nie będziesz narzekał

Pozostało 580 znaków

2015-08-20 19:22
7

web + reszta javowych projektów:

  • bardziej ustabilizowany rynek
  • stabilne narzędzia, IDE i frameworki do testów
  • więcej ofert pracy
  • w większości lepsze zarobki
  • jest mniej projektów w najnowszych technologiach, ale są (głównie w mniejszych firmach lub tych, które utrzymują swoje własne produkty)
  • często można trafić na przestarzały kod, gdzie nie ma najnowszych rozwiązań (głównie w korporacjach)
  • można trafić na 15-letni lub 25-letni legacy code, który nie zawsze jest zadbany

android:

  • mniej ustabilizowany rynek
  • mniej ofert, ale pojawia się coraz więcej
  • mniej stabilne narzędzia i frameworki do testów, choć Android Studio jest już w wersji 1.0 i testy automatyczne też da się pisać
  • zdarzają się oferty z dobrymi zarobkami, jest ich coraz więcej i będzie coraz więcej, bo rynek się rozwija
  • cały czas pracujesz z najnowszymi technologiami
  • możesz wchodzić w interakcję ze sprzętem (sensory, czujniki, kamera) oraz różnymi połączeniami sieciowymi (WiFi, Bluetooth, 3G)
  • najstarszy legacy code zazwyczaj ma góra 2 lub 3 lata (w teorii maksymalnie może mieć 8, ale to się chyba rzadko zdarza)
  • projekty muszą być dostosowane do najnowszych standardów i technologii, bo inaczej wypadną z rynku i ludzie przestaną tego używać

Gdzie są lepsze zarobki i szanse na rozwój (która technologia jest bardziej przyszłościowa)?

Moim zdaniem obie. Wybierz to, co Ci się bardziej podoba.
Tak naprawdę po opanowaniu Javy na jakimś sensownym poziomie możesz pisać spokojnie aplikacje mobilne, webowe i inne w tym języku. Wystarczy, że douczysz się danego frameworka. Najważniejsze jest to, gdzie trafisz i z kim będziesz pracował. To jest chyba nawet ważniejsze, niż sama technologia. Jeśli wylądujesz wśród ogarniętych ludzi, którzy chcą się rozwijać, to też się rozwiniesz bez względu na to, co konkretnie będziesz robił.

edytowany 2x, ostatnio: wiciu, 2015-08-20 19:24
Z nowymi/starymi technologiami to bym nie przesadzał. Wątpię że w webie spotyka się jeszcze jave<=6 nie licząc utrzymania, a w androidzie jesteśmy na to skazani. Cała reszta stosu przy nowych projektach też jest brana raczej na świeżo. - krzysiek050 2015-08-20 19:44
W Androidzie pisze się już w Javie 7 i są różne biblioteki, które umożliwiają skorzystanie z mechanizmów podobnych do Javy 8. Zgadzam się z tym, że w nowych projektach jest świeży stos i wtedy jest elegancko, ale spotkałem się z projektami utrzymaniowymi, które miały ponad 15 lat i były tak obszerne, że możesz jakiś kawałek przepisać na coś nowszego lub jakiś mały ficzer napisać w "świeższym stylu", ale nie całość. Znam osoby, które pracowały przy projektach starszych, niż oni sami. ;-) Wszystko zależy, gdzie i na co trafisz. - wiciu 2015-08-20 22:30
Android Studio jest już nawet w wersji 1.3 (świetne IDE) i standardowe unit testy (JUnit) można pisać bez problemu "od kopa". Wciaż jest, i pewnie jeszcze dlugo będzie problem, z testowaniem rzeczy wymagających Android SDK ale są już narzędzia dzięki ktorym można przyjemnie pisać i te testy. Osobiście przy testowaniu korzystam z JUnit, Mockito, Robolectric i wystarcza (unit testy logiki + UI). - dbCooper 2015-08-20 22:37
Można pisać normalne JUnitowe testy z AndroidJUnit4 runnerem, tylko musi być wpięte urządzenie lub emulator do kompa, co czasem może być niedogodnością (np. w przypadku ciągłej integracji). - wiciu 2015-08-20 22:39

Pozostało 580 znaków

2015-08-20 19:36
wiciu napisał(a):

web + reszta javowych projektów:
[...] Najważniejsze jest to, gdzie trafisz i z kim będziesz pracował. To jest chyba nawet ważniejsze, niż sama technologia. Jeśli wylądujesz wśród ogarniętych ludzi, którzy chcą się rozwijać, to też się rozwiniesz bez względu na to, co konkretnie będziesz robił.

+100. Podpisuję się pod tym rękami i nogami.

Pozostało 580 znaków

2015-08-21 10:19
0

IMHO w Javie w Polsce można więcej zarabiać, choć wg statystyk średnia jest wyższa w Androidze. Tzn jeśli zamierzasz być średniakiem, to idź w stronę Androida. W UK i Niemczech programiści Androida też średnio zarabiają lepiej niż webowi, więc jak zamierzasz emigrować to możesz spokojnie iść w tym kierunku.

Dasz linka do źródła zarówno dla PL jak i UK/DE? Sam jestem ciekaw - Pole92 2015-08-21 10:30

Pozostało 580 znaków

2015-08-21 11:01
0

Tu masz zestawienie i aplikacje mobilne są na szczycie:
user image
Ale jeśli przejrzysz oferty tu: Praca to zobaczysz, że zarobki programistów Android prawie nigdy nie przekraczają 10k PLN, a programistów Javy web, czy Ruby czasami tak.

Co do UK, to masz to zestawienie ogólne:
http://www.itjobswatch.co.uk/ , dla Javy średnia to: £50,000 a tu średnia dla Androida też 50kGBP http://www.itjobswatch.co.uk/jobs/uk/android%20developer.do a tu dla Springa też 50kGBP http://www.itjobswatch.co.uk/jobs/uk/spring.do
Czyli wychodzi, że nie miałem racji - w UK nie ważne co wybierzesz, będziesz tyle samo zarabiać.
Dla Niemiec nie mam takich danych, ale z własnego doświadczenia wiem, że jest bardzo duże ssanie na programistów Android i pewnie łatwiej jest dostać dobrą robotę bez super doświadczenia niż w Javie web, gdzie jest większa konkurencja innych programistów. (co nie znaczy, że jest tam źle, bo jest odpowiednio większy wybór ofert, stąd też łatwiej o dobrą pracę w mniejszym mieście)

edytowany 3x, ostatnio: Darck, 2015-08-21 11:08
Dzięki za adres. Dziwi mnie, że Embedded zarabia zdecydowanie mniej niż reszta programistów. - Pole92 2015-08-21 11:06
@Pole92: bo w embedded pracują ludzie związani z elektroniką, a w elektronice nie ma tyle pracy co w webdeveloperce i pracodawcy nie muszą dużo płacić. - Darck 2015-08-21 11:07
Patrząc na ilość elektroniki przemysłowej i konsumenckiej otaczającej nas to aż dziwne, że jest w tym mniej pracy niż webdev - Pole92 2015-08-21 11:16
@Pale92: Od ilości ważniejsza jest dynamika. Czyli ilość stron internetowych rośnie szybciej niż produktów korzyających z embedded. - Darck 2015-08-21 11:17

Pozostało 580 znaków

2016-04-20 23:22
Krzywy Pomidor
1

Siedze w web. Chce sie w wolnym czasie pobawic androidem.

Mozecie cos polecic do nauki?

Pokaż pozostałe 2 komentarze
@carlos92 który dokładnie kurs polecasz? - azalut 2016-04-25 23:01
Ten jest spoko: https://www.udacity.com/cours[...]d-developer-nanodegree--nd801 Nie ma już tutaj zbytniego rozdrabniania się tylko konkrety co i jak. Polecam też poczytać książkę. Dużo się można dowiedzieć jak co działa co jest potem przydatne. Początkowo jak zaczynałem to pisałem aktywności i przesyłanie danych między nimi chociaż nie wiedziałem co do końca robię - "tak było na stacku to tak przesyłam". A wiele rzeczy mogłem robić lepiej i mieć dzięki temu czyściejszy i badziej przejrzysty kod. Polecam "Android Programming: The Big Nerd Ranch Guide". Świetna książka. - carlos92 2016-04-25 23:09
a jak na udacity jest z dostępnością tych kursów? tam widzę, że mam do tego kursu, który podesłałeś tylko 1 tydzień czasu darmowej wersji? - azalut 2016-04-25 23:23
Widzę że się pozmieniało. Miesiąc temu korzystałem z całego kursu za darmo. Teraz jak się loguję to już jest płatne. Sorki :( Wtedy płatne były tylko dodatkowe konsultacje a dostęp do materiałów miał każdy zarejestrowany za free. - carlos92 2016-04-25 23:34
Do ogarnięcia podstaw w takim razie mogę podesłać stronkę: http://www.vogella.com/tutorials/Android/article.html - carlos92 2016-04-25 23:35

Pozostało 580 znaków

2016-04-21 19:01
Biały Mleczarz
0

Nie chce zakladac nowego tematu.

Pracuje w Java Web Backend. Spring, Hibernate, JPA, Rest, Jersey, Gradle itp. czuje sie z tym komfortowo. Po roku pracy troche sie nudzę. Bo ostatnio malo nowych rzeczy. Rozwazam zmiane pracy, ale... poki co...
Czy mozecie mi cos polecic do nauki, na boku?
Chciałem trochę messagingu, wiecej concurrency itp. ale bez realnych problemow nie czuje by mi szla taka nauka.

JS? Scala? Android? RxJava?

Pozostało 580 znaków

2016-04-22 07:46
Biały Mleczarz
0

poradzicie towarzysze?

Pozostało 580 znaków

2016-04-22 08:35
0

Skoro siedzisz w Javie a chcesz rozwinąć pewne umiejętności które posiadasz i jednocześnie nauczyć się nowego języka to Scala będzie naturalnym wyborem. Przy okazji skup się też na nauce paradygmatu funkcyjnego, nie bądź jednym z tych którzy przeszli na Scale i używają jej jak Javy bo to marnowanie potencjału języka.

http://stackoverflow.com/ques[...]is-scala-good-for-concurrency


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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