Chociaż uważam się za mało doświadczonego, w jakiś sposób wciąż ląduję na stanowiskach kierowniczych (w obecnym jestem dyrektorem technicznym firmy, w poprzednim byłem szefem działu badań i rozwoju).
Rozumiem, dlaczego tak się dzieje (mam określony zestaw umiejętności i używam rzadkich języków programowania), moim problemem jest: nie mogę znaleźć mentora ...
Wiem, że muszę się czegoś nauczyć i zauważam, że pracując przez lata, powoli uczę się coraz więcej, ale wierzę, że istnieje sposób, aby poprawić się znacznie szybciej niż tylko kodowanie ...
Jak mogę się poprawić, gdy w firmie nie ma innej osoby, która mogłaby mnie uczyć lub czytać ich kodu? (lub naprawić ich kod nawet ...)
Wydaje mi się, że jestem ponad książkami, ale znacznie poniżej poziomu „mistrza”, więc nie wiem, gdzie mogę dowiedzieć się więcej.
źródło
Odpowiedzi:
Co powiesz na:
Sprawdź także odpowiedzi na pytanie, jak naprawdę opanować język programowania
źródło
Kilka wskazówek:
Ucz się innych języków. Następnie porównaj je z językami, które już znasz, i spróbuj spojrzeć na sposoby poprawy umiejętności kodowania w tych językach, korzystając z rzeczy, których nauczyłeś się z innych języków. „Uwolnij swój umysł” przed nauczeniem się tych nowych języków i nie próbuj po prostu klonować pojęć między sobą .
Przeczytaj kod. Nie wiem, jakich nietypowych języków używasz właśnie w pracy, ale jestem pewien, że możesz znaleźć wysokiej jakości kod open source napisany w tych językach przez bardzo zręcznych programistów.
Pozostań przy społeczności. Jeśli nie masz współpracowników, którzy używają twojego języka (ów) w pracy, nie jest to wymówka, aby nie dzielić się wiedzą za pośrednictwem stron internetowych takich jak Stack Overflow, gdzie są pytania i odpowiedzi nawet w bardzo rzadkich językach. Spróbuj wyszukać te pytania według tagu i sprawdź, czy rozumiesz wszystkie odpowiedzi. Jeśli na pytania nie ma odpowiedzi, odpowiedz na nie.
Nauczać. Naucz swoich współpracowników. Pisać bloga. W ogóle. Wyjaśniając coś innym, nauczysz się tego lepiej.
źródło
Moje główne rozwiązania tego problemu w ciągu ostatnich 2 lat to:
networking społeczny: W szczególności zauważyłem, że meetup.com to świetny sposób na znalezienie grup programistycznych w twojej okolicy. Twitter jest również do tego świetny. Kiedy znajdziesz ludzi, których lubisz i szanujesz, podążaj za nimi.
Korzystając z http://www.stackoverflow.com początkowo używałem go do sporadycznych pytań. Teraz jest moim codziennym towarzyszem zarówno udzielania porad, jak i otrzymywania ich. Skorzystaj również z siostrzanych witryn, takich jak /codereview//
Praca: Chociaż prawdopodobnie nie dotyczy ciebie (ale dobra ogólna rada dla innych) Jeśli jesteś wystarczająco dobry, aby znaleźć jakąś pracę w wybranym obszarze, poszukaj starszych ludzi, bądź dla nich miły i spróbuj zachęcić ich do mentorowania ciebie .
Książki O'Reilly, Pragmatic Programmer i inni nadal mają dobre książki i możesz wybierać wersje papierową i / lub cyfrową. Oto naprawdę świetna lista: /programming/1711/what-is-the-single-most-influential-book-every-programmer- powinien- przeczytać niektóre z najlepszych „klasyków” na wypadek, gdybyś ich jeszcze nie przeczytał. Mogę polecić czysty kod i kompletny kod.
Poradniki W sieci jest teraz kilka fantastycznych witryn, takich jak
http://www.codeschool.com ,
http://www.codeacademy.com
http://code.google.com/edu/
źródło
Tylko dlatego, że czytam trochę hierarchii w (do) twoim pytaniu:
Ucz się od ludzi pod tobą. Rozwój oprogramowania dotyczy komunikacji między ludźmi, często za pośrednictwem kodu. Ponieważ dobra komunikacja powinna przebiegać w obie strony, ucz się od ludzi, z którymi programujesz. (zakładam, że nie jesteś w firmie jednoosobowej)
źródło
Wierzę, że wiele się nauczysz, ucząc tych, których przewodzisz. Zyskasz głębsze zrozumienie tego, czego ich uczysz, ponieważ będziesz zmuszony pomyśleć o tym, dlaczego / jak działają proste rzeczy (których prawdopodobnie unikałeś na początku, ponieważ po prostu chciałeś, aby to działało)
źródło
Mentoring może być funkcjonalny
Mentorzy nie zawsze muszą być ekspertami w tym, na czym się koncentrujesz. Jeśli używasz niezwykłego języka programowania, który wciąż pozostawia około 99 niejęzykowych tematów w tworzeniu oprogramowania, w których możesz być trenowany. Niektórzy z moich ostatnich mentorów byli zaangażowani w rozwój biznesu, sprzęt lub inżynierię systemów, mimo że przede wszystkim jestem zaangażowany w oprogramowanie.
Wiele rodzajów ludzi może być Twoim mentorem
Dobrze jest poszukać kogoś, kto jest teraz w miejscu, w którym chciałbyś być za pięć lat. Taki mentor nie zawsze jest dostępny, więc inną alternatywą jest mędrzec, który ma znacznie więcej doświadczenia, ale może już nie pełnić formalnej roli przywódcy, odwrotny mentor, który jest mniej doświadczony (lub zabraniający nieba, młodszy), ale ma perspektywy na temat narzędzi i technik, które mogą być przydatne.
Czy Twój mentor jest również Twoim sponsorem?
Oprócz mentorów czasami kluczowe jest posiadanie sponsora. Jeśli próbujesz awansować w organizacji, jeśli masz mentora, który udziela wspaniałych rad, ale nie wpływa na twój łańcuch dowodzenia na twoją korzyść, możesz mieć wady w stosunku do kogoś, kto ma mentora, który sponsoruje ich jako lider, właściciel projektu lub kierownik projektu, który przyznaje im bardziej wpływową rolę lub promocję.
Mentorzy i sieci w różnych firmach
Jeśli jesteś już dyrektorem technicznym, być może będziesz musiał szukać swojego mentora poza swoją firmą. Liczby mają siłę, więc nawiązywanie kontaktów z wieloma osobami w płytki sposób może być zaskakująco cenne. Ogólnie uważałem, że to wartościowe, twoje zaangażowanie z innymi profesjonalistami musiało mieć głębię wynikającą ze współpracy lub szerokiego, częstego lub długotrwałego stowarzyszenia.
Jak duży jest twój staw?
Wspominasz, że byłeś szefem i dyrektorem ds. Badań i rozwoju, ale nie czujesz się tak doświadczony. Spowiedź jest dobra dla duszy, jeśli nie dla reputacji. Mam podobne wyznanie.
W pewnym momencie uznałem, że moja kariera została podzielona na dwie części. W pierwszym pracowałem w wielu zespołach, w których byłem albo jedynym programistą, albo programistą z największą liczbą uczelni. Drugi rozpoczął się, kiedy zatrudniłem się w firmie z listy Fortune 100 i pracowałem z wyraźnie wyższą klasą programistów. Kontrast był w zasadzie jak bycie dużą rybą w małym stawie lub bycie małą rybką w dużym stawie.
Zamiana
Dokonanie zmiany z małych niezależnych firm oznaczało, że miałem znacznie mniejszy status w organizacji. Ale nadal był pewien status. Deweloperzy wciąż byli doceniani zarówno za wyższe wynagrodzenie, jak i dość wysoki stopień kontroli nad pracą. Mógłbym również wpływać na innych członków zespołu (choć nie z góry). Było wiele wzorów do naśladowania. Dużo konkurencji zmusiło mnie do zaostrzenia techniki i zrozumienia, w jaki sposób to, co zrobiłem, stanowiło wartość dla organizacji i moich zespołów.
Wcześniej ignorowałem swój instynkt do ról i mentorów i zapłaciłem cenę. Intuicja jest czasem uczuciem wynikającym z syntezy doświadczenia. Głosowałbym za tym, że jeśli wydaje się niewłaściwy, to prawdopodobnie jest zły i zasługuje na uważne śledztwo. Wygląda na to, że martwisz się o swoje doświadczenie i brak mentora, sprawdź swoje możliwości.
Czy może odnalazłbyś wzrost, satysfakcję i inne korzyści, migrując do większej, bardziej agresywnej firmy? Większe nie zawsze jest lepsze, ale czasami ma tę zaletę, że różnorodne osoby powodują różnorodne relacje robocze i różnorodne doświadczenia projektowe. Wiele opraw Doliny Krzemowej miało lub służyło jako mentorzy dla ludzi, którzy w rezultacie mogą szybciej i skuteczniej wyznaczyć sobie drogę do sukcesu. Jeden z moich kolegów ze szkoły grad podążył za wezwaniem do przyłączenia się do Linked In i doświadcza tej kultury, grając w gry na wyższym poziomie.
Korzyści dla mentora
Chociaż mentor może być jak profesor, myślę, że jeśli nie masz takiego, który często spogląda na twój produkt pracy lub nie służy jak mistrz w relacji mistrz / uczeń, szkolenie umiejętności i wykształcenie zawodowe są drugorzędne. Myślę, że największe rzeczy, którymi dzielą się mentorzy, obejmują porady na temat wzrostu, modelowania ról dobrych decyzji i równowagi między wartościami w miejscu pracy oraz stały, obiektywny i rozsądny osąd w czasach kryzysu.
Rada, którą wiele razy dawał mi mój dziadek, była taka, że ludzi można się nauczyć tylko wtedy, gdy są pokorni. Uważaj na stwierdzenia typu „Jestem daleko poza książkami” i staraj się uczyć od wszystkich. Aby zbudować relację z mentorem, upewnij się, że jesteś pełen szacunku i otwarty oraz okazujesz uznanie. Ważne będzie również, aby postępować zgodnie z ich radami, ponieważ jeśli nie będą wyjątkowo cierpliwi, zwykle poświęcają swój czas na działanie.
źródło
Mój drogi przyjacielu
Powiem wam, że bardzo rzadko zdarza się, że ktoś uczy innej osoby niuansów programowania. Programowanie jest czymś, czego sam musisz się nauczyć. Jeśli skoncentrujesz się na jednym temacie, wypróbujesz go i dołączysz do różnych forów, które obsługują ten temat, to prędzej czy później zostaniesz mistrzem tego tematu. Pamiętaj, że sam jesteś najlepszą osobą, aby wiedzieć, jak dobry jesteś. W branży i świecie, w którym jesteśmy, musimy stać się naszymi własnymi mentorami, ponieważ to, czego się uczymy, pozostaje z nami na zawsze.
źródło
Kiedy używam bardzo „specyficznych narzędzi lub nietypowego języka programowania / frameworka”, szukam specjalnych grup zainteresowań. Oczywiście istnieje społeczność internetowa dla większości obecnie używanych technologii / platform. Dlatego używam wszystkich środków komunikacji online, aby pozostać w kontakcie z najnowszymi wpisami w:
Jednym z najlepszych podejść do nauki dobrych praktyk w „nietypowych językach programowania” jest znalezienie blogu dla programistów (najlepiej 4-5) i zasubskrybowanie ich.
źródło
W jakim obszarze Chcesz poprawić swoje umiejętności programowania, umiejętności inżynierii oprogramowania, umiejętności zarządzania projektami, coś jeszcze? Nie podałeś w swoim pytaniu.
Nie jesteś poza książkami, jeśli nauczyłeś się samodzielnie programować / konstruować projekty oprogramowania / zarządzać projektem. Ty też nie jesteś poza powrotem do szkoły. Powrót do szkoły w celu uzyskania wyższego stopnia lub przynajmniej przyjęcie niektórych klas dla absolwentów to jedna z opcji, której nie należy wykluczać. Który obszar? To zależy od tego, co chcesz poprawić, gdzie widzisz swoją karierę. Na przykład wiele można powiedzieć o uzyskaniu dyplomu MBA. Ludzie, którzy są bystrzy zarówno pod względem technicznym, jak i biznesowym, są bardzo cenni. Całe mnóstwo. Kilku moich byłych współpracowników wybrało MBA. Nie widuję ich często, ponieważ kiedy nie pracują, udają się do tropikalnego raju. Lub safari. Lub weekendowa wycieczka do Alp. Lub letnia wycieczka na narty do Ameryki Południowej.
Inną opcją jest dołączenie do społeczeństwa technicznego w dziedzinie, w której masz wiedzę, ale nadal chcesz się poprawić. Jeszcze innym jest zachęcenie pracodawcy do wysłania cię na konferencję boondoggle, gdzie możesz się uczyć i nawiązywać kontakty.
źródło