Co junior powinien umieć - solidne fundamenty .net'owca.

Co junior powinien umieć - solidne fundamenty .net'owca.
0

Co według Was powinien umieć junior .net developer (mowa o c#), co jest fundamentem aby zacząć szukać pierwszej pracy?

  • Wiedza na temat CLR - ogólnie jak to wszystko działa?
  • Programowanie obiektowe - Co dokładnie wchodzi pod to OOP?
  • Wzorce projektowe (MVC dla przykładu)?
  • Garbage collector?
  • Generyki?
  • Wielowątkowość?

Fajnie gdybyście wypisali takie must have dla juniora C#, chciałbym po prostu sprawdzić czy jeszcze wiele mi brakuje.

fozolif
Kilka projektow solidnej jakosci tzn. czysty kod pokryty testami, skomntowany. Do tego dorzuc Design Patterns, znajomosc jezyka w ktorym programujesz i aplikuj.
Progress
jeżeli kod jest dobrze napisany i pokryty testami to nie wymaga komentowania
gg
W książkach pojawiają się sugestie, że komentarze w kodzie są "zue" bo nigdy nie są aktualne. Kod powinien być samokomentujący poprzez właściwe nazewnictwo zmiennych,metod,klas.
NO
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 6 lat
  • Postów:654
0

wielowątkowość na juniora to chyba za dużo ;)

fasadin
chyba kpisz
PW
  • Rejestracja:ponad 7 lat
  • Ostatnio:2 miesiące
  • Postów:159
0
Northwest napisał(a):

wielowątkowość na juniora to chyba za dużo ;)

Ja co prawda w Javie, ale na staz mialem pytania z wielowatkowsci, bylo ich sporo.

Najlepiej to polecam sie wybrac na targi, wybrac firmy i sie popytac czego wymagaja od stazysty/juniora :)

edytowany 2x, ostatnio: pwntmaciek
NO
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 6 lat
  • Postów:654
0

Poważnie?
Może warto utworzyć 2 wątek i "tym co junior javy umieć powinien" i przypiąć go na górę listy?
Tj w sumie bardzo często powtarzające się pytanie :) Analogicznie ten wątek :)

edytowany 1x, ostatnio: Northwest
PW
  • Rejestracja:ponad 7 lat
  • Ostatnio:2 miesiące
  • Postów:159
0

Tak, do tego refleksje. HTTP, podstawowa znajomosc JEE, JUnit.

Zobacz pozostałe 2 komentarze
somekind
W sumie, teraz przynajmniej mamy dowód. :)
PW
To się tyczy mojego poprzedniego postu, oraz "Poważnie?".
Maciej Cąderek
Maciej Cąderek
Czyli walisz offtop w poscie.
PW
A to przepraszam :)
Maciej Cąderek
Maciej Cąderek
Nie Ty jeden w tym wątku ;)
0

po co refleksja stazyscie ? Czytalem ksiazke java podstawy horstmana i tam autor twierdzi ze refleksja jest zupelnie nie przydatna dla zwyklych developerow aplikacji ?

KL
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 miesiące
  • Postów:191
0

Podstawowa znajomość języka + środowiska i narzędzi wykorzystywanych w pracy.

Generalnie to nie jest dobrze postawione pytanie, bo każda firma będzie miała odrobinę inne oczekiwania.
Raczej skup się na praktycznym popełnianiu błędów przy pisaniu własnych projektów, wyciągaj z popełnianych błędów wnioski. Składni i dostępnych w języku narzędzi nauczysz się przy okazji, a braki nadrobisz z dokumentacją pod ręką, gdy ktoś Cię opieprzy na review.

Także podstawą jest raczej myślenie, zdolność rozwiązywania problemów, pisania czystego kodu aniżeli konkretne zagadnienia języka, bo w pierwszym zakresie wymagania będą bardziej spójne niż w drugim.

A z konkretów:

  • Wzorce projektowe i architektoniczne
  • Umiejętność pisania możliwie czystego i zrozumiałe go kodu
  • Umiejętność czytania kodu
  • Przynajmniej podstawy baz danych, pracy z nimi(LINQ, ADO.NET, NHibernate lub EF)
  • Różnice w działaniu pętli w zależności od kolekcji i wykonywanych na nich operacji
  • Testy jednostkowe, ale takie przynajmniej względnie sensowne
  • Umiejętność czytania czyjegoś kodu i samozaparcie do deszyfrowania zamiarów autora
  • Podstawy środowiska, w którym będziesz pracował (ASP.NET, WPF, UWP i związane z nimi zagadnienia/wzorce)
  • Standardowe zagadnienia OOP, umiejętność wykorzystania dobrodziejstw, które daje (tj. sensowne zastosowanie interfejsów, abstrakcji i tworzenie właściwych powiązań/relacji między obiektami)
  • Pokora, umiejętność szukania informacji oraz pytania starszych stażem. To jest jedną z ważniejszych umiejętności na tym etapie. Im szybciej zdasz sobie sprawę z tego, że nic jeszcze nie wiesz, tym lepiej dla Ciebie i zespołu. Tylko bez popadania w skrajność :)
  • No, na pewno nie zaszkodzi znać podstawy narzędzi języka(lambdy, delegaty, generyki itp. cuda na kiju), ale koniecznie z umiejętnością sensownego zastosowania. Podobnie z technologiami okolicznymi(przy ASP.NET powinieneś ogarniać przynajmniej ogólnie/podstawowo HTML, JS, CSS)

Pewnie coś pominąłem, może coś jest "nadprogramowe", wszystko zależy od firmy i ich wymagań co do juniora. Czasem to będzie stażysta z innym tytułem, czasem w pełni samodzielny programista, a czasem(często?) nie będziesz "junior/mid/senior", tylko zwyczajnie programista, a i tak będzie wiadomo, żeś jest "młody" I trzeba Cię pokierować i przypilnować.

fozolif
gdzie ty to pracujesz, ze u ciebie sie 'opieprza' przy code review
KL
Oj, bardzo mocno nietrafione sformułowanie... Zwyczajnie zwróci uwagę na błędy. Mogłem lepiej sformułować, bo kiepsko to brzmi
1

Tak, tak, wielowątkowość, refleksja, wzorce projektowe... robimy nabór na młodszego programistę .Net, 2.8k na rękę, małe miasto w "Polsce B". Zgłosiło się 4 osoby, 3 się wyłożyło na napisaniu Fibonacciego rekurencyjnie(mając wydrukowaną definicję), czwartemu się udało z naszą pomocą. Chyba go weźmiemy na okres próbny.

0
Skromny Lew napisał(a):

Tak, tak, wielowątkowość, refleksja, wzorce projektowe... robimy nabór na młodszego programistę .Net, 2.8k na rękę, małe miasto w "Polsce B". Zgłosiło się 4 osoby, 3 się wyłożyło na napisaniu Fibonacciego rekurencyjnie(mając wydrukowaną definicję), czwartemu się udało z naszą pomocą. Chyba go weźmiemy na okres próbny.

2,8k? na junior .net? śmiech na sali

PW
  • Rejestracja:ponad 7 lat
  • Ostatnio:2 miesiące
  • Postów:159
0

Taki tescik dostalem z korpo na A z lodzi :)

Krwawy Ogórek napisał(a):
Skromny Lew napisał(a):

Tak, tak, wielowątkowość, refleksja, wzorce projektowe... robimy nabór na młodszego programistę .Net, 2.8k na rękę, małe miasto w "Polsce B". Zgłosiło się 4 osoby, 3 się wyłożyło na napisaniu Fibonacciego rekurencyjnie(mając wydrukowaną definicję), czwartemu się udało z naszą pomocą. Chyba go weźmiemy na okres próbny.

2,8k? na junior .net? śmiech na sali

2,8k to żart dla człowieka, który miał problem z fibonaccim i rekurencja?

edytowany 1x, ostatnio: pwntmaciek
0

2.8k dla nowego na okres próbny, osoba do przyuczenia. W założeniu przez pierwsze 2 miesiące ma się tylko uczyć a my będziemy mu za to płacić, w trzecim miesiącu pasuje żeby chociaż na siebie zarobił. Teraz to już sam nie wiem... dawno rekrutacji nie robiliśmy, może teraz 5k netto to minimum dla kogoś kto już "Hello World" umie napisać.

KL
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 miesiące
  • Postów:191
0

Hm, mocno zależy od regionu niby, ale bez przesady. 2800 zł na rękę, to jest solidna kwota.

Jak ktoś ma coś we łbie, to bez doświadczenia(choćby stażu) pójdzie i za mniej. Niestety teraz jest wysyp mistrzów "dej". I tak to potem wygląda, że przychodzą kompletne sieroty na rekrutację(nawet jak algorytmika leży, ale coś innego ogarnia jako-tako, to jest dobrze) i jeszcze mają wymagania, bo wydaje im się, że Pana Boga za nogi złapali... I jeśli faktycznie tak to wygląda, że 75% kandydatów nie nadaje się do niczego poza zbieraniem śmieci, a z pozostałych 25% części można ew. pozwolić okna w biurze pomyć, to smutne to jak pogrzeb.

Niestety jest ogromny rozdźwięk pomiędzy "powinien umieć", a tym kto faktycznie przychodzi na rekrutację, nie sądziłem, że jest aż tak zabawnie w tej chwili.

I tak, wiem, że wysnuwanie wniosków na podstawie próbki złożonej z czterech osób jest dość komiczne... Ale jednak, obawiam się, że rzeczywistość nie odbiega tak mocno od tego jednostkowego przypadku.

edytowany 1x, ostatnio: Klojtex
L5
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 5 lat
  • Postów:4
0

2800zł na rękę jako junior to mało ?:D
"Programista C#" 3000brutto :(

edytowany 1x, ostatnio: Level52
0

2800 to imo az za duża wypłata dla juniora który nie wie co to rekurencja.

PI
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 miesiące
  • Postów:2787
czysteskarpety
czysteskarpety
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
0
Klojtex napisał(a):

Hm, mocno zależy od regionu niby, ale bez przesady. 2800 zł na rękę, to jest solidna kwota.

Kobita co u nas myje schody w bloku ma 2200 :)


L5
Ale ona jest już samodzielna, tak jakby Senior .Net
KL
Tylko ona nie ma solidnej podwyżki w perspektywie 6-12 miesięcy. I ona swoją pracę samodzielnie, nie trzymając przy tym mopa do góry nogami :P
0
czysteskarpety napisał(a):
Klojtex napisał(a):

Hm, mocno zależy od regionu niby, ale bez przesady. 2800 zł na rękę, to jest solidna kwota.

Kobita co u nas myje schody w bloku ma 2200 :)

Lekarz rezydent który leczy ci raka ma 3200

spartanPAGE
Na rękę z rezydentury ma 2200 do 2500 ;)
fozolif
i co z tego, ze lekarz rezydent zarabia 3200?
0

@fozolif tak samo i co z tego ze sprzątaczka zarabia 2200

fozolif
@Andrzej ... no dokladnie. co z tego, ze lekarz zarabia tyle, sprzataczka tyle ... nie nalezy sie porownywac do innych zawodow w kraju lecz nalezy sie porownywac do innych programistow w krajach wysoce rozwinietych. programista ma ta przewage nad innymi zawodami, ze moze pracowac zdalnie. uwazam, ze jest to praca w ktorej na zarobki programistow nalezy patrzec globalnie.
R3id4k
  • Rejestracja:ponad 7 lat
  • Ostatnio:prawie 4 lata
  • Postów:175
0

Oficer w wojsku na starcie po szkole ma ~3500 (netto) + około 500 jak będzie skakał ze spadochronem ale potem zero podwyżek. Awans raz na 3-4 lata za 50-100 zł. Tylko się czeka do emerytury aby zgarnąć na odejście 150-200k i szukać nowej sensownej pracy. Tylko plecaki robią karierę. Chyba wszędzie tak jest.

edytowany 2x, ostatnio: R3id4k
Zobacz pozostałe 12 komentarzy
gg
@R3id4k: no to trochę po niewczasie odpowiedziałem ;).
R3id4k
Powiem Ci jedno - mam nadzieję, że za udział w misji w Iraku ktoś kiedyś nie nazwie mnie "hitlerowcem" i nie zabierze mi tej emerytury. Oczywiście liczę się z jej obniżeniem o 25% max - tak wynika z prawa jak zarobię 130% średniej krajowej.
czysteskarpety
czysteskarpety
@R3id4k: mnie tam nie musisz bajerować, mam sporo mundurowych w rodzinie, nikt głodem nie przymiera, sam z waszych "zniżek" korzystałem w WOW, kantynach, stołówkach, u mechaników, hydraulików, elektryków, przy przeprowadzce dostałem młodych do pomocy, paliwko tańsze się zdarza, taxi, wiem jak jest ziom ;)
R3id4k
No w tych "starych" pokoleniowych rodzinach wojskowych z układami tak pewnie jest. Ale nie u tych co jako pierwsi w swoich wystartowali. Za te "paliwko" jak piszesz to u mnie kilku już w cywilu siedzi i sprawy mają pozakładane. Jak mi kiedyś kazali pomagać jednemu przy przeprowadzce to szybko mu się odechciało jak powiedziałem że z TV przyjadę mu pomagać... Te rzeczy o których piszesz to istnieją wyłącznie w patologiach w małych garnizonach, gdzie żołnierz nie ma innej pracy a sam honor to za mało by rodzina przymierała z głodu. Jakie zniżki w kantynach -> chyba lata 80 :)
R3id4k
Sam fizycznie bez przymusu na rzecz osób postronnych pracowałem wyłącznie w czasie sytuacji kryzysowych w imię wyższych idei i obowiązków.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)