Przekwalifikowanie się na Software Developer'a

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.

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.

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.

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.

1

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

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 :)

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.

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?

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)

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).

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