Przekwalifikowanie się na Software Developer'a

Odpowiedz Nowy wątek
2020-07-21 10:36

Rejestracja: 4 lata temu

Ostatnio: 5 dni temu

1

Szanowni Państwo

Właśnie podjąłem decyzję przekwalifikowania się na programistę. Mój wybór padł na C# (C sharp), ponieważ miałem już z nim do czynienia na studiach (programowanie strukturalne i modułowe, podstawy programowania obiektowego). Dla tego teraz zacząłem kurs odraz od projektów. Planuję zrobić ten kurs:

I teraz moje pytanie. Co dalej? Jaki jeszcze kurs polecacie ukończyć? Co jeszcze "trzeba" umieć jako software developer? Tak tak, rozumiem. Programować, programować i jeszcze raz programować, ale domyślam się, że nie tylko po prostu projekt w C#? Pewnie jeszcze jakieś inne języki/programy musiałbym się nauczyć obsługiwać? Jak wygląda to w praktyce? Wystarczy, że na rozmowie pokażę im przykłady aplikacji napisanych w czystym C# i wytłumaczę gdzie i co "zakodziłem" czy jeszcze jakieś dodatkowo coś trzeba umieć? Pewnie GitHub jest niezbędny dla programisty?

Interesuje mnie przekwalifikowanie się na inżyniera oprogramowania a nie webdevelopera. Raczej wolę programy i "algorytmy" niż "pozycjonowanie" kontentu na stronie i żeby ładnie wyglądało.

Pozostało 580 znaków

2020-07-21 10:58

Rejestracja: 9 lat temu

Ostatnio: 1 godzina temu

1

Jeśli mówimy o C# to od razu dopisz sobie do listy ASP.NET Core/ASP.NET MVC (to starsza wersja). Jakiś ORM też będzie raczej potrzebny, więc niech będzie Entity Framework.
Poza tym coś o testach jednostkowych warto wiedzieć, nawet jak ostatecznie w firmie "kiedyś będą" to sporo rozmów będzie pytanie o nie zawierać.
Git to teraz też must have (chyba, że interesują Cię projekty dojrzewające przez dziesięciolecia w piwnicach banków).
Skoro ASP.NET to jakieś podstawy HTML, CSS i JS się przydadzą, bo co prawda nie będziesz musiał robić designu, ale w końcu albo ten design trzeba jakoś włożyć do aplikacji albo coś tam poprawić.
GitHub nie jest niezbędny, ale na początek może pomóc (albo bardzo zaszkodzić).
Projekty w czystym C# są praktycznie bezwartościowe w kwestii zatrudnienia, chyba, że idziesz na bezpłatne praktyki albo są to jakieś magie robione na naprawdę wysokim poziomie, jakieś biblioteki, które rozwiązują powszechny problem albo złożone algorytmy.

Da się iść inną ścieżką w C# ale sądzę, że 90-95% pracy to aplikacje webowe, czasami trafi się coś w WinForms albo WPF na desktopa ale w tym momencie to powoli coraz większa nisza.


edytowany 2x, ostatnio: mar-ek1, 2020-07-21 17:00
Może używajmy pełnych nazw, bo później ludzie serio myślą o uczeniu się asp xD - WeiXiao 2020-07-21 16:46
Dodałem, że chodzi mi o Core/MVC - mar-ek1 2020-07-21 16:59

Pozostało 580 znaków

2020-07-21 11:37

Rejestracja: 4 miesiące temu

Ostatnio: 13 godzin temu

10

Oh shit here we go again...

gornada napisał(a):

Właśnie podjąłem decyzję przekwalifikowania się na programistę.

Tak samo jak 500 innych osób.

gornada napisał(a):

I teraz moje pytanie. Co dalej? Jaki jeszcze kurs polecacie ukończyć? Co jeszcze "trzeba" umieć jako software developer?

Trzeba umieć szukać informacji. Znalazłeś kurs ale nie zapytałeś google co powinieneś umieć.
Zacznij od tej roadmapy - Jak już się z nią zapoznasz i podejmiesz kolejną decyzję o ścieżce...
Skorzystaj z tej roadmapy

gornada napisał(a):

Jak wygląda to w praktyce? Wystarczy, że na rozmowie pokażę im przykłady aplikacji napisanych w czystym C# i wytłumaczę gdzie i co "zakodziłem" czy jeszcze jakieś dodatkowo coś trzeba umieć?

Nie. Nie wystarczy. Musisz posiadać wiedzę na odpowiednim poziomie w wielu różnych "podgrupach" danej technologii. Roadmapy wyżej doskonale to ukazują. Małe szanse, że ktoś będzie patrzeć w to co napiszesz. 99% szans, że będziesz musiał rozwiązać zadanie, napisać w domu projekt, wykazać się wiedzą teoretyczną i praktyczną podczas rozmowy z kimś z zespołu - interview questions.

gornada napisał(a):

Pewnie GitHub jest niezbędny dla programisty?

Bardziej git. Niezbędna natomiast jest jedynie wiedza.

gornada napisał(a):

Interesuje mnie przekwalifikowanie się na inżyniera oprogramowania a nie webdevelopera. Raczej wolę programy i "algorytmy" niż "pozycjonowanie" kontentu na stronie i żeby ładnie wyglądało.

Inżynier oprogramowania to bardzo szerokie pojęcie. Najpierw doczytaj co ów inżynier robi. Jak wchodzisz w działkę aplikacji web to podstawowa wiedza "web" jest już dzisiaj wszędzie wymagana.
Oznacza to, że jak np. piszesz moduł formularza zamówień to musisz umieć sobie ten formularz zaprojektować. W najbardziej archaiczny sposób ale mimo wszystko. Później pewnie ktoś od frontu przerobi go i tak na wersję ładną dla oka.

Jak wolisz programy i algorytmy to raczej nie ten język. Nie to, że nie można. Ale nie widziałem ofert pod C#, które opierały się o ostrą algorytmikę. Do tego wybiera się raczej inne języki.
W tym natomiast robi się desktop (nadal) i web (coraz więcej). I bardziej niż bardzo zaawansowana algorytmika raczej liczy się wiedza domenowa + znajomość dodatkowych narzędzi poza samym C# jak bazy danych, loggery, middleware, kontrola wersji, protokoły i umiejętność ich wykorzystania, MVC, REST, LINQ, wzorce projektowe - znowu wszystko masz na roadmapach.

PS. Po tym 24 godzinnym kursie nadal nie będziesz umieć zbyt wiele, a sama nauka tego wszystkiego żeby w miarę lekko wejść w temat to tak około intensywnego roku przy otwartym umyśle.


edytowany 1x, ostatnio: purrll, 2020-07-21 11:38

Pozostało 580 znaków

2020-07-21 15:46

Rejestracja: 5 miesięcy temu

Ostatnio: 28 minut temu

1

A ja zadam pytanie inne, skoro robisz przekwalifikowanie to czym się wcześniej zajmowałeś? Możesz wiedzę którą obecnie posiadasz z byłego doświadczenia połączyć z programowaniem i np. iść w branżę którą się zajmowałeś wcześniej + konkretnie zajmować się IT.

Jest wiele niszy gdzie brakuje dobrego eksperta/profesjonalisty z danej dziedziny wiedzy + jeszcze jest w stanie ogarnąć to pod kątem IT.

Pozostało 580 znaków

2020-07-21 21:52

Rejestracja: 4 lata temu

Ostatnio: 5 dni temu

1

Wcześniej, czyli teraz, zajmuję się automatyką. Konkretnie pracuję na utrzymaniu ruchu.

Pozostało 580 znaków

2020-07-22 00:51

Rejestracja: 2 lata temu

Ostatnio: 14 godzin temu

0

Skoro jesteś automtykiem to moze idź w kierunku programowania jakich maszyn czy robotów albo integracja maszyn z softem. Tu raczej technologie desktopowe. WinForms się trzyma mocno albo wpf jeśli masz ciagotki masochityczne :)

Pozostało 580 znaków

2020-07-22 15:36

Rejestracja: 1 miesiąc temu

Ostatnio: 20 godzin temu

1

Trochę offtop, ale ostatnio coraz częściej odczuwam, że przebranżowienie(zostanie) programistą to złota recepta na sukces.. A nawet lek na całe dotychczasowe zło w naszym życiu. Nie mówię akurat o Panu, nic złego nie mam na myśli. Tylko tak jakoś często gęsto widzę takie wpisy.

Przecież o to w tym wszystkim chodzi. Nasłuchali się, że wszyscy w IT są bogaci jak szejkowie naftowi i wszyscy lecą jak muchy do wiadomo czego ;-) - purrll 2020-07-22 16:00
A potem generycznym komponentem sie podmienia x tak samo napisanych klas :P - Pixello 2020-07-22 17:23

Pozostało 580 znaków

2020-07-22 20:15

Rejestracja: 4 lata temu

Ostatnio: 5 dni temu

0

Rynek pracy bądź co bądź kusi ofertami pracy dla IT wciąż.

PS. Po tym 24 godzinnym kursie nadal nie będziesz umieć zbyt wiele, a sama nauka tego wszystkiego żeby w miarę lekko wejść w temat to tak około intensywnego roku przy otwartym umyśle.

Z tego też powodu przerzuciłem się na to:
https://www.youtube.com/watch[...]w&list=PLAC325451207E3105
łatwiej też o agregację zdobywania wiedzy po kolei po kolejnych filmikach. Myślę też założyć blog jako forma dzielenia się zdobytą wiedzą (prezentacja jak do portfolio).

Co do frameworków to masz rację. Poza C# będę chciał się nauczyć ASP.NET albo ASP.NET core (skoro ten drugi pozwala wywoływać program na wielu platformach to nie lepiej używać tylko jego bez tego pierwszego?). No i dalej MySQL do baz danych.

Z czasem musiałbym zacząć pisać miniprojekty sam i udostępniać je na GitHubie to przy okazji nauczył się też wtedy GiT'a?

Zrobiłeś literówkę w słowe PostgreSQL. - tsz 2020-07-22 20:29
@tsz: +1. Dobre. Chociaż ja bym polecił MS SQL server. Zawsze dziala. Nie wiem jakim jakości są biblioteki do PostgreSQL. Do Mysql są średniej. - jacek.placek 2020-07-22 20:36
@jacek.placek: racja, ja spoza świata C#. W tym wypadku MS SQL faktycznie jest bardziej naturalnym wyborem. - tsz 2020-07-22 20:40
do PG są nawet ok - WeiXiao 2020-07-22 20:51
Mnie już w 2008 działało łączenie z Postgresem, a teraz jest pewnie łatwiej, bo jest NuGet i nie trzeba ściągać bibliotek ze strony. - somekind 2020-07-23 00:49

Pozostało 580 znaków

2020-07-22 20:19

Rejestracja: 4 lata temu

Ostatnio: 1 godzina temu

0

@gornada:

Co do frameworków to masz rację. Poza C# będę chciał się nauczyć ASP.NET albo ASP.NET core (skoro ten drugi pozwala wywoływać program na wielu platformach to nie lepiej używać tylko jego bez tego pierwszego?). No i dalej MySQL do baz danych.

Tak, lepiej używać tych rzeczy z Core w nazwie (na ten moment)

zintegruj się z Core z jakimś soapem z ws bindingiem i dodatkami od security. Wszystko zależy co piszesz i z czym się musisz integrować. - boska_cebula 2020-07-22 20:49
@boska_cebula: zintegruj się z jakimś soapem z ws bindingiem nie lol :P - WeiXiao 2020-07-22 20:52
właśnie :) niestety framework trzeba wybierać pod projekt, może od 5.0, ale mam pewne wątpliwości czy wszystko będzie wspierane - boska_cebula 2020-07-22 22:03
No WCF nie będzie wspierany, WebForms czy Silverlight zresztą też nie... - Ktos 2020-07-23 10:48
klient WCF jest opensource to coś może się zmieni z czasem, ale servera nie postawimy. Kolejna fantastyczna decyzja M$... rozumiem, że albo trzymamy stary soft albo zmuszamy klientów naszych serwisów do developmentu bo przechodzimy na gRPC/REST - boska_cebula 2020-07-23 11:12

Pozostało 580 znaków

2020-07-22 20:40

Rejestracja: 4 miesiące temu

Ostatnio: 13 godzin temu

0
gornada napisał(a):

Rynek pracy bądź co bądź kusi ofertami pracy dla IT wciąż.

PS. Po tym 24 godzinnym kursie nadal nie będziesz umieć zbyt wiele, a sama nauka tego wszystkiego żeby w miarę lekko wejść w temat to tak około intensywnego roku przy otwartym umyśle.

Z tego też powodu przerzuciłem się na to:
https://www.youtube.com/watch[...]w&list=PLAC325451207E3105
łatwiej też o agregację zdobywania wiedzy po kolei po kolejnych filmikach. Myślę też założyć blog jako forma dzielenia się zdobytą wiedzą (prezentacja jak do portfolio).

Nie wydaje mi się żeby to była jakakolwiek różnica poza pocięciem tego na mniejsze części. Nie zaszkodzi obejrzeć ale po obejrzeniu, napisaniu jakichś prostych rzeczy skupiłbym się jednak na czerpaniu wiedzy z jednej dobrej książki, która wyjaśni mnóstwo rzeczy, których w żadnym video nigdy nie będzie.
+
Jestem niesamowicie zdziwiony jak WSZYSCY przebranżeniowcy nie potrafią zarządzać swoim czasem marnując go na rzeczy w ogóle nieistotne. W Twoim przypadku i tych 500 osób jak Ty jest fakt zakładania bloga. I po co? Po to żeby po raz 143843843 opisywać jak działa pętla czy tablica? Skup się na nauce, a nie pierdołach.

Co do frameworków to masz rację. Poza C# będę chciał się nauczyć ASP.NET albo ASP.NET core (skoro ten drugi pozwala wywoływać program na wielu platformach to nie lepiej używać tylko jego bez tego pierwszego?). No i dalej MySQL do baz danych.

Stosunek projektów w Core vs. projekty bez Core nadal jest olbrzymi na niekorzyść Core. Szanse, że wejdziesz z ulicy do Core są dużo mniejsze niż wejście do jakiegoś old projektu, którego doświadeczeni już nie chcą obsługiwać.

Z czasem musiałbym zacząć pisać miniprojekty sam i udostępniać je na GitHubie to przy okazji nauczył się też wtedy GiT'a?

Możesz tylko znowu nie wiem po co? Dla siebie? Dobre rozwiązanie + nauczysz się gita. Dla kogoś? Nikogo nie interesują mini projekty. Chyba, że planujesz napisać menadżer pakietów pod Windowsa wraz z własnym terminalem kompletnie od zera. Wtedy warto mieć taki projekt w profilu (tej skali).


Pozostało 580 znaków

2020-07-22 20:49

Rejestracja: 4 lata temu

Ostatnio: 5 dni temu

0

Z czasem musiałbym zacząć pisać miniprojekty sam i udostępniać je na GitHubie to przy okazji nauczył się też wtedy GiT'a?

Możesz tylko znowu nie wiem po co? Dla siebie? Dobre rozwiązanie + nauczysz się gita. Dla kogoś? Nikogo nie interesują mini projekty. Chyba, że planujesz napisać menadżer pakietów pod Windowsa wraz z własnym terminalem kompletnie od zera. Wtedy warto mieć taki projekt w profilu (tej skali).

W ramach prezentacji wiedzy? Z pustego CV chyba żaden rekruter nie zaprosi mnie na rozmowę? A tak to będę miał dowód. Choćby głupi blog prezentujący czego ostatnio się nauczyłem, albo aż projekt pokazujący, że coś tam umiem skompilować. No bo z jakoś muszę rekruterowi udowodnić, że coś umiem i warto mnie zaprosić na rozmowę? A nie że tylko sobie napisałem, że niby umiem a może wcale nie jest to prawda?

Pozostało 580 znaków

Odpowiedz

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