Sławomir Marcjański

Sławomir Marcjański Programista /
Ethical Hacker

Temat: Praca w .net

Nie wiem czy zaważyliście ostatnią posuchę na rynku pracy w przypadku programowania w .net.
Szczególnie na rynku trójmiejskim jest niezła posucha.
Wiecie może czym jest to spowodowane? Czy jest szansa na zmiany czy to tak kryzys zadziałał?

Mi się właśnie skończył kontrakt muszę przyznać że się zaczynam obawiać...
Mariusz Dullak

Mariusz Dullak Dullak Solutions -
Właściciel

Temat: Praca w .net

Zapraszam do kontaktu.
Poszukuję pasjonatów .NET/C# do pracy w Szczecinie.

Temat: Praca w .net

Echa zjawiska, o jakim piszesz, docierają do mnie, aczkolwiek nie dotyczą. Nie żałuję ani odrobinę, że wybrałem .NET zamiast Javy.

Znam kilka firm, w których jest (a w każdym razie było) zapotrzebowanie na programistów .NET (2-3 letnie doświadczenie), głównie formsy, znajomość m.in. WCF, programowania z użyciem ORM.

Jest zakaz publikowania ogłoszeń na tej grupie, więc nie będę podawał nazw firm, szczegółów ani linków, napiszę jedynie, że Katowice i "od zaraz" :)

Żądnych informacji zapraszam do kontaktu :)Adrian Olszewski edytował(a) ten post dnia 30.06.09 o godzinie 13:57

konto usunięte

Temat: Praca w .net

Praca jest, pozostaje kwestia mozliowsci / checi relokacji.

konto usunięte

Temat: Praca w .net

dokladnie,zgadzam sie z Rafalem. Teraz najwiekszy problem to relokacja do innego miasta.
Michał Kostrzewski

Michał Kostrzewski Student, Programista
ASP.NET

Temat: Praca w .net

Może i praca jest , natomiast praktyk nawet w Warszawie praktycznie nie ma w ogóle. I jak tu zacząć swoją przygodę w .NET ? Interesuje się .NETem już 1.5 roku , chciałbym się sprawdzić, zdobyć doświadczenie choćby za free, ale nie wiem czy nie będe musiał się wstrzymać do ukończenia studiów bądź chociaż do 4-5 roku. Czy wy również mieliście takie problemy z znalezieniem pierwszej pracy ?

konto usunięte

Temat: Praca w .net

Michał Kostrzewski:
bądź chociaż do 4-5 roku. Czy wy również mieliście takie problemy z znalezieniem pierwszej pracy ?
Na 4-5 roku to mialem juz kilka komercyjnych projektow i prace nauczyciela programowania za soba :) Inna sprawa ze na 3 roku co najmniej 10 kolesi ode mnie z rocznika mialo juz swoje firmy na roznym etapie rozwoju.
Michał Kostrzewski

Michał Kostrzewski Student, Programista
ASP.NET

Temat: Praca w .net

Pytanie tylko (może dość dziwne) czy jest możliwe napisanie poważnych komercyjnych projektów nie mając żadnego doświadczenia zawodowego. Wiadomo, można sie nauczyć składni języka, poznać frameworki i technologie , napisać kilka średnich programów ,ale jak sie "naprawde" programuje ,to mysle ze mozna sie nauczyc tylko od kogos (na praktykach ?) ,chyba ze potrafia nauczyc tego na uczelni w co wątpie.

To o czym pisze , nie dotyczy raczej webdeveloperów. Oni po prostu jak mają talent do robienia stron, to wystarczy ,ze pokażą portfolio i już mają szanse na znalezienie czegoś.

Nie wiem czy ktoś rozumie co mam na myśli :)

konto usunięte

Temat: Praca w .net

Michał Kostrzewski:
Pytanie tylko (może dość dziwne) czy jest możliwe napisanie poważnych komercyjnych projektów nie mając żadnego doświadczenia zawodowego. Wiadomo, można sie nauczyć składni języka, poznać frameworki i technologie , napisać kilka średnich programów ,ale jak sie "naprawde" programuje ,to mysle ze mozna sie nauczyc tylko od kogos (na praktykach ?) ,chyba ze potrafia nauczyc tego na uczelni w co wątpie.

Ja jak zaczynalem mialem na swoim koncie jedynie kilka "programikow" na zaliczenie. Praktyki okazaly sie zupelnie niepraktyczne, a praktyki nabylem w zyciu. Oczywiscie popelnilem wiele bledow do ktorych wstyd sie potem przyznac... no ale coz nauczylem sie, klienci sa zadowoleni (do tej pory) a chyba o to chodzi.

konto usunięte

Temat: Praca w .net

Rafale, nie popelnia bledow ten kto nic nie robi, wiec nie ma sie co wstydzic. Taka analogia do refaktoringu ;)

Zgodze sie, ze praktyki sa malo potrzebne. Juz lepiej przegladac zrodla z codeproject/codeplex i czytac mase ksiazek ;)
Michał Kostrzewski

Michał Kostrzewski Student, Programista
ASP.NET

Temat: Praca w .net

ksiazek czytam dość sporo ,ale one opisują tylko narzędzia ,których musiszy sam użyć. W sensie pokażą ci co służy do zbudowania domu (deski/cegły) , pokażą jak z nich korzystać (jak skręcić biurko) ,ale nie pokażą jak zbudować cały dom ,żeby stał przez lata :) Nie wiem czy dobry przykład wyciągnąłem ,ale jeśli książki tego nie uczą, samemu też raczej nic naprawde dobrego(i dużego) się nie sklei , to zostają chyba tylko praktyki, gdzie ktoś pokaże jak to ma wyglądać :) ??

Temat: Praca w .net

Przy czym po jakimś czasie, przy którejś praktyce z kolei okaże się, że... no właśnie....

W firmie (zakładam, że praktyki będą w formie udziału w rzeczywistym projekcie) A będzie kładziony duży nacisk na jakość kodu, który musi działać bezawaryjnie. TDD, rozbudowany dział jakości, ciągłe audyty funkcjonalności. W firmie B powiedziane będzie od razu: nie mamy czasu na zabawy w TDD, wszystkim zajmie się dział jakości, a testować będą także klienci (i będzie to uzasadnione ekonomicznie).

W firmie C dowiesz się, że kod będzie pisany na kolejne 20 lat i ma być w związku z tym dobrze zaprojektowany obiektowo, w celu dalszego rozszerzania funkcjonalności i "wymiany komponentów na nowsze" (więc np. MVC), a także wybrane zostaną pojemne i wydajne bazy danych. W firmie D powiedzą wprost: piszemy kod na 5 lat. Zakładamy, że po 5 latach zestarzeje się moralnie i będzie my pisać kompletnie od nowa, może w zupełnie innej technologii. W związku z czym wybieramy bezpłatne, ograniczone wersje bazy danych (np. SQL Express), bo i tak się nie zdążą zapełnić, a wydajnościowo nam pasują w 100%. A kod ma po prostu działać, nie musi być rozszerzalny, w skrajnym przypadku można nawet wszystko powrzucać do formatek (zaprzeczenie MVC), bo nie przewidujemy zmian.

W firmie E dowiesz się, że aplikacja ma być modularna. Co większe formatki do osobnych modułów, zarządzanych jakimś "app managerem".
Za to w firmie F dowiesz się, że to bzdurne podejście, aplikacja ma być monolitycznym blokiem (...bo jakieś tam, głębsze, uzasadnienie, wynikające z zagadnienia i potrzeb).

Być może w kolejnych firmach trafisz na zbliżone podejścia projektowe i nauczysz się określonych technik projektowania i kodowania. I być może będziesz ich za jakiś czas bronił jak lew w dyskusjach (a czasem flamewarach) o "dobrych praktykach" :)
A być może będziesz odkrywał coraz to inne podejścia, także takie, z którymi dzisiaj absolutnie, ale to absolutnie się nie zgadzasz, ale musisz się w nie wpasować - bo tak pracuje firma (i nawet bez uzasadnienia, po prostu "bo ja tak chcę, panie Michale").

I tak naprawdę to drugie podejście będzie może przydatniejsze - nauczy różnie dobierać narzędzia do różnych celów.

Miałem w pracy kolegę, który pracował wcześniej 4 lata przy wielkim przedsięwzięciu. Ale jednym. Jego doświadczenia w kolejnym projekcie stały się tak oderwane od rzeczywistości, że co chwila wybuchał świętym (!) oburzeniem ("jak tak można?! To jest sprzeczne z podejściem XYZ"), albo kończyło się na "nie zgadzam się z tym, nie będę tak robił". Najpierw robił "z musu", potem mu się podobało.

Tak więc - masz rację, książki wskażą Ci tylko, czym dysponujesz. A także przedstawią tzw. "dobre praktyki", jakie powinno się stosować. Czasem będą one zupełnie sprzeczne z Twoim dotychczasowym doświadczeniem. Ale gdy wejdziesz w rzeczywiste projekty, okaże się, że czasem będą one stanowić przerost formy nad treścią. A czasem "brudne" rozwiązania będą zupełnie OK w danym zagadnieniu.

A z praktycznych rad... kiedyś, jeszcze na uczelni (mieliśmy kółko .NETa) usłyszałem od zaproszonego prelegenta, że doświadczenie niekoniecznie trzeba zbierać w firmach. Na początek, kiedy jeszcze raczkujemy, można sobie obrać jakieś zagadnienie do zaprogramowania, byle użyteczne, a nie "byle co" (to ważne).

Na przykład CMS'a WWW (to nic, że są ich setki, ważne, że chcesz osiągnąć konkretną funkcjonalność), system zarządzania i ewidencji magazynowej, system data miningowy, bazę wiedzy na jakiś temat (mapy pamięci, skojarzenia, sieci semantyczne), systemu agregujące i obrabiające wstępnie informacje z sieci (np. o pogodzie, imprezach i dostępności miejsc w hotelach), systemy naukowe (np. symulatory procesów).

Potem, gdy już zaprogramujesz taką rzecz, możesz się nią pochwalić np. na rozmowie kwalifikacyjnej. Przykładowo w CV, w sekcji poświęconej znanym platformom i językom projektowania, wstawiasz link do Twojego CMS'a (a do koszulki z CV i LM dodajesz "wizytówkę CD" z projektem i prezentacją), by rekrutujący mogli sobie pooglądać namacalny dowód Twoich umiejętności.

Nauczysz się korzystać z WIELU narzędzi (tak to jest - rzeczywiste zagadnienia wymagają często łączenia narzędzi, np. C++/C#/Flash, C#/Java/Macromedia Authorware, C#/WinAPI/Assembler/Analysis Services), będziesz miał czas na testowanie kolejnych "dobrych praktyk" bez poganiania i terminów. Przygotujesz sobie "warsztat pracy", tzn. gotowe kawałki kodu, które będziesz potem wykorzystywać wielokrotnie w różnych projektach w różnych firmach ("aha, ja już to kiedyś robiłem").

I szukaj, dużo szukaj po codeplex, codeproject, c-sharpcorner, stackoverflow, etc. To będzie za chwilę Twój potężny arsenał pomysłów i konkretnych rozwiązań, które tylko "przykroisz" do potrzeb.

Jeśli podejdziesz do problemu poważnie i zacięciem ("eee, dzisiaj mi się nie chce"), to poniesiesz niewielką stratę (np. pół roku na projekt, za to zrobiony "z sercem"), którym potem pochwalisz się w firmie, do której uderzysz na praktyki. Jeśli Ci w domu "dziecko nie płacze" i nie musisz jutro zarabiać w kpln, a masz za co jeść i gdzie mieszkać, to poświęć trochę czasu właśnie na samodzielną naukę.
Michał Kostrzewski

Michał Kostrzewski Student, Programista
ASP.NET

Temat: Praca w .net

Dziękuje za wyczerpującą odpowiedź.

Na pewno nie ma dwóch identycznych firm ,ale też nie przesadzajmy z tymi 8-ma praktykami. Wiadomo ,że nie zrobią one ze mnie dobrego programisty, jednak licze ,że ta 1-sza firma przetrze mi troche szlaki do kariery. Wiadomo ,ze w kolejnych firmach ,mogą kazać mi inaczej programować, ale założe się ,że są pewne cechy programowania, projektowania, planowania, zasady w tworzeniu projektów, w pracy zespołowej itd. ,które obowiązują w większości firm ,a których nie poznasz z książek czy z internetu.

Dajmy na to np. trzymanie connection stringów w kodzie, a nie w configu , ktoś może napisać dobrą, działającą aplikacje bazodanową, jednak z czasem sie okaże, że są w niej oczywiste błędy, których się nie spodziewał, o których nie wyczytał z książek ,a w pracy pewnie by go powiadomili już po paru dniach.

Liczę ,że jest szansa ,że taki zarys "prawdziwego" programowania (i nie tylko) pokażą mi właśnie na praktykach, a jeśli uznam ,że kolejne tego typu praktyki już nie są mi tak potrzebne jak ta 1-sza, to wtedy pewnie zaczne sam robić coś czym będe mógł się pochwalić.

Oprócz tego chyba przede wszystkim, chodzi o to doświadczenie, bo powiedzmy zrobie projekt ,który spodobałby się np. 10-ciu pracodawcom i gdy mam pustą rubryke doświadczenie to dajmy na to 1-2 zerknie na projekt okiem , a gdy mam tam chociaz jakies 2 miesiace pracy , to 5-6.

Sami powiedzcie ,czy w waszych pierwszych pracach (o ile nie byliscie na starcie lepsi od polowy pracownikow :P) nie dostaliscie lekkiego szoku ,że wygląda to inaczej niż wam się wydawało i do tej pory robiliście.

Temat: Praca w .net

Michał Kostrzewski:
ale założe się ,że są pewne cechy programowania, projektowania, planowania, zasady w tworzeniu projektów, w pracy zespołowej itd. ,które obowiązują w większości firm ,a których nie poznasz z książek czy z internetu.

Trudno mi uogólniać, ale pracowałem (zawodowo i na zlecenia) dla kilku firm. Czasem te kwestie dotyczyły mnie, czasem tylko je obserwowałem w stosunku do praktykantów.

Pewne cechy były wspólne, np. planowanie (ale już co firma, to inaczej i to o 180 stopni), repozytoria (ale praca z nimi - różna w kilku firmach), w jednych firmach było XP, w drugim traktowano je jak idiotyzm. W jednych firmach były bazy wiedzy, w drugich uważano to za stratę czasu (pracownik jest magazynem wiedzy). W jednych firmach kierownicy i "timliderzy" tylko nadzorowali, w innych programowali. W jednych buildy były lokalne, w innych - globalne na cały projekt. I dziesiątki innych różnic.

Natomiast można wyodrębnić grupy firm, w których do pewnych spraw podchodzono podobnie. Jeśli trafisz z jednej firmy z tej grupy do innej firmy z tej grupy - nie odczujesz wielkich różnic. Ale można trafić do firmy z grupy o diametralnie innym podejściu do różnych kwestii. "Bez testów jednostkowych proszę mi nie komitować kodu. Pokrycie min. 75%, odmaszerować" vs. "Piszemy kod starannie, tak, by popełniać jak najmniej błędów. Nie stać nas na tracenie czasu na testy jednostkowe".

Gdybym dziś zmieniał prace, absolutnie bym się nie nastawiał na podobieństwa, lecz na różnice. Ale to moje subiektywne zdanie.

książek ,a w pracy pewnie by go powiadomili już po paru dniach.

Optymistyczne podejście, chociaż nie błędne. To zależy od tego, jaki jest nadzór na jakością kodu w danej firmie, czy ma do niego dostęp ktoś poza danym programistą. Są firmy, gdzie kierownik/ "timlider", a nawet członek zarządu robi przegląd kodu (i to sumiennie i rzeczowo, a nie dla "szpanu"). Są firmy, gdzie robi to dział jakości. Są takie, gdzie jest wdrożone XP, więc 20 innych osób zobaczy ten kod. A są takie, gdzie nikt Ci w kod nie spojrzy. I nie są to małe firmy :)
programowania (i nie tylko) pokażą mi właśnie na praktykach,

Znów optymistyczne podejście, chociaż także nie błędne :)

To zależy od firmy. Nie chcę wymieniać z nazw firm, których politykę praktyk znam. Ale znane mi są trzy podejścia (znów - subiektywnie, po prostu na takie trafiłem):

1. "a dajcie mu coś, niech poprawia bugi, albo jakieś proste zadanie i niech nie zawraca d... Dopiszcie MACa jego kompa do firewalla i niech sobie szuka w necie i nie odciąga ludzi od pracy".

2. student, który wzbudził dobre wrażenie, zostaje wdrożony do prac firmy, z myślą o jego późniejszym zatrudnieniu. I tutaj już dba się o jego rozwój, kontroluje jego postępy, ukierunkowuje.
Taka firma to skarb. Nie spotkałem takich wiele. Dwie.

3. praktykant dostaje konkretne zadanie, którego nikt inny nie chciał, albo pojawiło się nagle i trzeba je zrobić. Nikt nie pyta o jego umiejętności, tylko czeka na efekty - jak by praktykant już był wyjadaczem i specjalistą. Po prostu produkuje pokaźny kawał kodu, wart nieraz kilka ładnych kpln, a dostaje za to jakieś grosze (jeśli). Uczy się sam z netu, ale znów - to, co tam znajdzie, a nie tego, czego powinien. Student nie protestuje, bo zależy mu na opinii i chce się wykazać. Zarywa więc noce, kod zabiera do domu, siedzi więcej, jak nad projektem na zaliczenie.

A potem dowiaduje się, że to, czego się sam nauczył, jest właśnie do kitu :)
bo powiedzmy zrobie projekt ,który spodobałby się np. 10-ciu pracodawcom i gdy mam pustą rubryke doświadczenie to dajmy na to 1-2 zerknie na projekt okiem , a gdy mam tam chociaz jakies 2 miesiace pracy , to 5-6.

Tak, masz rację. Nic nie stoi na przeszkodzie zatrudnić się na praktykach i dłubać "portfolio" na boku :) Niestety, są jeszcze studia, których też warto nie zawalić. Ale to już Ty sam wiesz, czy dasz radę. I ile dasz radę.
Sami powiedzcie ,czy w waszych pierwszych pracach (o ile nie byliscie na starcie lepsi od polowy pracownikow :P) nie dostaliscie lekkiego szoku ,że wygląda to inaczej niż wam się wydawało i do tej pory robiliście.

Był to szok negatywny. Poczułem się, jak ktoś po prostu oszukany - blichtrem "best practices" z książek. A potem po prostu nauczyłem się "przetrwać". :) Dobrych praktyk nabyłem dopiero w dużej korporacji, gdzie spotkałem prawdziwych speców, skłonnych dzielić się wiedzą.
Michał Kostrzewski

Michał Kostrzewski Student, Programista
ASP.NET

Temat: Praca w .net

Hmm. Czyli reasumując, na co najlepiej nastawić się na początku kariery ? Czy iść w stronę sumy, czyli uczyć się wszystkiego (XP,TDD,BP ... itd), bo wszystko może się prędzej czy później przydać , czy w stronę części wspólnej (pisanie dokumentacji(chociaz nie wiem czy ktoś się uczył sam tego), dobrze zorientowanych obiektowo programów ... doskonalenie podstaw ?:P) ,czyli rzeczy ,które są ważne w każdej firmie , a jeśli np będą kazać robić testy to dopiero wtedy ,do tego się bardziej przyłożyć (czyt. dostosować do firmy).

Pytam ,bo chyba nikt lepiej nie wie jakie błędy można popełnić na studiach i jak najlepiej wykorzystać ten czas niż absolwenci-doświadczeni programiści :)

konto usunięte

Temat: Praca w .net

Może to banalne, ale moim zdaniem na początek wystarczy być "SOLIDnym". To tylko i aż tyle. Zrozumienie i przestrzeganie zasad SOLID (SRP/OCP/LSP/ISP/DIP) spowoduje, że będziesz wytwarzał elegancki i łatwy w utrzymaniu kod. Dodatkowo, SOLID pozwoli Ci bez większego trudu zaadoptować inne techniki i narzędzia. No i zamiast czytać tony książek, lepiej skupić się na szukaniu wiedzy w stylu "co, z czym, gdzie i jak wykorzystać". Szczegóły zostaw sobie na później.

j
Kazimierz Kuta

Kazimierz Kuta Microsoft MVP

Temat: Praca w .net

Wiedzę można zdobywać z różnych źródeł i książki wcale nie są najgorszym z nich. Do nich dołożył bym krytyczne czytanie cudzego, dobrego kodu (na początek polecam wybór projektów http://www.hanselman.com/blog/CategoryView.aspx?catego....

Następna dyskusja:

Praca - programista ASP.NET




Wyślij zaproszenie do