Czy 4-5 lat to „kryzys wieku średniego” dla kariery programistycznej?

330

Programuję C # profesjonalnie od ponad 4 lat. Przez ostatnie 4 lata pracowałem dla kilku małych / średnich firm, od „agencji internetowych / reklamowych”, małych branżowych sklepów z oprogramowaniem do małego startupu. Zajmuję się głównie „aplikacjami biznesowymi”, które wymagają użycia języków programowania wysokiego poziomu (wyrzucanie śmieci), a moje ogólne doświadczenie było takie, że wszystkie moje prace mogły być bardziej profesjonalne. Wiele rzeczy zostało zrobionych niepoprawnie (w pośpiechu), głównie ze względu na fakt, że ludzie zawsze chcieli czegoś „teraz” i przy jak najmniejszej ilości wydawanych pieniędzy. Nadal zastanawiałem się, czy mógłbym pracować dla większych firm lub firmy, która lepiej nadaje się dla programistów, czy gdzieś tam mam pieniądze i czas, aby naprawdę zbudować coś długoterminowego i łatwiejszego w utrzymaniu. Mógłbym bardziej cieszyć się w mojej karierze. Nigdy nie miałem „mentora”, który prowadziłby mnie przez moją 4-letnią karierę. Jestem prawie programistą blogów / google / samoukiem innym niż mój licencjat z informatyki.

Zauważyłem też inny problem, że większość tak zwanych „starszych” programistów w „moim środowisku pracy” naprawdę nie jest tak mądra. Są „starsi” tylko dlatego, że od dawna są programistami, ale kod, który piszą lub podejmowane przez nich decyzje są absolutnie bzdurne! Nie chcą się uczyć, nie chcą być lepsi, po prostu chcą zarabiać i robić to, co im kazano, co ma sens, a większość z nas jest taka. Może dlatego są tam, gdzie są teraz. Ale nie chcę być taki jak oni, chcę być lepszy. Wpadłem w stan psychiczny, że nie zamierzam już być programistą dla mojej przyszłej kariery. Zacząłem myśleć, że może są lepsze rzeczy do pracy. Im więcej blogów czytam, tym więcej „najlepszych praktyk” próbowałem, tym bardziej czuję, że odchodzę od „mojej rzeczywistości”. Ale nie jestem świetnym programistą, inaczej nie sądzę, że jestem teraz. Myślę, że 4-5 lat to etap, który może być krokiem do przodu w karierze lub wyjściem z miejsca, w którym się znajdujesz.

Chciałem tylko usłyszeć, co inni mają do powiedzenia na temat tego, o czym wspomniałem powyżej i czy doświadczyłeś podobnej sytuacji w swojej poprzedniej karierze programistycznej i jak sobie z tym poradziłeś. Dzięki.

Jeff
źródło
73
4–5, przepraszam, myślałem, że czytam 45 lat i może promować ciekawą dyskusję. Wy, dzieci :-) (w wieku 32 lat, jeszcze nie w kryzysie)
High Performance Mark
7
Tylko dlatego, że teraz tak łatwo jest być dobrym w czymś, ale najczęściej bycie dobrym w czymś już nie będzie cię ciąć, musisz być bardzo dobry w tym, co robisz, ale przez całe moje doświadczenie widziałem prawie 2 osoby max, którzy są świetni w tym, co robią.
5
Ciekawe pytanie, ale nie ma prawdziwej odpowiedzi. Zdecydowanie polecam status społeczności wiki.
David Thornley,
3
Kolejny głos na wiki-społeczności
4
Programowanie zajmuje dużo czasu, a większość ludzi goni za pieniędzmi i chwałą, grając w politykę korporacyjną. norvig.com/21-days.html Tutaj, tutaj dla rzekomych starszych programistów. Jestem po drugiej stronie ogrodzenia, po ponad 20 latach. Muszę zatrudnić tych ludzi i nierzadko można znaleźć kogoś, kto naprawdę może twierdzić, że jest starszym programistą. Większość z tych osób prawie nie ukończyła pierwszego roku 5 razy, a nie tyle samo, co 5 lat budowania i rozwoju.

Odpowiedzi:

195

Otwierasz bardzo interesujące pytanie. Z całego serca się z tobą zgadzam. Dokonałem podobnych obserwacji.

Programuję profesjonalnie już od kilku lat i zauważyłem, że liczba dobrych programistów, świetnych programistów, którzy kochają swoją pracę i potrafią to robić z jakością i pasją, jest prawie zerowa. Prawdopodobnie spotkałem tylko jedną osobę, która mogłaby mnie czegoś nauczyć. Większość tego, czego wiem, nauczyłem się sam, czytając książki i fora, pytając na forach i szukając w Google myśli o objawieniach.

Po chwili nie żałuję tak bardzo.

Opcje nauki w środowisku pracy często mogą być ograniczone. Nie zaczynasz rzeczy. Nie skończysz ich. Nie projektujesz, nie poprawiasz, nie refaktoryzujesz, nie myślisz o architekturze, po prostu kodujesz i hakujesz rzeczy razem. Tak działa większość sklepów. Nie tylko nie uczysz się niczego, ale bardziej prawdopodobne jest, że nauczysz się głównie złych rzeczy, jak NIE tworzyć oprogramowania. Ciągle widzę wokół siebie przerażające rzeczy, wszystkie te anty-wzory, o których słyszałeś. Co gorsza, jestem zmuszony to zrobić sam.

Nie wiem, jak to się stało, ale udało mi się jakoś zbudować barierę wejściową. Pozostaję otwarty, słucham i jeśli widzę potencjał do samodoskonalenia, badam i może przyjmuję jakąś technikę lub pomysł. Ale żaden BS nigdy się nie przedostanie. Przez długi czas pracowałem w źle prowadzonych projektach, ale nie zastosowałem dla siebie żadnej z tych złych technik.

Dość szybko zrozumiałem, że jeśli chcesz satysfakcji z programowania, zapomnij o pracy i masz swój własny projekt. To miejsce, w którym możesz wykorzystać całą swoją miłość, pasję i wiedzę, aby robić wszystko dobrze z wysokim poziomem jakości. Nauczysz się wielu rzeczy, niezliczonych rzeczy, na które nigdy nie byłbyś narażony i z którymi miałbyś do czynienia podczas hakowania nudnego personelu firmy. Robię swoją pracę tylko dla wypłaty i czerpię satysfakcję z moich osobistych projektów.

Jednej rzeczy, której tak naprawdę nie rozumiem, jest to, jak obecnie taka sytuacja jest możliwa. Rozwój oprogramowania bardzo się rozwinął. Ma dobre i złe doświadczenia. Wiele udanych projektów i wiele nieudanych. Istnieje doświadczenie w projektach długoterminowych i zrozumienie, jakie długoterminowe skutki przyniesie projektowi jedna lub druga organizacja. Dostępne są liczne opracowania i napisane dobre książki. „Pragmatic Programmer”, „Code Complete”, „Mythical Man-Month”, „Design of codzienne rzeczy” i inne. Dlaczego nikt poza nami, programiści, nigdy ich nie czytają? Jak to możliwe, że nawet po 20 latach pracy w IT większość programistów i menedżerów nigdy nie znalazła czasu na przeczytanie jednej lub drugiej książki metodologicznej. Są napisane dla tych, którzy najbardziej potrzebują tego leku, ale z trudem je czytają.

Jeśli chodzi o perspektywy kariery. Zauważyłem też ogólnie na rynku pracy dla pracowników, że pracodawcy coraz bardziej tracą zainteresowanie pracą wysokiej jakości (wyobraź sobie, że mieli ją kiedyś) coraz częściej kupują najtańsze dostępne rzemiosło. Trudno jest sprzedać komukolwiek swoją wiedzę, doświadczenie i zrozumienie wszechświata. To nie jest pożądane. Potrzebne jest zrujnowanie twoich projektów przez juniorów, którzy nie mają doświadczenia ani chęci wykonywania pracy zawodowej. Tani ludzie są wykorzystywani i wykorzystywani, a następnie wyrzucani, aby rozpocząć następną rundę. Projekty zlecane są również do miejsca docelowego o niskich zarobkach, gdzie wykonują je ludzie, którzy najwidoczniej zaczynają uczyć się programowania tylko z twoim projektem. To jedna rzecz, której naprawdę nie rozumiem.

Mam coraz więcej pomysłów, że porzucę pracę programistyczną w przyszłości. Bardzo chciałbym pracować na własny rachunek z własnym projektem. Jeśli nie to, rozważam spróbowanie freelancingu lub prawdopodobnie zmianę charakteru płatnej pracy. W końcu prawie niczego się nie uczę w godzinach pracy i nie mam żadnej satysfakcji. Mogę zrobić wszystko 9-5 i zawsze mam satysfakcję z moich osobistych projektów. Uczę się wiele od społeczności internetowych. Otrzymuję tutaj uwagę, wsparcie dla moich pomysłów, a czasem nawet uznanie, którego nigdy nie uzyskałem w pracy i moich współpracownikach. Zobaczę, gdzie będę w przyszłości.

użytkownik8685
źródło
26
To, co opisałeś, jest dokładnie częścią mojego dotychczasowego doświadczenia. „” „Nie tylko nie uczysz się niczego, ale bardziej prawdopodobne jest, że nauczysz się głównie złych rzeczy, jak NIE tworzyć oprogramowania.” „” 100% zgadza się.
6
Tęsknię za latami 80. i 90., teraz dni wszystko jest zbyt łatwe i znacznie tańsze, ale brakuje mi jakości i radości z życia.
16
Chcę to zagłosować, w wielu punktach czuję to samo, ale tak naprawdę jest to zbyt wielki los i mrok. Obszar roboczy nie jest tak żałosny. Jeśli jesteś naprawdę świetny, nie idź na kompromis dla firmy, która nie jest naprawdę świetna. Będę pracował tylko dla firm, w które wierzę i gdzie mogę się rozwijać i gdzie mogę rozwijać firmę. Moja wiedza dała mi ten luksus przez 20 lat mojej kariery. Uwielbiałem moją pierwszą pracę i walczyłem o zdobycie pozycji, musiałem także walczyć o swoją drugą pracę, ale moja trzecia była moim wyborem i napisałem własny bilet, a teraz zatrudniam tylko hodowców.
11
Przykro mi, że tak wielu ludzi zgadza się z tym przygnębiającym, demotywującym postem i sprawia, że ​​czuję się szczęśliwy, pracując tam, gdzie ja. Programuję dopiero od około 5 lat, ale do tej pory wszędzie byłem w stanie pracować i uczyć się od innych. Większość moich współpracowników była do pewnego stopnia pasjonowana swoją pracą. Moi menedżerowie zachęcają do nauki w pracy. Zawsze ćwiczyłem Agile, więc zrobiłem mnóstwo refaktoryzacji, programowania par i architektury. Nie mówię tego, aby się chwalić, ale mam nadzieję, że dam znać, że są prace, w których praca z kodem jest fajna
2
@DumbCoder, twoje imię dobrze cię opisuje. ;)
Arlen Beiler,
70

Był post Jeffa Atwooda w Coding Horror, w którym napisano, że to powinna być zabawa. Część opisu pracy programisty cieszy się z twojej pracy. W przeciwnym razie stanie się dla ciebie naprawdę nudnym i nieporęcznym zawodem.

Fakt, że stale poszukujesz sposobów na ulepszenie swojej pracy, a także jesteś na bieżąco informowany o nowych rzeczach i najlepszych praktykach pokazuje, że lubisz swoją pracę w naturze. Tak więc radzę ci zacząć szukać nowej pracy.

Jednak nie sądzę, że praca w dużej firmie niekoniecznie poprawi warunki pracy. Myślę, że najlepszym środowiskiem dla programistów są małe i średnie firmy, w których ludzie lubią to, co robią. Najlepiej jest poszukać i sprawdzić wszystkie firmy przed podjęciem decyzji. Postaraj się, aby nowa firma była tego warta.

Nikos Steiakakis
źródło
17
„częścią opisu stanowiska programisty jest czerpanie przyjemności z pracy. W przeciwnym razie stanie się dla ciebie naprawdę nudnym i nieporęcznym zawodem”. Kapitan Oczywisty na ratunek!
P Shved
4
Czy może to być codinghorror.com/blog/archives/000979.html ?
Ikke,
3
Jak wspomniałeś, lubię kodować, ale w tej chwili mam do czynienia z luką między światem „idealnym” a światem „rzeczywistym”. Mniej osób funkcjonuje idealnie, większość z nas funkcjonuje poniżej poziomu średniego. Nie wydaje mi się jeszcze znaleźć punktu równowagi. Nie wierzę też, że zmiana pracy jest rozwiązaniem. Ale wierzę, że kiedy nadarzy się okazja, jeśli nie będę gotowa, tęsknię.
2
Naprawdę nie ma korelacji między wielkością firmy a prawdopodobieństwem, że możesz zarządzać niektórymi inicjatywami doskonalenia procesów partyzanckich / oddolnych - zależy to od osobowości (w mniejszym stroju) lub istniejącego efektu martwego procesu (w większych), jak otwarte są na zmienić środowisko jest.
2
Zgadzam się z asortymentem firm dla programistów, małe i średnie firmy są najlepsze, ponieważ ludzie uwielbiają to, co robią.
Tarik
50

Pierwsza rzecz: duże ostrzeżenie: jeśli rozwijasz się przez 10 lat (tak jak ja), nie możesz zrobić nic lepszego niż rozwój. Więc jeśli chcesz zrobić coś innego, coś nowego, zrób to szybko, inaczej może być za późno i nie będziesz dobry w robieniu czegoś innego.

Po prostu podzielę się swoim własnym punktem widzenia: jestem osobą kierującą się sobą, samoukiem. Nauczyłem się sam czystym C, C #, C Amiga rozwija, Windows, COM, Delphi, PHP, Cinema4D a teraz Blender i Python. Prawie zawsze pracowałem sam . Oto największy problem, jaki do tej pory spotkałem: małe firmy próbują przetrwać, a ty jesteś jednym z tych, którzy utrzymują go przy życiu: to bardzo stresujące, ale także satysfakcjonujące: pracujesz więcej, uczysz się szybciej i wiele innych rzeczy szybko, robisz produkty szybciej (choć często nie możesz prawidłowo wykonać swojej pracy). W każdym razie: zbyt duży stres. Wręcz przeciwnie, dużefirmy zawsze przetrwają, ale problem dotyczy ludzi: zbyt wielu ludzi. To dżungla, ale o wiele gorzej: nic nie jest jasne: jeśli ludzie, z którymi pracujesz, czują się lepsi od nich, postarają się jak najlepiej nie pomóc ci wejść na górę, ale tylko zastrzelić cię, ponieważ obawiają się o własną karierę. Tak to działa we Francji (nie wiem dla innych krajów).

Krótko mówiąc: spróbuj znaleźć firmę średniej wielkości, w której czujesz, że to twoje miejsce . Bez względu na to, jak długo programujesz, bez względu na to, jak długo pracujesz, dzień, w którym wsiądziesz do samochodu, aby przejść do pracy i myślisz, że „Cieszę się, że mogę iść do mojej pracy” będzie dzień, w którym znalazłeś swoje miejsce .

To nie jest kwestia 4-5 lat czy cokolwiek innego.

Uwaga: istnieje ogromna różnica między „Cieszę się, że mogę iść do mojej pracy”, a „Cieszę się, że mogę iść do mojej pracy, ponieważ zrobię to i tamto” / lub / „Cieszę się, że mogę przejść do mojej pracuj, bo nauczę się tego i tamtego ”. Jeśli pomyślisz „bo ja to zrobię i to”, to znaczy „to i tamto” skończy się pewnego dnia, a potem możesz nie być szczęśliwy. To jest moje 12-letnie doświadczenie w programowaniu. Jestem starszą osobą, jestem dobrze opłacany, ale zdaję sobie sprawę, że 20-25 lat ludzie myślą szybciej niż ja. Po prostu nie mają mojego doświadczenia, więc po prostu przyznałem, że mogę im pomóc w robieniu rzeczy, robią to szybciej, ale pomagam im je właściwie robić (co prawie nigdy nie ma miejsca, gdy zaczynasz rozwijać).

Przepraszam za mój angielski, który nie jest idealny, nie wahaj się poprawić mojego postu, aby był prawidłowy angielski.

Olivier Pons
źródło
Zgadzam się z twoim punktem widzenia. Słyszałem podobne komentarze na temat dużych firm.
+1. również szuka „Cieszę się, że mogę iść do mojej pracy, ponieważ nauczę się I ZRÓB to i tamto”
2
@Arnis, nie sądzę, aby robienie sushi było tym samym, co zmiana całej ścieżki kariery po dziesięciu latach pracy jako programista. Spróbuj osiągnąć 35 lat i zdecydować, że chcesz zostać prawnikiem / lekarzem / dziennikarzem / księgowym itp., Będziesz mieć co najmniej 45 lat, zanim osiągniesz wymagany podstawowy poziom umiejętności.
3
Przepraszam, może nie wyjaśniłem się: nie jestem sprzedawcą ani żadną inną pracą, w której „bycie dobrym kłamcą to bycie dobrym sprzedawcą”. Miałem na myśli to, że gdy pokażesz, że radzisz sobie lepiej niż inne, będą próbować cię zastrzelić tylko w dniu, w którym potrzebujesz pomocy. Przykład z życia: była 20.00 (byłem singlem i wciąż pracuję) Potrzebowałem dostępu do komputera z hasłem. Zapytałem 55-letniego mężczyznę, który nie był dobry, a on odpowiedział: „Jesteś taki dobry, czemu nie złamiesz tego?” i nie dostałem hasła dziś wieczorem. Te rzeczy zdarzyły się więcej niż raz tylko w dużych firmach.
Olivier Pons,
4
„Więc jeśli chcesz zrobić coś innego, coś nowego, zrób to szybko, inaczej może być za późno i nie będziesz dobry w robieniu czegoś innego”. - Źle. Całkiem nieprawidłowy. Znałem ludzi, którzy pracowali w firmach do 45 roku życia, a potem postanowili wrócić do szkoły medycznej. Wiesz co, ci ludzie mają się całkiem dobrze, ponieważ kochają to, co robią. Chodzi o to, że nigdy nie jest za późno na zmianę, dopóki masz otwarty umysł, a cała ta złośliwa myśl o zanikaniu mózgu po 25 roku życia po prostu nie jest prawdą, chyba że cały czas siedzisz przed telewizorem w ciągu dnia .
36

Jestem programistą od dwudziestu jeden lat - między innymi oznacza to, że robię to wystarczająco długo, aby pić! ;-) Ale tak na poważnie, nie wyobrażam sobie, aby robić coś równie dobrze lub tak radośnie jak programowanie. Najwyraźniej jestem jednym z tych rzadkich ptaków, które naprawdę kochają tę pracę.

Niedawno odświeżyłem swoje CV i zauważyłem, że w ciągu ostatnich dwóch dziesięcioleci miałem wiele, wiele prac - głównie umów. Ale na podstawie tej długiej listy zdałem sobie sprawę, że najbardziej lubiłem (i najdłużej zatrzymywałem) pracę w firmach programistycznych, tj. Firmach, których model biznesowy obejmował sprzedaż oprogramowania klientom. Poniższe teorie prawdopodobnie nie mają uniwersalnego zastosowania, ale idą daleko, by wyjaśnić moje doświadczenie.

Moim zdaniem różnica między sklepem z oprogramowaniem a typowym sklepem IT jest zaskakująco oczywista. To tylko pytanie, co rozumieją osoby z wyższej kadry zarządzającej. Jeśli firma uzyskuje większość swoich przychodów z oprogramowania, to najlepsza branża naprawdę grokuje oprogramowaniem i sposobem jego wytwarzania. Ale jeśli przychody pochodzą ze sprzedaży widżetów, generalnie nie mają najmniejszego pojęcia, co jest potrzebne do utrzymania infrastruktury IT, nie mówiąc już o procesach tworzenia oprogramowania. Co gorsza, mimo że powierzają to zadanie pracownikom IT, starają się przyporządkować procesy IT do tego, co wiedzą, z rezultatami na ogół od rozczarowujących po katastrofalne.

Jednym z powodów jest to, że istnieje szeroki wachlarz talentów, od jedynie kompetentnego do wirtuoza oprogramowania. Jest to całkowicie sprzeczne z obcinaczem ciastek, uniwersalną mentalnością, która działa tak dobrze na niewykwalifikowanych i na wpół wykwalifikowanych stanowiskach. Oczekiwanie, że dowolnego programistę można zastąpić innym o podobnym „zestawie umiejętności”, może wydawać się nam absurdalne, ale często wydaje się całkowicie uzasadnione dla struktury zarządzania skoncentrowanej na surowych liczbach. Jeśli wydaje się to niewiarygodne, wystarczy spojrzeć na to, ile sklepów wciąż próbuje uruchomić model Waterfall.

Niekoniecznie potrzebujesz wszystkich wirtuozów w swoim zespole, ale potrzebujesz co najmniej jednego lub dwóch. I częścią ich roli musi być mentoring młodszych ludzi, aby mogli dorastać do roli (lub wymyć - to się zdarza). W przeciwnym razie zwycięży zły kod pośredni, z towarzyszącym mu błędnym działaniem i wzdęciem. Po pojawieniu się raka, kod szybko staje się niemożliwy do utrzymania, wydajność w zespole gwałtownie spada, a ludzie zaczynają się wypalać.

To powoduje obrót, aż w końcu ktoś mówi: „Nie możemy już dłużej tego robić! Złommy to i zacznijmy od nowa!” Inwestycja w starszą bazę kodów wychodzi poza okno, a proces rozpoczyna się od nowa. „Ale tym razem będzie inaczej”, obiecujesz sobie. I przez jakiś czas tak jest. Potem ktoś wynajmuje twoją gwiazdę rocka, a ty zostajesz z niedokierowanymi młodymi ludźmi, którzy ponownie niszczą twoją błyszczącą nową bazę kodów.

Spienić. Tyrada. Żałować.

Ale dygresję ... Tak więc, aby odpowiedzieć na twoje pierwotne pytanie: Nie, pół dekady nie jest w średnim wieku kariery programistycznej. Być może jest to raczej wiek rozumu - miejsce w twojej karierze, w którym łuski wypadają z twoich oczu i zaczynasz widzieć, czym jest biznes. Realizacje odbywają się w innej kolejności dla wszystkich, co zabarwia wnioski, które możesz wyciągnąć po drodze. Ale poczekajcie - jeśli wyjdziecie na drugą stronę przy zdrowych zmysłach, będziecie mieli znacznie zdrowszą perspektywę, a ostatecznie znajdziecie ten szalony biznes, który jest dla nas bardziej satysfakcjonujący niż kiedykolwiek wcześniej.

Eric Lloyd
źródło
3
Uwielbiam twoje wyjaśnienie dotyczące różnicy między sklepem z oprogramowaniem a typowym sklepem IT i całkowicie się z tym zgadzam. Szczerze mówiąc, pracowałem więcej w typowych sklepach IT niż sklepach z oprogramowaniem i nic dziwnego, że moje umiejętności programowania nie poprawiły się zbytnio w ciągu ostatnich 2 lat. Chociaż wciąż czytam nowe techniki / praktyki / wzorce (obecnie uczę się CQRS i uważam, że niesamowite jest to, jak uproszczone są rzeczy. Na początku może wydawać się skomplikowane i nie opłacalne.), Ale okazuje się, że nie mam gdzie zastosuj te, których się nauczyłem, z wyjątkiem moich osobistych projektów.
Jak opisałeś, większość szefów / menedżerów w tych sklepach IT patrzy tylko na liczby, nic więcej! Ale żeby być uczciwym, te typowe sklepy IT dają więcej możliwości zatrudnienia niż te sklepy z oprogramowaniem. Tyle że sklepy IT są prowadzone głównie przez ambitnych ludzi biznesu wspieranych przez niekompetentnych ludzi IT, którzy próbują zarobić szybkie pieniądze.
32

Myślę, że potrzebujesz jeszcze pięciu lat doświadczenia. Wtedy będziesz w stanie zaakceptować kompromisy i z przyjemnością naprawisz, co możesz.

Przynajmniej takie było moje doświadczenie. Po około 5 latach (mniej więcej tyle czasu, ile potrzeba, aby zostać ekspertem), myślę, że właściwie to „mam”. Zdałem sobie sprawę, że mój kod to bzdury. Zdałem sobie sprawę, że moje błyszczące hacki, dzięki którym aplikacje działały, właśnie takie były. Zrozumiałem, że tworzyłem podrzędny kod, aby uszczęśliwić moich szefów i utrzymać wypłaty.

Jednocześnie zdałem sobie sprawę, że pragnienia kapitalistów się nie zmienią. Zawsze chcieli tego wczoraj, nie wydając żadnych pieniędzy na dobre narzędzia. Nigdy nie będą się przejmować, jeśli użyję określonego wzoru. Nigdy nie będą zachwyceni, ponieważ zwiększyłem łatwość utrzymania, stosując rozsądnie zasadę pojedynczej odpowiedzialności.

Uświadomiłem sobie również, że będę walczył z moją młodszą jaźnią ucieleśnioną przez niedoświadczonych programistów. Programista, który zhakował program, aby szybko działał. Młody programista, który opierał się wszystkim tym głupim rzeczom, których zrozumienie zajęło mi lata. Młody programista, który myśli, że ma 5 klas, jest bardziej mylący niż jedna wielka klasa, która to wszystko robi.

Ale teraz, kiedy jestem w wieku 10 lat, przekonałem się, że te frustracje są jak frustracje, których doświadczyłem w ciągu pierwszych pięciu lat. Jest to frustracja związana z nauką nowej umiejętności. Ale tym razem umiejętności są interpersonalne. Umiejętności te sprawiają, że nieprogramiści rozumieją ograniczenia zejścia ścieżką kowboja. I te umiejętności są może ważniejsze w wielkim schemacie rzeczy niż umiejętności programistyczne, które nabyłem w ciągu pierwszych pięciu lat.

Ale to, co jest naprawdę niesamowite w tej pracy, to to, że mogę kontynuować i faktycznie muszę kontynuować, rozwijając umiejętności techniczne, jednocześnie pracując z zarządem.

Więc mówię wam, trzymajcie się tego! Ponieważ zaznajomiłeś się z technologią, możesz zacząć pracować nad swoimi umiejętnościami związanymi z bzdurnymi rzeczami zwanymi ludźmi.

ElGringoGrande
źródło
3
+1 Masz rację! Umiejętności komunikacyjne to kolejny krok do zostania dobrym programistą.
Dimitri C.
Po roku pracy na pełnym etacie po ukończeniu uniwersytetu moja kolekcja książek przeszła ze 100% programowania do 50-50 programowania / umiejętności ludzi. Naprawdę rozumiem ten post. Jak ktoś mi kiedyś powiedział: „To jest dla nich odpowiednie, jeśli jest dla nich odpowiednie”.
„rozwijanie umiejętności technicznych przy jednoczesnej pracy z zarządem”. Całkowicie się z tym zgadzam. Trzymam się mojej obecnej pracy, chociaż nie lubię ostatnich zmian - mikrozarządzanie, brak czasu na naukę, brak zauważenia dobrej pracy lub udoskonalenia, zbyt duży nacisk, brudna polityka. Dobrą rzeczą jest to, że mam 2-3 osoby, które doradzają w moich problemach dotyczących umiejętności miękkich. Kiedy czuję, że nie uczę się już żadnych umiejętności miękkich, odejdę. To dlatego, że zacząłem zdawać sobie sprawę, że umiejętności te są zdecydowanie ważniejsze niż umiejętności techniczne.
Mugen
29

Odkryłem, że istnieją 2 sekrety względnego szczęścia:

  • nie starajcie się mieć wszystkiego, co chcecie, ale starajcie się chcieć wszystkiego, co macie

  • życie jest trudne - nie ma znaczenia, jak mocno możesz trafić (dobrze, osobiście i profesjonalnie); zawsze uderzy mocniej. ważne jest, jak bardzo możesz zostać trafiony i nadal móc się poruszać.

W końcu jest to spacer po parku i są ważniejsze rzeczy niż bity i bajty oraz praktyki i rzeczy. Po prostu ciesz się wszystkimi obecnymi doświadczeniami i walcz jak najwięcej.

AZ01
źródło
1
naprawdę fajna uwaga!
8
+1, podróż jest ważniejsza niż cel podróży. Nie wiem, dokąd jadę, cel mnie nie interesuje ... ale jedno jest pewne, nigdy nie widziałem tak pięknego parku!
22

Może rzucił okiem na The Passionate Programmer Chada Fowlera ... cytując ze strony:

W większości przypadków niezwykłe kariery nie są dziełem przypadku. Wymagają myślenia, intencji, działania i chęci zmiany kursu, gdy popełnisz błąd. Większość z nas potyka się, pozwalając, aby nasze kariery zabierały nas tam, gdzie mogą. Czas przejąć kontrolę.

Adam
źródło
19

IMO niezadowolenie, które oczywiście odczuwasz, nie jest kryzysem, lecz znakiem, że osiągnąłeś określony poziom. Wyrosłeś z automatu „Jestem tylko programistą”. Masz teraz wystarczające zrozumienie, aby zobaczyć wady obecnego stanu rzeczy i jak to naprawić.

Następnym krokiem jest znalezienie związku między tym, co postrzegasz jako potencjalną poprawę, a tym, co postrzega firma, dla której pracujesz. Następnie musisz przekonać swojego szefa (szefów), że to jest właściwa droga.

Nie wystarczy rozumieć rzeczy i wiedzieć, jak to robić. Powinieneś także być w stanie przekonać ludzi, że wiesz, co robisz. A jeśli to brzmi jak sprzedaż, to dlatego, że tak jest. Ale jest to absolutnie konieczne, aby stać się „wielkim”. Pracujesz nie z komputerami, pracujesz dla ludzi i z ludźmi, musisz być w stanie sprzedawać swoje pomysły.

Oczywiście niektóre firmy byłyby zbyt konserwatywne, aby zaakceptować twoje pomysły, a twój szef może je odrzucić z powodu koloru krawata, który nosisz. Pamiętaj tylko, że sprzedaż pomysłów nie jest łatwiejsza niż generowanie pomysłów, a nieudana sprzedaż niekoniecznie wynika z ukrytych motywów twojego szefa, może to być zła prezentacja z twojej strony.

mfeingold
źródło
kompletnie się zgadzam! jak wiele osób wspomniało, że „ludzie” to kolejne zadanie do rozwiązania!
18

Całkowicie zgadzam się z Nikos. Myślę, że może potrzebujesz znaleźć firmę skupioną na technologii i produktach. Są firmy, w których programiści uważają rozwój za swoją pracę i nigdy nie myślą o tym w swoim własnym czasie. Środowisko pracy jest zwykle znacznie bardziej dostosowane do potrzeb menedżerów wykonujących pracę biurową niż programistów wykonujących pracę umysłową. Średni standard programistów jest ogólnie niski (chociaż czasami dostajesz jednego „guru”). Mają tendencję do zmniejszania narożników (a nawet unikania) takich rzeczy, jak kontrola wersji, testowanie, proces itp. Firma zazwyczaj dostarcza oprogramowanie, które wykonuje tę pracę, ale często jest brzydkie i błędne i nikt nie wydaje się szczególnie zaniepokojony.

Z drugiej strony są firmy, w których programiści robią to, co i tak robiliby w domu; wracają wieczorem do domu i pracują nad własnymi projektami dla deweloperów domowych, a w wolnym czasie uczą się nowych języków / technologii. Środowisko pracy zazwyczaj koncentruje się na programistach, z dobrymi monitorami, dobrymi narzędziami i dobrą atmosferą sprzyjającą myśleniu. Deweloperzy często mają wysoki standard i codziennie uczysz się od swoich rówieśników. Na ogół poważnie podchodzą do kwestii kontroli wersji, testowania i przetwarzania. Firma zazwyczaj dostarcza oprogramowanie dobrej jakości, ponieważ programiści biorą je osobiście, jeśli występują błędy lub niedoskonałości.

Nie sądzę, aby znalezienie większej firmy koniecznie poprawiło sytuację; w rzeczywistości w wielu przypadkach większe firmy są gorsze, a problemy są głębsze i bardziej instytucjonalne.

Oczywiście trochę polaryzuję ... ale jeśli jesteś inżynierem oprogramowania w sercu (a nie tylko w swoim CV), musisz spróbować znaleźć jeden z tych ostatnich rodzajów firmy. Pomyśl o kilka dobrych pytań do wywiadu można poprosić ich , aby dowiedzieć się, czy dana firma jest tego rodzaju miejsce.

NeilDurant
źródło
1
Tak prawdziwe! Obecnie jestem w fazie, w której najbardziej lubię moje osobiste projekty
deweloperskie
14

Coś, co wielu programistów nie rozumie, to to, że nie wszystkie decyzje mają charakter techniczny. Niestety, robienie czegoś „dobrze” nie zawsze jest opcją. To prowadzi wielu programistów do myślenia, że ​​ich szefowie są głupi lub podejmują złe decyzje ... i tak, często tak jest, ale równie często faktem jest to, że firma może nie prowadzić działalności lub stracić zadanie całkowicie, jeśli pozwolą programistom ustalić harmonogram i podjąć wszystkie decyzje techniczne.

Niestety, czasem naszym zadaniem jest praca w ramach politycznych lub finansowych ograniczeń pracy i robienie wszystkiego, co w naszej mocy.

Jedną rzeczą, której uczysz się z doświadczenia, jest bycie konserwatywnym. Najnowsze techniki mogą nie zostać udowodnione i możesz nie mieć ich silnego zrozumienia, nawet jeśli są. Menedżerowie nie lubią spędzać czasu na przyzwyczajaniu się do nowych technologii tylko dlatego, że chcą się nauczyć czegoś nowego.

Programiści zapominają, że wiele firm nie jest firmami programistycznymi. Są to <wstaw tutaj branże biznesowe>, które również wykonują oprogramowanie. Twoim zadaniem jako programisty jest ułatwianie krytycznych procesów misji, a nie pisanie doskonałego oprogramowania. Czasami okazuje się, że są to to samo, ale w rzeczywistości jest to dość rzadkie.

Erik Funkenbusch
źródło
1
słowo w górę, yo ....
Paul Nathan
brzmisz jak menedżer. to, co opisałeś, jest prawdą, ale się nie zgadzam.
Nie jestem menedżerem. Mam właśnie 25 lat doświadczenia i dostarczyłem setki produktów.
Erik Funkenbusch
... ale firmy powinny ponosić moralną odpowiedzialność za rozwój swoich pracowników, nawet jeśli nie wpływa to na wynik finansowy. W średnich i dużych firmach nie powinieneś przespać się nad sytuacją finansową firmy; wyższe podwyżki prawdopodobnie nie pozwoliłyby ci uczestniczyć w zyskach, więc po co się nimi przejmować?
10

Moim zdaniem nie jest to kryzys wieku średniego - powiedziałbym, że miesiąc miodowy się skończył.

Bernhardrusch
źródło
nie, mój „miesiąc miodowy” trwał około 12-15 miesięcy. 4 lata to długa droga do „programowania miesiąca miodowego”.
3
20 lat i wciąż mam pasjonujące chwile z programowaniem! Powiedziałbym, że spróbuj czegoś innego, w programowaniu jak w miłości, próbowanie nowych rzeczy może naprawdę ożywić gasnący płomień.
Ha ha, bardzo prawda!
fastcodejava
10

Mogę odnieść się do tego, że napisany kod może być lepszy, ale musi istnieć wiersz, w którym można być zbyt wielkim perfekcjonistą, jakby coś działało w 99,99999% przypadków, czy nie jest to wystarczająco blisko 100% dla większości ludzi ? Częścią moich zmagań z czasami negatywnymi wzorcami myślowymi są perfekcjonizm oraz intensywna samokrytyka i osąd, więc może mogę z tym nadmiernie się utożsamić.

4-5 lat to wystarczająco dużo czasu, IMO, aby dowiedzieć się kilku rzeczy:

  • Czego chcesz - Jakie praktyki lubisz na swojej obecnej pozycji?
  • Co działa dla Ciebie - nieco różni się tym, że to, co działa, nie zawsze jest tym, czego chcesz.
  • Jacy są twoi kryminaliści - czy możesz pracować dla firmy, która nie pozwoli ci mieć IDE? Ekstremalny przykład, ale mam nadzieję, że nieco to ilustruje.

Istnieją inne pytania, takie jak „ Mapa drogowa do lepszego programisty ” i „ Jak zostać„ szybszym ”programistą ”, które mogą zawierać sugestie, jeśli chcesz poprawić swoje umiejętności.

Doświadczyłem również, gdzie tytuł seniora jest przyznawany komuś tylko za to, że przetrwał tak długo w polu, zamiast osiągać poziom umiejętności. Możesz zaakceptować to jako część funkcjonowania świata lub spróbować znaleźć miejsca, które działają inaczej. Ilu faktycznie istnieje, ale nie wiem, ale mogę powiedzieć, że czasami można znaleźć dobre miejsce pod względem tego, jak lubisz pracować i czego firma i współpracownicy używają do wykonania pracy.

Źródła wglądu ” to jeden z moich ulubionych blogów i czytam go prawie cały czas. Materiał jest trochę ciężki, ponieważ zawiera wiele elementów intelektualnych do tego, co jest napisane, ale istnieją bryłki, które można wziąć i uczynić ich życie nieco lepszym, a przynajmniej takie było moje doświadczenie.

Pamiętam, jak w szkole, kiedy byłem dzieckiem, często następowały zmiany po 4-5 latach, ponieważ kiedy byłem w pierwszej szkole przez 8 lat (Junior przedszkole do klasy 6), to było 2 lata (klasy 7 i 8) , 4 lata (liceum w klasach 9–13, gdzie 11/12 w moim przypadku odbyło się w jednym roku) i 4 lata (licencjat uniwersytecki).

Potrafię pogodzić się z kryzysem pojawiającym się w różnych momentach życia, np. Ukończenie uniwersytetu może powodować, że ktoś zastanawia się, kim jest, lub po pewnym czasie zastanawia się, czy to wszystko jest tego warte.

Niektóre miejsca mogą wydawać się niesamowitymi miejscami do pracy, a inne mogą prowadzić do wypalenia zawodowego, ponieważ zadawano tu kilka pytań: „ Co powoduje wypalenie programistów ” i „ Historie wypalenia programistów ”, podczas gdy inne pytania są tego rodzaju, „ Jaka jest twoja motywacja ” i „ Programowanie (de) motywacji i dalsze plany ...

Ze względu na tło w mojej odpowiedzi opracowuję strony internetowe / aplikacje od prawie 12 lat, kiedy po raz pierwszy dostałem pracę uniwersytecką w lutym 1998 roku i oprócz 8-miesięcznej suszy, w której nie pracowałem robią to przez cały czas w kilku różnych środowiskach: kilka dot-coms, dostawca usług aplikacyjnych, a teraz w zespole rozwoju sieci w dziale systemów informatycznych w lokalnej firmie technologicznej. Zdaję sobie sprawę, że to długa odpowiedź, ale myślę, że zadane pytania nie mają krótkich odpowiedzi.

JB King
źródło
9

Podobne rzeczy znalazłem w ciągu 10 lat programowania i przypuszczam, że są to dość częste zdarzenia. W świecie biznesu (w przeciwieństwie do środowisk akademickich) pieniądze (lub brak pieniędzy) i czas decydują o harmonogramie, funkcjach i jakości programowania. Często brakuje tych zasobów do robienia rzeczy w pełni poprawnie. Jest to główny motywator do znalezienia najbardziej skutecznych metod rozwiązywania problemów. Ta sytuacja doprowadziła mnie również do tego, aby pamiętać, że moje programowanie powinno rozwiązać tylko bieżący problem (z pewną dozą przyszłych rozważań) zamiast budować coś, co zawiera o wiele więcej funkcji, niż jest to wymagane. Moim zdaniem jest to kluczowa lekcja do nauczenia się.

Wasze komentarze na temat „starszych programistów” są również, niestety, powszechne w moim doświadczeniu. Myślę, że powód jest dwojaki - po pierwsze, wielu doświadczonych programistów leniwie korzysta z narzędzi i metod, które zastosowali w swojej karierze. Jednak technologia idzie naprzód, a to prowadzi tych doświadczonych programistów do zostania „dinozaurami”. Po drugie, po jakimś czasie programowania może łatwo stać się ofiarą pychy („moje talenty doprowadziły mnie do tej pory, więc muszę być całkiem dobrym programistą”). Próbuję zwalczyć oba te problemy, nieustannie próbując uczyć się nowych metod lub technologii w celu rozwiązania moich problemów. Czasami jest to sprzeczne z powyższym stanem lekcji „buduj tylko to, co jest wymagane”, ale celem jest dążenie do zdrowej równowagi między nimi.

Sugeruję korzystanie z doświadczeń, które masz jako motywator do ciągłego doskonalenia siebie. Sam porzuciłem branżę programowania po około 5 latach, ponieważ straciłem pasję do programowania kodu. Ale nie mogłem pozbyć się swędzenia do tworzenia programów i wróciłem do branży kilka miesięcy później. Nauczyłem się, że musisz angażować się w robienie tego, co lubisz robić - jeśli chcesz zarządzać projektami, znajdź stanowisko, które pozwoli ci zarządzać projektami. Jeśli chcesz kodować przez cały dzień, znajdź pozycję, aby to zrobić. Znalezienie pracy, która rzuca ci wyzwanie i spełnia twoje pragnienia, jest cudowną i niezbędną częścią szczęśliwego życia - życzę powodzenia w znalezieniu tego.

użytkownik37772
źródło
7

Hej kolego, naprawdę dobrze było przeczytać twoje pytanie. Cieszę się, że tak napisałeś. Wiesz co, nie zdajesz sobie sprawy, jakie rozumienie masz teraz. Rzeczy, które napisałeś, pozwalają mi zrozumieć, jakie masz doświadczenie, i wierz mi, że to doświadczenie jest czymś, czego nie wszyscy programiści mogą mieć w swoim życiu. Jesteś osobą kierującą się sobą, samoukiem. W tej chwili jesteś w bardzo dojrzałym stanie, po 4 latach pracy dla małych firm. Gdybyś był w dużych firmach, nie miałbyś nic, co można by uznać za doświadczenie. Teraz rozumiesz, jak działa ta branża, jak się rzeczy mają i jak należy to zrobić. Jaki poziom mają ci tak zwani „seniorzy”. Mam dla ciebie sugestię, jeśli jesteś tak dobrym uczniem i ćwiczysz samokształcenie od ponad 4 lat, dlaczego nie „ próbujesz pracować jako freelancer. Uwierz mi, że pracowałbyś dla siebie i cieszyłbyś się znacznie więcej.

Na zakończenie nie żałuj tego, co zrobiłeś w ciągu ostatnich 4 lat. To wspaniałe doświadczenie i tylko nieliczni mają to w swoim życiu :)

Ravinder Singh
źródło
Doceniam pracę w małych / średnich firmach, bo inaczej nie napisałbym tego pytania. Małe firmy nauczyły mnie wielu „prawdziwych doświadczeń życiowych” w przetrwaniu, a także nauczyły mnie „jak nie robić wielu rzeczy”. Przez „duże firmy” miałem na myśli firmy, które lepiej nadają się dla programistów lub firmy, którym zależy na ich „zasobach oprogramowania”. Nie miałem na myśli wielkości firm. Zastanawiałem się nad freelancowaniem, może w przyszłym roku, jeśli nadal będę programować. Jak wiecie, jestem teraz w stanie psychicznym. ^ _ ^
Tak. Niezadowolenie jest dobre; jeśli jesteś zadowolony z tego, gdzie jesteś, popadasz w samozadowolenie, jak wspomina Jeffrey. Niestety, wydaje się, że stanowią one większość ludzi w branży i wszyscy musimy nauczyć się radzić sobie z tym faktem.
7

Różnica między starszymi i młodszymi programistami, gdy mówimy o ludziach z doświadczeniem, jest na ogół oparta na wynagrodzeniu. Istnieje duża zmienność tego, co organizacje cenią, aby zmienić tytuł, i często zależy to od tego, czego oczekujesz po zatrudnieniu.

Jeśli to jakaś pociecha, mam 10-letni kryzys w połowie programowania, chociaż zacząłem programować na Apple] [+, więc może to być 24 rok; Nie wiem Chciałbym tylko, żeby ludzie nie oczekiwali magii od programistów.

dlamblin
źródło
7

Uważam, że czerwona nić, którą widziałem w mojej karierze, polega na tym, że kiedy czuję, że jestem uwikłany w sytuację, w której nie mam kontroli nad swoim otoczeniem, to znaczy kiedy zaczynam się nudzić. Po prostu robienie tego, co mówią ci inni. Ważne jest, aby mieć własny obszar (IMHO), aby ponosić pełną odpowiedzialność - być może brakuje go również w twojej pracy?

W takim przypadku powinieneś porozmawiać ze swoim menedżerem, może jest jakieś rozwiązanie w twojej obecnej pracy? Pytanie o większą odpowiedzialność jest zawsze dobrym posunięciem.

Anders
źródło
sugerujesz, że programiści są maniakiem kontroli?
Nie
pomyliłby się
„Uważam, że czerwona nić, którą widziałem w mojej karierze, polega na tym, że kiedy czuję, że jestem złapany w sytuację, w której nie mam kontroli nad swoim otoczeniem, to znaczy, kiedy zaczynam się nudzić”. Dokładnie!
Bin Chen,
@Jeffrey, nie, to ogólna ludzka cecha, im mniej kontroli mamy nad naszą sytuacją / otoczeniem, tym gorzej czujemy się np. W depresji.
Anders
7

Z mojego doświadczenia wynika, że ​​pierwsze tygodnie (najwyżej miesiące) są kluczowe dla ogólnej jakości projektu. Jeśli zdarzy się, że zaczniesz pracować w miejscu, w którym inni programiści już stworzyli bałagan (złe standardy kodowania, brak kontroli wersji itp.), Menedżerowi bardzo trudno jest, a przeważnie nie jest możliwe, wprowadzenie jakichkolwiek ulepszeń. Później terminy i ustalone kwestie spowodują brzydotę w prawie każdym projekcie, ale jeśli fundament zostanie dobrze zrobiony, szkody będą ograniczone i możliwe do opanowania.

Z tego powodu, jeśli znajdziesz się w sytuacji, w której musisz pracować ze złymi rówieśnikami przy złym projekcie, spróbuj zostać przydzielonym do nowego projektu (jeśli jest to możliwe w Twojej firmie) lub znajdź nową pracę. Nie czekaj zbyt długo, ponieważ złe nawyki są zaraźliwe.

użytkownik 281377
źródło
7

Mam te same pytania i prawdopodobnie spojrzałem na te same rzeczy, które masz (świetne start-upy, inspirujące porady, zmotywowani ludzie tworzący niesamowite rzeczy, procesy, algorytmy, które sprawiają, że twoje serce jest sercem) tylko po to, by znaleźć tego u moich współpracowników, obecnych lub byłych , ani u ludzi, których znam, którzy są w branży. Tak więc zagadka polegająca na powiązaniu tego głębokiego zainteresowania z płatną pracą oznaczała wiele źle przespanych nocy i poszukiwanie projektu tak genialnego, że można by go odłożyć na bok, a jednocześnie wyrosnąć na własną rękę wystarczająco szybko, aby zapewnić wyjście. Jak wiele osób, mam rodzinę do wsparcia i osobiście uważam, że energia potrzebna do zbudowania czegoś w startupie skierowanym na rynek brazylijski nie jest dobrze wydatkowana, jeśli nie jest całkowicie informatyczna i nudna. A tak na poważnie? Robię IT i nudne rzeczy przez cały dzień.

Więc dla mnie odpowiedzią jest utrzymanie woli uczenia się i doskonalenia w jednym miejscu i pracy w innym. Podjąłem przetwarzanie.org i staram się rysować, pisać i gotować więcej. Szczerze mówiąc, to było dla mnie świetne: czasem pasjonujesz się ludźmi, których podziwiasz i bierzesz udział w Panteonie wielkich osiągnięć, że ignorujesz poważne fakty o tym, kim jesteś i co sprawia, że ​​czujesz, że życie jest warte życie. I choć praca zajmuje ci sporo dnia, w chwili, gdy przestajesz martwić się, co to wszystko znaczy, i gdzie idziesz, jest moment, w którym zdajesz sobie sprawę, że nie potrzebujesz tego, aby się tam dostać. Kontynuuj kodowanie, jeśli to, co kochasz, pisz oprogramowanie w domu, przyczyniaj się do projektów, które Cię pasjonują. Ten rodzaj satysfakcji prawie nigdy nie pochodzi z wypłaty dla większości ludzi,

dodekafoniczny
źródło
Trochę pesymistyczne, ale mimo to realistyczne! Myślę, że masz na to świetne stanowisko.
Nikos Steiakakis
7

Jako programista zawsze będziesz musiał zrównoważyć swoje pragnienie doskonałości i pragnienie pracodawcy dotyczące działającego produktu. W niektórych firmach te dwa pragnienia będą do siebie bliższe, w większości firm te dwa pragnienia będą daleko od siebie.

Moja najlepsza propozycja, aby poradzić sobie z wyczerpaniem codziennej pracy, to rozpocząć osobisty projekt na boku, taki, w którym nie ma ostatecznego terminu, w którym możesz pracować w obszarach, w których zwykle nie pracujesz, w których wykonujesz wszystkie decyzje. Najbardziej satysfakcjonujący kod, który napisałem, był podczas pracy jako programista Wii, mogę zasugerować napisanie gry. Będziesz mógł dotknąć każdego innego aspektu programowania, 3D, sieci, sztucznej inteligencji itp., A ponieważ już pracujesz z .Net, sugeruję pobranie XNA lub Unity

Jeśli chodzi o starszych programistów, którzy nie wiedzą wiele, prawdopodobnie masz rację. Większość starszych programistów w większych firmach awansowało w czasie, gdy dużo wiedzieli lub kiedy byli w stanie wykonać zadanie. Teraz, gdy są starsi, mają różne obowiązki, głównie jako kierownicy. Oczekuje się, że ich umiejętności kodowania nieco się poślizgną. Niektóre są lepsze od innych, a niektóre prawdopodobnie właśnie awansowały z powodu tego, kogo wiedzą, ale większość starszych programistów, z którymi pracowałem w przeszłości, miała solidny (choć czasem przestarzały) zestaw umiejętności.

Podsumowując, zrób osobisty projekt, aby złagodzić codzienną nudę i uspokoić swoich seniorów, po prostu wykonaj najlepszą pracę, jaką możesz w wyznaczonym czasie, a wszystko będzie dobrze.

jessecurry
źródło
+1 za „Jako programista zawsze będziesz musiał zrównoważyć swoje pragnienie doskonałości i pragnienie pracodawcy dotyczące działającego produktu”.
Bin Chen
6

Myślę, że nadszedł czas, aby zostać Sr, programistą dla ciebie, jestem nowy na tym rynku i uczę się i doskonalę, ale pracodawcy nie szukają ludzi, szukają potworów takich jak Jr. programista z ponad 6-letnim doświadczeniem i to naprawdę denerwujący.

Tarik
źródło
2
Całkowita racja! Kiedy właśnie ukończyłem uniwersytet, wszystkie tak zwane „młodsze stanowiska” były jak nowi absolwenci z co najmniej 2-letnim doświadczeniem. Miałem szczęście znaleźć dobre miejsce i pracowałem tam 2 lata.
Sr po 5 latach doświadczenia w 1 języku? Powinieneś wyjść i zdobyć doświadczenie z innymi językami programowania i systemami operacyjnymi. To postawiłoby cię na drodze do zostania starszym programistą.
6

Dobre pytanie Jeffrey. Czy nadal lubisz programować? Czy pasjonujesz się tym, czy robisz to w wolnym czasie? A może masz dość okropnych zadań programistycznych, które miałeś.

Jeśli masz wrażenie, że programowanie nie jest dla Ciebie, istnieje wiele innych dyscyplin, które możesz odgrywać w tym momencie swojej kariery - zarządzanie projektami, sprzedaż, przedsprzedaż, analityk. Te możliwości nie istniałyby, gdy byłeś juniorem / absolwentem, więc możesz nie zacząć myśleć poza cięciem kodu. Być może możesz skontaktować się ze swoim pracodawcą, aby sponsorować Cię do egzaminów certyfikacyjnych, lub jeśli chcesz odkryć nową technologię (Azure / Silverlight / WPF?)

Z drugiej strony, jeśli uważasz, że Twoje miejsce pracy przypomina realistyczny komiks Dilberta, być może nadszedł czas, aby przejść dalej. Jeśli pracujesz w dużej firmie, możesz porozmawiać z kilkoma startupami lub odwrotnie. Nie musisz nikomu mówić, że ubiegasz się o pracę, a nawet kiedy dostaniesz ofertę, jesteś w doskonałej pozycji negocjacyjnej, ponieważ już masz pracę, możesz po prostu zdecydować, czy oferta jest lepsza niż twoja obecna sytuacja, a jeśli nie, to po prostu szukaj dalej. Większe firmy często oferują lepsze możliwości rozwoju kariery i szkolenia, podczas gdy w małej firmie zyskujesz więcej wartości niematerialnych, takich jak odpowiedzialność za sukces firmy, elastyczne godziny pracy, opcje na akcje oraz staż pracy / szacunek później, jeśli / kiedy firma uderza to duże.

użytkownik204592
źródło
6

Jeśli to jakaś pociecha, tak samo czułem się o seniorach w moim miejscu pracy. W zeszłym tygodniu złożyłem raport oparty na dowodach, aw tym tygodniu miałem godzinne spotkanie z personelem, aby oficjalnie złożyć skargę na kierowników (biorąc pod uwagę, że jestem młodszy). Albo wyhodowałem trochę piłek, albo byłeś niezadowolony z mojej pracy. To nie są złośliwe skargi, to konstruktywne skargi. Jest różnica, która z pewnością może mieć ogromny wpływ na twoje szczęście w pracy.

EDYTOWAĆ

Powiedziałbym również, nie „poddawaj się”, ponieważ masz problem z ludźmi. Wydaje się, że wiele osób mówi tutaj „rzuć pracę”, prawda jest taka, że możesz zmienić sytuację w miejscu pracy. Wiem, to brzmi tandetnie, ale myślę, że wprowadzisz zmiany i zyskasz większy szacunek, jeśli jesteś proaktywny, by coś zmienić. Nie bój się odsunąć swojego szefa i złożyć skargę. Mam i już zrobiło to dużą różnicę. Wdrażamy nowe technologie, zmieniamy nasze procedury pracy i bardziej formalnie podchodzimy do zadań, wszystko z powodu tego, co powiedziałem (i jestem młodszym programistą)

Kezzer
źródło
Utrzymajcie poczucie sprawiedliwości, proszę pana.
6

Cóż, powinieneś nauczyć się innej domeny (matematyka, AI, eksploracja danych, BI, integracja cokolwiek). Następnie, po opanowaniu tej nowej domeny, masz nowe pomysły, które odpowiadają rzeczywistym potrzebom biznesowym.

Na tym etapie, jeśli jesteś świetnym programistą, musisz tylko uruchomić. Cóż, to ryzykowne, ale o wiele przyjemniejsze.

Naucz się różnych umiejętności i kompetencji, nie tylko programowania, a następnie połącz je, aby stworzyć nową rzecz, o której nikt nie pomyślał. To proste, masz już najlepszy młotek w historii: programowanie.

Nicolas Dorier
źródło
6

Moje osobiste doświadczenia są takie same, jak wspomniałeś. Głównie wszystkie projekty, nad którymi ostatnio pracuję, są realizowane w pośpiechu i wszystko może być lepsze. Jestem programistą od około 7 lat i pracuję w tej samej średniej firmie. Kierownictwo nie ma pojęcia i prowadzi wszystkie projekty jako „nieprojektowe”. W chaosie jest bardzo mało porządku.

Najbardziej obawiam się, że wpadam w otchłań, o której mówisz, i zaczynam robić „gówniane” programy i głupią decyzję, by pójść naprzód w mojej karierze. Mam nadzieję, że ktoś tam uderzy mnie w głowę, jeśli tak się stanie.

Arto Uusikangas
źródło
5

Łał! Podoba mi się, jak cenna jest ta rozmowa. Jestem programistą z ponad 5,5-letnim doświadczeniem i uwielbiam to. Nie mogę głosować, ale zacytuję słowa AZ. Zgadzam się z tym!

Odkryłem, że istnieją 2 sekrety względnego szczęścia: - nie staraj się mieć wszystkiego, co chcesz, ale staraj się chcieć wszystkiego, co masz - życie jest trudne - nie ma znaczenia, jak mocno możesz trafić (dobrze, osobiście i profesjonalnie); zawsze uderzy mocniej. ważne jest, jak bardzo możesz zostać trafiony i nadal móc się poruszać.

Książka, którą poleciłbym to: http://www.amazon.com/Software-Measurement-Estimation-Quantitative-Engineering/dp/0471676225

lordspace
źródło
5

Moje dwa punkty:

Uderzyłem w mój po zaledwie 2 latach w branży. Pokonałem go, doskonaląc się i ucząc.

W większości przypadków nadejdzie, ponieważ robicie to samo w kółko. A jeśli ciągle robisz to samo ... cóż ... robisz to źle.

Zawsze ulepszaj. Zawsze się ucz. I do diabła, jeśli twoja obecna firma nie daje ci takiej atmosfery, znajdź taką, która to zrobi. Zrobiłem to, a ostatnie 2 lata były najlepszym czasem w moim życiu (prawdopodobnie jestem także 100 razy lepszy w pracy niż byłem 2 lata temu)

żebrak
źródło
5

Jest wielu programistów, ale tylko niewielka część z nich to inżynierowie jakości. Myślę, że to prawda w każdym zawodzie.

David R. Tribble
źródło
5

Witamy w prawdziwym świecie ... niestety to, co opisujesz, dzieje się w większości karier z ludźmi, którzy po prostu nie mają wystarczającej pasji do tego, co robią. Jest tylko jedna opcja (to znaczy, jeśli kochasz swoją pracę): musisz znaleźć lepszy sklep do pracy, choć w obecnych czasach nie jest to łatwe ...

Luis Abreu
źródło
5

Zauważyłem też inny problem, że większość tak zwanych „starszych” programistów w „moim środowisku pracy” naprawdę nie jest tak mądra. Są „starsi” tylko dlatego, że od dawna są programistami, ale kod, który piszą lub podejmowane przez nich decyzje są absolutnie marne! Nie chcą się uczyć, nie chcą być lepsi, po prostu chcą zarabiać

... śledzony przez ...

Wpadłem w stan psychiczny, że nie zamierzam już być programistą dla mojej przyszłej kariery. Zacząłem myśleć, że może są lepsze rzeczy do pracy.

Potem nadszedł czas, aby zacząć szukać i podjąć działania. Ponieważ jeśli pozostaniesz programistą z takim nastawieniem, skończysz tak, jak ci „starsi” ludzie, których tak wyraźnie gardzisz. Słowo operacyjne jest „uwięzione”: zarobisz wystarczająco dużo pieniędzy, że nie możesz usprawiedliwić przejścia na coś innego, a twoje umiejętności będą tak wąskie, że nie będziesz mógł poruszać się w branży.

kdgregory
źródło
3

Może zastanawiasz się nad pójściem do szkoły? Może to otworzyć możliwości dla innego, bardziej długoterminowego rodzaju pracy.

Max Strini
źródło
Czy programowanie nie jest godnym, długoterminowym zawodem?
Szkoła wyższa otwiera badania i kolejny poziom pracy. zauważ, że dzisiejsze popularne firmy (Google, Microsoft) lubią zatrudniać osoby ze stopniami naukowymi. nawiązać połączenie. :-)
Paul Nathan
Przepraszam, miałem na myśli inną pracę programistyczną, programowanie różnego rodzaju rzeczy.
Max Strini,