Rozdroże programisty

0

Cześć,

poszukuje mądrej porady co dalej ze swoją karierą poczynić, otóż pracuję w zawodzie web developera jakieś siedem miesięcy, jestem samoukiem i do wszystkiego dochodzę sam - pewnie jak większość ludzi pracujących w IT.

Mój konik jeżeli chodzi o programowanie to PHP, JavaScript z tym, że do tego drugiego czuję większy pociąg, poza tym to standardowo HTML, CSS, Wordpress.

Od października zaczynam szkołę policealną o profilu technik informatyk zamierzam na dobre "ożenić" się z branżą IT, to jest to co chcę robić do końca życia :). Wraz z szkołą muszę odbyć praktyki jakieś 160 godzin i w sumie mógłbym, to zrobić w aktualnej firmie, ale tu właśnie pojawia się moje rozdroże. Chciałbym liznąć czegoś innego np. administracja/zarządzanie lub programowania cybernetycznego, brakuję mi aktualnie inżynierii w wytwarzaniu aplikacji biznesowych, którymi na co dzień się zajmuję, przed podjęciem pracy byłem maniakiem wzorców projektowych :) teraz to trochę osłabło, bo rzadko znajduję kontekst zwłaszcza przy używaniu frameworków.

Szef ostatnio wypytywał o moją szkołę oraz o dokumenty na praktyki... i tu właśnie nie wiem jak wybrnąć, czy warto te 160 godzin poświęcić na odskoczenie od typowego web developingu?

W mojej okolicy jest dużo prężnie rozwijających się firm produkcyjnych i myślałem właśnie o zarządzaniu/rozwijaniu systemów produkcyjnych - ostatnio miałem przyjemność coś takiego zobaczyć i bardzo mnie to zaintrygowało przede wszystkim od strony backend-u :) .

Co myślicie warto zaryzykować, bo właściwie szef nie będzie zadowolony... już sama chęć odbycia praktyk w innej firmie niedobrze wygląda, zwłaszcza że jestem świeżakiem w branży jak i w obecnej firmie.

0

@WhiteLightning dobrą sugestie ma: zawsze warto odskoczyć od webdeva. Więcej wiedzieć Ci nigdy nie zaszkodzi nawet jeśli zostaniesz przy webdevie. Idziesz na technik informatyk, więc fajnie by było mieć więcej wiedzy. Jeśli będziesz chciał iść na Inż/mgrinż to tam już będziesz mieć tonę info daleeeko od technik webowcyh :)

0

Bierz się z nowe rzeczy. Tylko na tym skorzystasz.

0

Nie wiem jeszcze jak w kwestii prawnej takie coś wygląda praca na etacie + praktyka u innego pracodawcy ?

Tak ostatnio przeglądając oferty praktyk napotykam się na oferty pracy jako programista i web devaloper tylko nie widzę różnicy w wymaganiach poza doświadczeniem i się zastanawiam czemu tak jest?

0

Dla mnie programista to programista (nie wazne czy robi aplikacje webowe czy mobilne, czy desktopowe. Wazne ze uzywa w tym celu jezyka programowania).
Natomiast osobiscie rozrozniam jeszcze pojecie 'webmastera', ktorego rozumiem jako zorientowanego glownie na klepanie html/css, ogarnianie jakiegos popularnego cms + lekka znajomosc javascript i php.

2
QwerQwer napisał(a):

Dla mnie programista to programista (nie wazne czy robi aplikacje webowe czy mobilne, czy desktopowe. Wazne ze uzywa w tym celu jezyka programowania).

Dokładnie! A lekarz to lekarz, nieważne czy leczy oczy, serce czy stopy. Ważne, że ma biały fartuch.

0

Analogia do lekarzy i ich specjalizacji (kardiolog, internista, urolog etc.) pasuje mi bardziej do analogii informatyk i specjalizacja (sieciowiec, administrator, grafik, programista)

0

informatyk i specjalizacja (sieciowiec, administrator, grafik, programista)
To bardziej jak pracownik szpitala i funkcja (sprzątaczka, pielęgniarka, lekarz)

0
templas napisał(a):

informatyk i specjalizacja (sieciowiec, administrator, grafik, programista)
To bardziej jak pracownik szpitala i funkcja (sprzątaczka, pielęgniarka, lekarz)

No raczej nie, porownanie dowolnego 'informatyka' do sprzataczki zbyt nie pasuje.
Pracownikiem szpitala jest również cieć, który pilnuje bramy wjazdowej.
Rozgraniczenie web-programista, mobile-programista, desktop-programista to dla mnie troche jak chirurg-specjalista-wycinania-watroby, chirurg-specjalista-wycinania-śledziony itd.

Dodatkowo kazdy informatyk ma 'jakies' pojecie na temat roznych specjalizacji swojego zawodu. Tak samo jak kardiolog ma jakies pojecie o chirurgii. Natomiast sprzataczka raczej nie ma zadnego pojecia o endokrynologii.

0

@QwerQwer, napisałeś kiedyś jakiś program?

0
somekind napisał(a):

@QwerQwer, napisałeś kiedyś jakiś program?

Latwiej bedzie jak od razu napiszesz z czym sie nie zgadzasz.

0

Z Twoim podziałem na chirurugów-specjalistów-od-wycinania. Twierdzisz, że nie ma różnicy między programowaniem webowym, desktopowym, mobilnym, a wbudowanym?

0

Nie twierdze, że nie ma różnicy.
Pewne rzeczy są uniwersalne po prostu dla każdego programisty - dobre praktyki, znajomość podstawowych protokołów i wzorców projektowych oraz język programowania (zakładając, że poruszamy się w tej samej technologii).
Różnią się tylko frameworki/biblioteki, których nauka jest wpisana niejako w zawód. Programując np. w ASP.NET przechodząc na Desktop, to jedynie muszę się douczyć WPF'a, XAML'a i biblioteki wspomagające jak Prism czy MVVM Light. Przechodząc w drugą stronę muszę nauczyć się ASP.NET MVC.
Natomiast gdyby nagle programiście powiedzieć, żeby zrobił jakąś skomplikowaną topologię sieciową w firmie z uwzględnieniem firewalli, VPN'a i setek serwerów to mało który dałby radę i 'douczenie' się w tej kwestii byłoby o wiele bardziej czasochłonne niż przeskoczenie z webdeva na desktop deva.

Oczywiście jedni lepiej się czuje w desktopie, a inny w webie czy też appkach mobilnych, każdy ma swojego konika. Tak samo jak np. u endokrynologa jeden bardziej specjalizuje się w leczeniu tarczycy i w tym głównie "siedzi", śledzi najnowsze badania, natomiast inny w tej specjalizacji zajmuje się głównie np. leczeniem bezpłodności u kobiet albo cukrzycy.
Owszem i w jednym i w drugim ci pomoże każdy endokrynolog ale generalnie jak szukasz specjalisty to chcesz, żeby był jeszcze bardziej obeznany i 'dobry' w tym konkretnym problemie, który Cię dotyczy.

5
QwerQwer napisał(a):

Nie twierdze, że nie ma różnicy.
Pewne rzeczy są uniwersalne po prostu dla każdego programisty - dobre praktyki, znajomość podstawowych protokołów i wzorców projektowych oraz język programowania (zakładając, że poruszamy się w tej samej technologii).

Nie za późno za to ograniczenie do jednej technologii?

Mi chodziło o to, że przestawienie się np. z pisania gier na Androida na oprogramowanie stacji bazowych LTE to bardzo dużo roboty. A dla Ciebie to jak różnica między wycięciem śledziony a wątroby.

Różnią się tylko frameworki/biblioteki, których nauka jest wpisana niejako w zawód. Programując np. w ASP.NET przechodząc na Desktop, to jedynie muszę się douczyć WPF'a, XAML'a i biblioteki wspomagające jak Prism czy MVVM Light. Przechodząc w drugą stronę muszę nauczyć się ASP.NET MVC.

I będziesz wtedy bardzo słabym i nieefektywnym programistą webowym, wiecznie sfrustrowanym tym, "czemu nic nie działa tak, jak powinno".
Przechodząc z desktopa na web musisz się nauczyć HTTP oraz jego ograniczeń, a także zupełnie innego podejścia do tworzenia aplikacji wynikającego z tego, że nie możesz sobie po prostu trzymać obiektu w pamięci, jak to jest możliwe na desktopie.
Takich różnic jest więcej, i to w każdą stronę, a to tylko teoria. Różnic praktycznych, wynikających z doświadczenia związanego z tworzeniem danego typu aplikacji jest jeszcze więcej.

0

Jasne ale zakladam, ze programista powinien znac podstawowe protokoly - tj. HTTP, wiedziec czym sie rozni zapytanie GET od POST, czym jest sesja itd. i jakie wiaza sie z tym problemy/ograniczenia. Tego ucza chyba jakos na drugim roku studiow.
Tak samo w desktopie trzeba znac sie troche na wielowatkowosci, wiedziec ze watek UI nie powinien byc obciazany obliczeniami.
Zawsze jak sie uczysz czegos nowego to na poczatku odstajesz, kwestia nabrania doswiadczenia, a jak masz pojecie na co zwracac uwage to szybciej znajdziesz rozwiazanie napotkanych problemow.
Pisalem jedynie o web/desktop/mobile i tu mialem bardziej na mysli np. napisz aplikacje biznesowa na 3 platformy - PC, przegladarka i telefon.
Nie wspominam o programowaniu blizej hardware jak np. systemy wbudowane czy tez 'oprogramowanie stacji bazowych LTE' bo to juz jest troche inna liga, bardziej sprzetowa i niskopoziomowa niz szeroko pojeta inzynieria oprogramowania.

1

I tak i nie.
Do pewnego stopnia to jest jedno i to samo (OOP, wzorce, dobre praktyki), do pewnego stopnia to są rzeczy nieco odmienne. W każdej działce programowania ma się do czynienia z nieco innymi problemami. Nawet w webie - frontendowiec musi być uczulony na interakcję z użytkownikiem, na to, żeby strona się dobrze wyświetlała - backendowiec może olać całkowicie wygląd, ale za to musi znać się na bazach danych itp. Tak samo wątpliwe, żeby ktoś kto nigdy nie zrobił żadnej gry (bo np. był jakimś programistą bankowym), tak od ręki ruszył i zrobił skomplikowanego RPGa.

Jak dla mnie ogólne reguły są podobne, ale jednak trzeba mieć na tyle dużo specyficznej wiedzy w każdej działce (nawet niech to będzie znajomość tych frameworków czy umiejętność rozwiązywania specyficznych problemów), oraz to, że każda działka wymaga trochę innego myślenia - że jednak jak ktoś jest w czymś dobry, niekoniecznie będzie dobry w czym innym na tej zasadzie, że siądzie i będzie programować. Myślę, że samo przestawienie się zajęłoby sporo czasu.

Oczywiście jedni lepiej się czuje w desktopie, a inny w webie czy też appkach mobilnych, każdy ma swojego konika.

Wydaje mi się, że ostatnio coraz bardziej się rozmywa granica między desktopem, webem i apkami mobilnymi (czasem nawet jest to jedna apka robiona np. w HTML5 i opakowywana później do aplikacji mobilnej itp.).

0

To może teraz ja dorzucę swoje spostrzeżenie. Otóż dla mnie web developer, to osoba zajmująca się wytwarzaniem od początku do końca(projektowanie, modelowanie, wdrożenie, optymalizacja) wszelkiego rodzaju aplikacji, stron internetowych. W tym celu używa zarówno języków programowania jak i języków kodowania do tego używa najczęściej najpopularniejszych bibliotek, framework-ów, CMS-ów, specjalizuje się w jednym rodzaju wytwarzania i jest nastawiony na gotowe sprawdzone rozwiązania, bardzo rzadko wytwarza coś od podstaw.

Programista nie musi się określać w rodzaju wytwarzanego oprogramowania może pisać zarówno programy pod web jak i desktop, natomiast jego znajomość języków programowania zazwyczaj kilku języków jest na bardzo wysokim poziomie, to on jest prekursorem w rozwijaniu/wytwarzaniu np. framework-ów, systemów jak i samego języka. Programista nie musi znać języków kodowania, tym samym nie musi zajmować się wyglądem oraz sposobem konfigurowania końcowego środowiska pod wytwarzane oprogramowanie.

Oczywiście napisałem, to tak w dużym ogólnikowym skrócie i według własnego spostrzeżenia.
Wiadomo, że można, by debatować na temat, gdzie jest różnica, ale chyba najważniejsze, by o niej wiedzieć, bo to w końcu nie tylko różnice w obowiązkach, ale również w $$$, więc nasuwa mi się taka konkluzja, że ktoś zyskuje na tym, iż web developer niczym się nie różni od programisty, ale na pewno nie jest nim sam zainteresowany.

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