Programowanie JAVA czy Webmastering

0

Hej,

Mam takie przyszłościowe pytanie.
Jak myślicie która profesja bedzie miała większe powodzenie za okolo 5-10 lat? programista java czy ogolnie webmaster.
Interesuje się bardzo obiema 'kierunkami' tylko chciałbym właśnie postawić na jednym.

Pozdrawiam

0

Jestem przekonany, że bardziej będzie się (wciaż) opłacało być programistą Javy niż "ogólnym webmasterem".

"Ogólne" (nie)specjalizacje uważam za zdecydowanie kiepskie pomysły na informatyczną karierę. Nie bądź "ogólnym webmasterem" od HTML/CSS/JavaScriptu, jednocześnie też od PHP/Pythona/Ruby'ego/Javy EE... + baz danych, i jednocześnie też grafikiem. Czemu? Bo z każdej z tych trzech dziedzin będziesz albo bardzo cienki, albo co najwyżej przeciętny. OK, jeśli będziesz miał samozaparcie i naprawdę będziesz się przykładał, możesz być "dobry" z jednej z tych grup. Bardzo rzadko zdarzają się osoby, które są naprawdę dobre z dwóch. Nie znam osobiście ani jednej, która byłaby naprawdę dobra ze wszystkich trzech i nie jestem pewien, czy o takiej osobie w ogóle słyszałem.

Znacznie bardziej opłaca się wybrać jedną z tych grup i w niej stać się specjalistą. Np. bądź designerem ("grafikiem"). Po prostu. Co lepsi designerzy, projektujący strony www, kampanie reklamowe i tak dalej, też zarabiają 5-10k miesięcznie i nie mówię tu o nie wiadomo jakich nazwiskach, tylko o osiągalnym poziomie.

Albo rób sam front-end (HTML/CSS/JS).

Albo właśnie... back-end.

Czyli np. Javę EE, wspartą (zwykle -- nie zawsze) jakąś tradycyjną bazą danych. Bardzo dużo aplikacji enterprise'owych, tj. korporacyjnych, to tak naprawdę aplikacje webowe. Internetowe, ale też -- w dużej części -- intranetowe. Więc poniekąd faktycznie "robisz stronki", tyle że są to narzędzia dla Twojej liczącej dziesiątki tysięcy pracowników korporacji ;). Zresztą, serwisów internetowych na Javie EE stoi przecież też całkiem sporo (choćby witryny zdalnego dostępu do kont bankowych).

ZDECYDOWANIE specjalizuj się. Ludzie pracujący jako "informatycy" np. w urzędach, czyli zajmujący się odrobinkę serwisem hardware'u, trochę bezpieczeństwem, siecią, wreszcie nawet będący swoistymi "webmasterami" często zarabiają grosze. Mają sporo roboty, ale w żadnej z tych dziedzin nie są dobrzy. Siłą rzeczy, takich ludzi zatrudniają raczej ci, co chcą oszczędzić i wydawać kasy na np. czterech różnych specjalistów. Tną więc koszty czasem nawet poniżej pewnego logicznego minimum. Więc temu jednemu kolesiowi "od wszystkiego" dadzą mniej niż któremukolwiek z tych czterech.

Powiem Ci nawet, że specjalizacja może być jeszcze większa. Nie są rzadkością kolesie, którzy w (bogatych) firmach zajmują się TYLKO warstwą bazy danych. Nawet niespecjalnie się tykają tej Javy. Piszą w PL/SQL-u ;). Ja z kolei "zatrudniam" we front-endowym teamie, w którym pracuję, kolesi niemalże czysto... JavaScriptowych. Nie to, że nie mają pojęcia o HTML-u czy CSS-ie, ale są to skille dla nich zdecydowanie drugorzędne i zdecydowaną większość czasu babrają się w samym JavaScripcie. Są to porządane stanowiska, w dodatku coraz lepiej płatne.

To powiedziawszy, jeśli się dopiero uczysz, polecam jednak ogarnać trochę innych warstw. Jeśli pójdziesz w Javę, to znaj chociaż podstawy HTML-a, podstawowe zagadnienia. Ale koncentruj się na jednej, wyraźnej drodze. Żadnych "ogólnych" stanowisk.

0

http://www.smashingmagazine.c[...]s-in-the-web-design-industry/
Akurat pod branże webową, chociaż tak na prawdę ten artykuł pasuje do dowolnej innej branży w obrębie IT.
Opcja bycia wszechstronnym jest dla ludzi, którzy szybko przyswajają wiedzę, którzy mają wiele zainteresowań, którzy poświęcają większą część wolnego czasu na naukę i którzy są w stanie myśleć elastycznie. Jeżeli wybierzesz taką opcję to masz szansę na różnorodną, ciekawą pracę.
Opcja bycia specjalistą jest dla ludzi, którzy lubią znać każdy szczegół danej technologi ale także dla ludzi, którzy chcą odbębnić 8h w pracy i mieć spokój (tacy najczęściej nazywają się specjalistami). Praca specjalisty nie jest różnorodna, nie wymaga żadnej elastyczności umysłowej, tylko wytrwałości i cierpliwości w przyswajaniu kolejnych szczegółów. Im bardziej się specjalizujesz tym bardziej tracisz umiejętność uogólniania swojej wiedzy. Stąd też często specjaliści mają takie zdanie, że "nie da się być dobrym we wszystkim" tudzież w bardziej obraźliwej formie "jak ktoś jest od wszystkiego to jest do niczego".
Jeżeli chodzi o finanse to bardziej się opłaca być specjalistą, im bardziej niszowa technologia tym większą kase można wyciągnąć. Z drugiej strony specjalista ma znacznie większą szanse na wysiudanie z rynku, jeżeli jego niszowa technologia przestanie być używana.
Firmy różnie podchodzą do specjalizacji - małe firmy wolą ludzi wszechstronnych którzy są w stanie przeprowadzić projekt od początku do końca samodzielnie, korporacje stawiają na specjalizowanie się (czyli jesteś właśnie takim małym wyspecjalizowanym owadem w dużym roju).

@bswierczynski - przykład z ynformatykiem z urzędy jest totalnie bezsensu. W urzędach są zatrudniani ludzie którzy tak na prawdę nie mają pojęcia o niczym, więc i tak będzie cud jak zdołają liznąc po łebkach kilka dziedzin.

0

z drugiej jednak strony, nie warto zamykać się w jednym języku programowania(co gorsza w jednym frameworku) tylko poznać podstawy kilku języków
potem dopiero gdy jakiś przypadnie nam do gustu zacząć poznawać go dogłębnie
np. skąd mamy wiedzieć czy naszym ulubionym językiem i takim w których chcielibyśmy pisać całe życie jest java, skoro w życiu nie widzieliśmy kodu C# na oczy :)

0

Porównywanie Javy i webmasteringu jest jak porównywanie kota z psem - bez sensu.

0

@0x200x20:
Ciekawa hipoteza o tej generalizacji, ale zupełnie nie zgadza się z moim doświadczeniem. Choć nie wiem, czy tak naprawdę jest z nim sprzeczna i nie da się obu rzeczy jakoś (jednak) pogodzić, w końcu moje doświadczenie jest ograniczone.

A co z ofertami pracy? Widujesz dobre oferty dla "generalistów" (użyję tej kalki językowej z artykułu)? Jak często? Jak łatwo znaleźć taką ofertę, w porównaniu do ofert dla specjalistów?

Zauważ, że nawet bycie dobrym lub przynajmniej w miarę dobrym specjalistą nie jest takie łatwe. I nie jest aż tak łatwo znaleźć dobrą pracę na stanowisku specjalisty -- widać to po ludziach, którzy odpadają na rekrutacji. A dobrych ofert dla specjalistów ja widzę znacznie, znacznie więcej niż dla generalistów. Choć może to dlatego, że nie rozglądam się pracą dla tych drugich ;).

Sam pracuję na stanowisku specjalisty. To nie znaczy, że przez cały czas miałem oczy otwarte tylko na jeden język programowania. Znam "jakoś tam" więcej niż pięć innych. "Znam jakoś tam", czyli w każym z nich napisałem pięciocyfrową liczbę linii kodu. Ja jednak nie do końca jestem przeciętniakiem; uczę się naprawdę sporo, a pierwsze lekcje programowania miałem koło 6 klasy podstawówki. Obok tego wszystkiego, o samym designie/użyteczności (to niemal jedno i to samo) przeczytałem coś koło 7 książek, zaprojektowałem troszkę interfejsów, ale nie uważam się za profesjonalnego designera. Tak jak nie uważam się za profesjonalnego programistę Javy czy C, pomimo sporych przygód z tymi językami.

Osobiście nie stosuję zasady zamykania oczu na wszystko, co nie dotyczy jednego języka/technologii. Ale jakbym miał dać prostą radę osobie, której nie znam: doradzałbym specjalizację i obcięcie tych drugorzędnych rzeczy. One pomagają, ale znam sporo osób, które olały te drugorzędne rzeczy i mają się całkiem nieźle. Prościej jest chyba być dobrym w jednej dziedzinie, niż dobrym w jednej oraz całkiem nie takim złym w pięciu innych. Tyle osób nie daje rady być dobrych w tej jednej rzeczy, że boję się sugerować komuś to drugie.

I uważam, że znacznie bardziej opłaca się -- na rynku pracy -- być dobrym w tej jednej rzeczy, niż bardzo mocno przeciętnym w kilku. Najlepiej zaś jest -- i sam to kultywuję -- mieć wiedzę w kształcie litery L. Szeroka, solidna podstawa, a w jednym miejscu naprawdę dogłębna wiedza.

Mam paru znajomych, których można nazwać generalistami za umiejętności i którym się powodzi. Kolesie niby od Front-Endu www, którzy piszą pomocnicze narzędzia w Pythonie, zarządzają w całkiem zaawansowany sposób dodatkowymi serwerami, w domu piszą stery do Linuxa itp. W rubryce "stanowisko" wpiszą jednak "Front-End Specialist", bo to ich podstawowe skille w pracy.

Bardzo bym się bał doradzać generalizację młodemu człowiekowi, który szuka swojej ścieżki w kontekście przyszłego rynku pracy. To IMO zły pomysł.

0x200x20 napisał(a)

@bswierczynski - przykład z ynformatykiem z urzędy jest totalnie bezsensu. W urzędach są zatrudniani ludzie którzy tak na prawdę nie mają pojęcia o niczym, więc i tak będzie cud jak zdołają liznąc po łebkach kilka dziedzin.

Ano są tacy zatrudniani w urzędach. Specjaliści zresztą też.

Widuję trochę takich słabych ofert pracy. Nie wszystkie z urzędów. Również z -- niewielkich zwykle -- firm. W rubryce stanowisko piszą "informatyk", oferują coś koło minimalnej krajowej, wymagają X, Y, Z oraz A, B i C i... trafiają nawet czasem na Wykop ;).

Nie kojarzę za to oferty pracy, która wymagałaby tylu różnorodnych rzeczy związanych z programowaniem i wydawała się atrakcyjna, czyli choćby dobrze płatna.

0

W ofertach dla 'generalistów' najczęściej pracodawca nie wymaga X lat w konkretnej technologii, co najwyżej doświadczenia w programowaniu w ogólności. Miejsce generalistów jest głównie w małych firmach, gdzie liczba osób jest ograniczona i nie ma podziału na wąskie specjalizacje, oraz w startupach gdzie jest się odpowiedzialnym za napisanie i wdrożenie całego projektu. Jednakże są też wyjątki, np. z tego co wiem google preferuje ludzi wszechstronnych i jak widać w ich przypadku ta strategia się sprawdza. Czytałem też artykuł jak się pracuje w firmie Valve (stworzyli między takie gry jak Half-Life oraz Portal), też preferują ludzi wszechstronnych. Warto przeczytać, http://m.garrettamini.com/201[...]o-build-a-designers-paradise/ . Są dokładnie wymienione powody dlaczego wolą generalistów od specjalistów.

As I was finishing up my contract at Valve, I spoke with one of the lead designers for Steam about what he did, and how he got there. He had done print design, flash prototyping, HTML and CSS UI, and even some hardware hacking before he made the move to Valve. “We don’t hire someone who can only do one thing, even if they’re the very best at that one thing,” he said (I’m paraphrasing from memory).

0
renault12 napisał(a)

Hej,

Mam takie przyszłościowe pytanie.
Jak myślicie która profesja bedzie miała większe powodzenie za okolo 5-10 lat? programista java czy ogolnie webmaster.
Interesuje się bardzo obiema 'kierunkami' tylko chciałbym właśnie postawić na jednym.

Pozdrawiam

Cześć!

W zasadzie to dwie różne rzeczy, webmastering jest skoncentrowany na budowaniu interfejsów dla użytkownika, natomiast programowanie w javie (zapewne masz na myśli tutaj głównie JavaEE) skoncentrowane na przetwarzaniu danych, dodawania czy odczytu do bazy danych i takich tam. I dzisiaj i jutro i za kilkanaście lat będzie potrzeba budowania zarówno UI jak i programów do przetwarzania danych, tak samo bazy danych nie znikną - może tylko wejdą inne technologie. Warto uczyć się myślenia na temat danego zagadnienia a nie konkretnych rozwiażań.

Mocno generalizując na dzień dzisiejszy wydaje mi się, że warto wybrać jedno z zagadnień (które nam najbardziej się podoba, czy też dobrze idzie): bazy danych, aplikacje web i webdesign (oczywiście zakładając z tytułem tematu, że celem jest web), wyspecjalizować się w nim, a pozostałe znać (czy poznawać) na tyle, na ile nam są potrzebne.

Na marginesie - nie za 5-10 lat, ale już dzisiaj widać niezły trend w kwestii mobile development, może warto się dodatkowo zainteresować :)

0

Osobiście nie stosuję zasady zamykania oczu na wszystko, co nie dotyczy jednego języka/technologii. Ale jakbym miał dać prostą radę osobie, której nie znam: doradzałbym specjalizację i obcięcie tych drugorzędnych rzeczy. One pomagają, ale znam sporo osób, które olały te drugorzędne rzeczy i mają się całkiem nieźle. Prościej jest chyba być dobrym w jednej dziedzinie, niż dobrym w jednej oraz całkiem nie takim złym w pięciu innych. Tyle osób nie daje rady być dobrych w tej jednej rzeczy, że boję się sugerować komuś to drugie.

Zgadzam się, że to opcja zdecydowanie nie dla wszystkich. Z drugiej w początkowej fazie kariery lepiej spróbować wielu rzeczy, chociażby żeby zobaczyć co się na prawdę lubi. Pisanie kodu dla siebie/na studia znacznie się różni od pisania kodu produkcyjnego tak więc trzeba po prostu popracować na danym stanowisku, żeby zobaczyć czy ci dana specjalizacja odpowiada.
Inna kwestia jest taka, że od pewnego poziomu specjalizacja przestaje się opłacać (wiesz coraz więcej rzeczy o coraz mniejszych szczegółach aż w końcu wiesz wszystko o niczym ;)). Raczej rzadko się zdarza, żeby znajomość kolejnych szczegółów technologii byłą krytyczna dla projektu. Zgodnie z zasadą Pareto wystarczy 20% wiedzy, żeby robić 80% rzeczy (proporcje pewnie są różne, ale idea pozostaje ta sama).

Mam paru znajomych, których można nazwać generalistami za umiejętności i którym się powodzi. Kolesie niby od Front-Endu www, którzy piszą pomocnicze narzędzia w Pythonie, zarządzają w całkiem zaawansowany sposób dodatkowymi serwerami, w domu piszą stery do Linuxa itp. W rubryce "stanowisko" wpiszą jednak "Front-End Specialist", bo to ich podstawowe skille w pracy.

Zauważ, że są na pewno mniejszymi specjalistami niż ludzi, którzy klepią wyłącznie frontend (chociażby z tego wzlględu na to, że 'tracą' czas w domu na pisanie sterowników zamiast napisać kolejny frontend). Dlaczego więc wpisują, że są specjalistami? Prawdopodobnie ze względu na mentalność ludzi - specjaliści są jednak obecnie bardziej cenieni w przeciętnej firmie. Tak więc trik polega na tym, żeby znaleźć sobie specjalizacje, która jest dosyć szeroka (czyli w zasadzie nie jest specjalizacją). Ja np. mógłbym sobie wpisać 'Distributed Systems Specialist', bo ten motyw przewijał się poprzedniej i obecniej pracy. Sęk w tym że systemy rozproszone są pisane w różnych językach (od C++ przez Javę do F#), stoją na różnych systemach (Windows, Unix, Linux...) i wykonują różne funkcję (od prostego tłumaczenia protkołów z jednego na drugi, po zrównoleglanie obliczeń) i oprócz programowania wymagają jeszcze administracji. Ale Specjalista od razu ładniej brzmi niż 'Generalista' (WTF takiego słowa nawet nie ma SJP).

0
0x200x20 napisał(a)

Zauważ, że są na pewno mniejszymi specjalistami niż ludzi, którzy klepią wyłącznie frontend (chociażby z tego wzlględu na to, że 'tracą' czas w domu na pisanie sterowników zamiast napisać kolejny frontend). Dlaczego więc wpisują, że są specjalistami? Prawdopodobnie ze względu na mentalność ludzi - specjaliści są jednak obecnie bardziej cenieni w przeciętnej firmie.

Nie za bardzo. Są na tyle dobrzy w tej specjalistycznej dziedzinie, że kwalifikują się na "specjalistę". Nie muszą być najlepsi z Front-Endu w całym teamie "specjalistów", ale też nie są najgorsi. W nazwę stanowiska wpisują sobie to, co każe im wpisywać firma. A firma oficjalnie zatrudnia specjalistów i to właśnie specjalistyczna wiedza jest podstawą przy rekrutacji. To ona jest sprawdzana. Jeśli ktoś oprócz tego Front-Endu umie jeszcze pogrzebać w Pythonie czy przy bardziej skomplikowanej konfiguracji serwera linuksowego, to jego bonus. Nie aż taki duży przy zatrudnianiu, ale w praktyce czasami się przydaje -- bo ta osoba powie np. "hej, przecież możemy mieć własne serwery, omijając wsparcie IT".

Czemu więc osoby, które są także specjalistami i nie mają tej pobocznej wiedzy nie zawsze są lepsze w swojej specjalizacji od tych, co mają również poboczną wiedzę? Ano może ci typowi specjaliści są po prostu gorsi, a najprawdopodobniej -- mniej pracują w domu. Nie pasjonują się jądrem Linuxa czy Perlem. Może znacznie więcej wolnych chwil przeznaczają na czytanie beletrystyki, rodzinę, imprezy, sport, gry komputerowe czy cokolwiek. Ich sprawa. Może zaś ci, którzy mają równorzędną wiedzę specjalistyczną plus poboczną, wcale nie nerdują więcej, a uczą się efektowniej. Gdy kandydujesz na stanowisko specjalisty nie ma to wielkiego znaczenia. U nas niemalże nie jest sprawdzane podczas rekrutacji (z przyczyn praktycznych), więc bonus jest niewielki i powiedziałbym, że nieopłacalny jeśli ktoś ubiega się jednak o stanowisko specjalisty.

Z tym "generalistą" to termin roboczy. Byłem zbyt głupi/leniwy żeby wymyślić lepszy termin.

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