Poprawianie bez mentora [zamknięte]


23

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.


Nie poddawaj się pracy z mentorem. To może zrobić wielką różnicę i otworzyć wiele drzwi.
DeveloperDon

1
Jeśli jest jakieś działanie związane z pracą, które cię przeraża lub denerwuje, to dobry znak, że możesz się z tego nauczyć. Czy wygłaszałeś prezentacje na międzynarodowych konferencjach? Czy rozpocząłeś swój własny projekt typu open source? Czy założyłeś własną firmę? Jest wiele innych ...
Marco,

Założyłem własną firmę (faktycznie więcej niż raz) i zostałem zaproszony na niektóre konferencje międzynarodowe (choć wszystkie odbywały się w moim kraju). :) I tak, jest kilka rzeczy, których unikam ... Ale niektórych z nich zawsze będę unikać, innych, nauczę się na czas :)
Speeder

ta strona i jej „siostrzane strony” mogą być rozsądnym mentorem, jeśli nie możesz znaleźć ani jednego człowieka do pracy
LRE,

Odpowiedzi:



26

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.


2
+1: Naucz. Tak. Czasami, gdy przygotowuję małą sesję demonstracyjną, zawsze zadaję sobie pytania, na które odpowiedziałaby moja publiczność. Próbując przygotować się do odpowiedzi, badam i najczęściej uczę się czegoś bezcennego.
Apoorv Khurasia

8

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/


Uświadomiłem sobie, jak rzadkie są rzeczy, których używam, gdy żadna z tych stron o tym nie wspomniała: P
speeder

5

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)


+1. Obecnie studiuję CS i pracuję na pół etatu jako programista. Mój lider zespołu poprosił mnie, bym z nim usiadł i przejrzał jego kod. Dużo się uczę i czuję, że ma do mnie zaufanie, ale myślę też, że mogę coś oddać. Moje doświadczenie nie jest najlepsze, ale moja wiedza została zaktualizowana i mogę powiedzieć „nowy i lepszy sposób na zrobienie tego to…” itp.
Matsemann

2

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)


2

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.


1

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.


Nie dla każdego. Ja i kilku innych miałem najlepszą naukę od mentora. Miałem jeden przez 8 lat w latach 90. i mam teraz na nowsze technologie i jest świetny. Dodatkowo odwdzięczam się, ucząc innych podczas spotkań itp. Tych, którzy jeszcze nie doświadczyli wielkiego mentoringu, brakuje tego, co wielu uważa za niezbędne. Dzisiejsze kodowanie coraz częściej odbywa się za pomocą programowania par, recenzji i wspólnego kodu (poprzez systemy DVCS, takie jak git), więc jest to dobry sposób na naukę i sposób, w jaki prawdopodobnie będziesz ćwiczyć, jeśli pasjonujesz się programowaniem
Michael Durrant

Jednak prawdą jest również to, że prawdopodobnie nie znajdziesz tego, pytając go lub szukając go na nowych lub potencjalnych stanowiskach. Zwykle znajdujesz to, próbując jak najlepiej poczuć osobowość z góry dla nowej pracy, a następnie, jeśli masz szczęście, znajdziesz odpowiednią osobę. Poszukuje miejsc pracy o mniejszej presji i przygotowanych do dokonywania ulg w innych obszarach.
Michael Durrant,

0

jak poprawić, gdy w firmie nie ma innej osoby, która mogłaby mnie nauczyć lub czytać ich kod?

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:

  • Grupy LinkedIn
  • Tweeter - podążaj za profesjonalistami
  • Fora - gdzie omawiane są problemy
  • Blogi - strony wiki społeczności i ogłoszenia
  • Grupy użytkowników o szczególnych zainteresowaniach - takie jak Gmail lub Yahoo

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.


0

mój problem brzmi: nie mogę znaleźć mentora ... Myślę, że jestem ponad książkami, ale znacznie poniżej poziomu „mistrza”, więc nie wiem, gdzie mogę dowiedzieć się więcej.

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.