Opcje dla ołowiu programator kto woli Programowanie, aby prowadzący? [Zamknięte]

19

Na początku tego roku awansowałem na stanowisko głównego programisty po tym, jak główny programista naszego zespołu przeniósł się do innego działu. Mam około 5 lat doświadczenia zawodowego, a ze względu na dostępność i dotychczasową wydajność byłem głównym wyborem kierownictwa do kierowania projektem. Byłem trochę zaniepokojony, ale zdecydowałem, że to dobra okazja do rozwoju kariery i doświadczenia, więc zgodziłem się.

Ale do tej pory doszedłem do wniosku, że nie podobają mi się tak bardzo, jak moja poprzednia pozycja programisty. Choć z powodzeniem prowadził zespół 5 programistów przez kilka wydawnictw, ja prawie nigdy nie dotknąć żadnego kodu. Zamiast tego zajmuję się planowaniem i projektowaniem oraz zarządzaniem zespołem, wraz z przeglądami kodu. Potrzeba, aby śledzić wiele innych rzeczy, i planowane zadania, więc mogą być przypisane do zespołu, dosłownie daje mi bóle głowy najbardziej codziennie. Mimo, że rzadko pracuję w nadgodzinach, najbardziej czuję się wypalony każdego dnia, kiedy wychodzę z pracy, i nie sądzę, że w rezultacie tak lubię czas wolny od pracy.

Więc moje pytanie: jak sobie poradziłbyś lub jak sobie poradziłeś z taką sytuacją? Czy w przypadku osób w podobnych sytuacjach znalazłeś sposoby na lepsze zarządzanie zespołem, zadaniami i czasem, które sprawiły, że podobała ci się praca? A może znalazłeś sposób na powrót do pozycji bardziej zorientowanej na rozwój? Wiem, że główne stanowiska programistów prawie zawsze płacą wyższą pensję, ale widzę, że dochodzę do punktu, w którym mniej zależy mi na pieniądzach i promocjach niż na mojej radości z mojej obecnej pracy.

Nie rozmawiałem o tym z nikim z kierownictwa, ponieważ pomyślałem, że powinienem spróbować dostosować się przez co najmniej rok.

William Fontaine
źródło
„Nie rozmawiałem o tym z nikim z kierownictwa”. Dlaczego, u licha, nie? Biegaj, nie chodź, do zarządzania i wyjaśnienia. Dobra firma / dobry menedżer zrozumie i uporządkuje rzeczy z korzyścią dla wszystkich - twoich i ich. W każdym razie nie chcesz pracować w innej firmie
Mawg mówi o przywróceniu Moniki

Odpowiedzi:

16

Podaję tutaj moją odpowiedź na pytanie, co może potencjalnie zadziałać, ale nie widziałem, aby działało, ponieważ sam próbuję wydostać się z podobnej sytuacji, w której się znajdujesz. Wszystko to wciąż jest dla mnie doświadczeniem edukacyjnym, ale widzę pozytywny trend w moim zespole.

W mojej firmie zostałem awansowany na kierownika zespołu (nazywają to „szefem projektu”), a z powodu braku ludzi, którzy znają produkt i mają wystarczające doświadczenie, zgłosiłem się na ochotnika do kierowania 2 różnymi zespołami. Kilka miesięcy temu „aby pomóc w harmonogramie”, zarząd podwoił wielkość tych dwóch zespołów.

Coś, co próbowałem zrobić ...

  1. Zrób to dla wszystkich jasne (w tym zarządzanie), że kopalnia i pozycja każdy inny nie jest trwałe przypisanie. Każdy jest mile widziany krok do tablicy, podjąć szersze spojrzenie na projekt i uczestniczyć w decyzjach Architektura / Design. będę miał ostatnie słowo (na razie), jeśli istnieje rozbieżność bez uchwały, ale tak daleko, że nigdy nie zdarzyło.
  2. Skoncentruj się na pomaganiu innym ludziom w rozwoju i wzroście. Rozmawiałem (prawie filozoficznie) z różnymi programistami w różnych momentach na temat kodowania i projektowania oraz różnych podejść do robienia rzeczy. Niektóre z tych rozmów są podobne do rzeczywistej pracy, inne te są czystymi ćwiczenia myślowe. Miałem faceta z ponad 20-letnim doświadczeniem, wróciłem do półki z książkami i wybrałem książkę w C ++, ponieważ był zainteresowany niektórymi niskopoziomowymi rzeczami, które zrobiłem z programowaniem szablonów. Dyskusje te są nieco zaraźliwe, a gdy wystarczająco długo poruszysz te tematy, ludzie zaczynają samodzielnie myśleć o tych sprawach.
  3. Przekaż jak najwięcej innym osobom. Chociaż patrzę na wiele rzeczy, ja nie uczestniczą w każdym przeglądu kodu. Zamiast tego robię recenzje kodu dla naszych pośrednich facetów i pozwalam tym facetom dokonywać przeglądu kodu dla niektórych bardziej zielonych ludzi. Widzę recenzje kodu raczej jako narzędzie do transferu wiedzy, a nie „upewnijmy się, że czytamy każdą linię i znajdujemy każdy możliwy błąd”.
  4. Po zdefiniowaniu interfejsów i wdrożeniu podstawowego projektu, pozwalam nawet nowszym chłopakom na jak największą swobodę kodowania wewnętrznych elementów klas. Tak, dużo tego kodu jest daleki od doskonałości, ale robi przetestowany i działa. Jeśli przekroczy on pewną subiektywną granicę w zakresie „zapachu kodu”, a nie dokonali go ponownie, sugerowałbym, że pewne klasy muszą zostać rozbite lub zmienione. Czasami jest to bolesne, ale kiedy sprawdzam kilka dni później i otrzymuję odpowiedź: „Nie chcę tego przyznać, ale ten kod wygląda teraz o wiele lepiej”, co w rzeczywistości daje mi ciepłe, niewyraźne uczucie.
  5. Rzuć wyzwanie ludziom. Zamiast przypisywać im funkcję dodawania do produktu, poproś o dodanie tych funkcji, ale rób to bez zwiększania liczby funkcji / elementów danych w istniejących klasach. Jeśli trzeba umieścić coś nowego, trzeba wziąć coś istniejącego, i trochę czasu, aby dowiedzieć się, co to jest. Każdy wie o refaktoringu, ale bez dodatkowej siły na początku wydaje się, że ludzie potrzebują pomocy czyni ten skok faktycznie robi. Jako minimum, robię to punkt do odwiedzenia tego punktu podczas niemal każdego przeglądu kodu.
  6. Wszystko dotyczy BALANCE. Nie można być tylko starszy człowiek w zespole patrząc na każdy inny. Nie można spędzić cały tydzień w spotkaniach i opinie robi. Nie można oczekiwać, że będzie można złapać każdy błąd, że zespół robi. Na koniec dnia musisz przeznaczyć czas na prowadzenie, ale musisz także przeznaczyć czas na programistę. Chciałbym zwariować, gdy nie mogłem kod. Nawet ze wszystkim innym, jeszcze upewnić, mam czas do kodu pisać i nie tylko kodu, ale niektóre naprawdę ładne rzeczy. Właśnie dostałem w swoje ręce szablonu meta programowania książek i zaczął kopać wewnątrz doładowania. Faceci, którzy wymyślili te rzeczy muszą być szalony (w dobrym tego słowa znaczeniu). Jeśli zarządzanie zaczyna cię gryzie, dlaczego nie wszystko jest poddawane przeglądowi lub dlaczego noob jest przeglądając inny kod NOOBS, wystarczy wyjaśnić całą kwestię równowagi i że zespół po prostu nie ma wystarczającej liczby doświadczonych ludzi, a na koniec dnia „to jest to, co jest”. Jeśli zespół ma starszych ludzi, a potem nadszedł czas, aby wzmocnić i potem dać im swobodę prowadzenia własnych projektów / opinie / pomaganie innym, a nie traktować je po prostu jako generatory kodów. Z upodmiotowienia przychodzi wolność i ludzie kochają wolność. Jeśli masz programistów, które nie dbają o wolność / upodmiotowienie, że jest w porządku. Każdy zespół musi jeszcze czystych programistów, tylko upewnij się, że dążenie do równowagi. nadszedł czas, aby dać im siłę i dać im swobodę robienia własnych projektów / recenzji / pomagania innym i nie traktuj ich jak zwykłych generatorów kodu. Wraz z inicjacją przychodzi wolność, a ludzie kochają wolność. Jeśli masz programistów, które nie dbają o wolność / upodmiotowienie, że jest w porządku. Każdy zespół musi jeszcze czystych programistów, tylko upewnij się, że dążenie do równowagi. czas, aby wzmocnić i potem dać im swobodę prowadzenia własnych projektów / opinie / pomaganie innym, a nie traktować je jedynie jako generatory kodów. Wraz z inicjacją przychodzi wolność, a ludzie kochają wolność. Jeśli masz programistów, które nie dbają o wolność / upodmiotowienie, że jest w porządku. Każdy zespół musi jeszcze czystych programistów, tylko upewnij się, że dążenie do równowagi.
  7. Twój czas jest cenny. Poproś zespół, aby przesłał Ci e-mailem wszystkie pytania, które nie są krytyczne czasowo, aby mogli poczekać kilka godzin przed uzyskaniem odpowiedzi. Kiedy pada pytanie, cały zespół powinien być kopiowane na nim. W końcu, kiedy masz przerwę w ciągu dnia, możesz rzucić okiem na problem i pomóc tej osobie, ale wiele razy ktoś inny już cię pobił i nie musisz nic robić. Oczywiście jako lider nadal udostępniam się i wyjaśniam ten fakt, ponieważ uważam, że jednym z moich celów jest upewnienie się, że nikt w zespole nie utknie na dłuższy czas bez robienia postępów.
  8. Upewnij się, że Twój zespół używa jak największej liczby narzędzi, aby komunikacja była bardziej efektywna. Na przykład mamy strona wiki i za każdym razem ten sam problem crops się wiele razy, pytam ostatni facet pomogłem stworzyć stronę wiki.
DXM
źródło
1
+1 doskonała odpowiedź, wiele praktycznych porad. Delegowanie i równoważenie to niezwykle ważne umiejętności, które należy stale rozwijać i doskonalić.
Péter Török
Doskonała rada. +1 szczególnie dla # 4; Widziałem, jak ludzie marnują zbyt dużo czasu, ponieważ nie myślą w ten sposób.
DarenW
Jestem zaintrygowany swojej idei dodanie funkcji bez dodawania nowych członków klasy. Czy uważasz, że ta strategia działa dobrze?
Maxpm
@Maxpm: Poza pracą lubię pracować na samochodach. Próbowałem zostały również babrać się w elektronice i sprzęcie. I przynieść dużo rzeczy w domu. Moje podejście do zajęć jest podejście moja żona zabiera ze mnie: „jeśli wprowadzą coś, trzeba wziąć coś out”. Nie będę nigdy mówiąc dodać nową zmienną lub metodę, ale przychodzi pewien próg, powyżej którego nie można po prostu dodać. Jeśli Twój kod pobiera duże, są szanse, można wziąć sporą i złamać go do jednej lub kilku jednostek autonomicznych. Wtedy zamiast dużej monolit, musisz klocki i można przenieść i zmienić w zależności od potrzeb
DXM
@Maxpm: zapomniałeś dodać ... Tak, że strategia działa bardzo dobrze i to w samym rdzeniu z litego zasadach które polecam że każdy poznaje. Minęło sporo czasu, odkąd miał do czynienia z gniciem w moim kodzie.
DXM
4

Nie rozmawiałem o tym z nikim z kierownictwa

Myślę, że wiesz, że to prawdopodobnie pomogłoby. Komunikowanie swój dyskomfort ze pozycja nie jest koniecznie podając wszystko konkretnie. Pozwala zarządzania wiedzą, co karty w ich posiadaniu, a jeśli to jest dobre zarządzanie, będą próbować i znaleźć sposób, aby korzystać z najlepszych możliwości. Nie zadowalaj się mniej.

Ben Lakey
źródło
3

Gdy kończy się projekt, wygląd na bardziej zorientowane programista świetnym miejscu w firmie lub poza nią.

Dyskutuj z zarządzania, który chciałbyś mniej zarządzanie i bardziej techniczne „ręce” na umiejętności.

To brzmi jak jesteś w stanie PM kontra deweloper ołowiu. Chciałbym rozważyć lead developer do kodowania więcej.

Jon Raynor
źródło
Tak więc I. Niestety, niektóre projekty są tak, kopalnia okazuje się nie być tak. Jest wystarczająco dużo technicznych rzeczy do zarządzania, że ​​muszę to robić w 95% przypadków. Spróbuję to zmienić w przyszłości.
William Fontaine
3

Perspektywa pracodawców :

Jeśli lubisz bieżącą pracę i mieć dobrą historię tam wtedy chciałbym utrzymać się na i będzie znaleźć miejsce dla ciebie, więc nie martwiłbym się o wiele z nimi rozmawiać.

Wielki deweloper jest cenną rzeczą, ale trzeba je sprzedać, że jesteś wart więcej robi kodowania i może zaprojektować niż jesteś akt żonglerka.

Daj im drogę do wycofania się, ustanawiając plan sukcesji. Zasadniczo można znaleźć kogoś w obecnym zespołem, który jest zainteresowany robieniem rzeczy, które dają Ci ból głowy, w ciągu najbliższych 6-9 miesięcy, trenują je, dając im swoje zadania po jednym na raz.

Najpierw wybierz coś łatwego, na przykład cotygodniowe aktualizacje statusu:

  • Ustaw je obok siebie podczas aktualizacji statusu.
  • Siedzieć obok nich, jak robią kolejną aktualizację statusu.
  • Niech zrobią to sami i sprawdzą, zanim wyjdzie na finał.

Następnie stopniowo udzielaj im dodatkowych zadań, dopóki nie przekażesz majoirty z dodatkowych obowiązków.

Powodem tych mniej pożądane miejsca pracy wypłacane są bardziej dlatego, że gdyby nie było nikt by je zrobić, nie nessacrily ponieważ wymagają wyższego poziomu umiejętności ... podaży i popytu.

Żeby jednak płacić więcej ... Gdybym to był ja, chciałbym usłyszeć, że zostajesz, w razie potrzeby pomożesz tej osobie, będziesz mentorem dla nowszych facetów, będzie projektantem / kluczowym mózgiem / domena ekspert zamiast prowadzić projekt. Zasadniczo jest to cenna pozycja, ktoś inny może biegać i żonglować (oczywiście za więcej płac).

Myślę, że gdybyś przedstawił swojemu pracodawcy plan 6-9 miesięcy, który powiedział

  • Dobre wyjaśnienie, dlaczego Twoim zdaniem lepiej jest wrócić do skupiania się na kodowaniu nad innymi odpowiedzialnymi programami.
  • Komu się przyłączyć ... czy też muszą kogoś znaleźć ... myślę, że będzie to kluczowy czynnik decydujący.
  • Miesiąc rozliczeniowy przez 6 miesięcy, jakie obowiązki przekażesz nowej osobie
  • Jakie obowiązki miałbyś na swoim koncie (na przykład projektowanie, być może przeglądanie kodu itp.).
  • Pomysł spadku płac byłbyś gotów podjąć (gdzieś pomiędzy oryginalny i teraz), chociaż niech przyniesie to.

Jeśli masz, że wspólnie jako plan dla mnie, jako pracodawcy, byłbym bardziej niż szczęśliwy do pracy z wami w podejmowaniu tego dopuścić.

Powodzenia.

Robin Vessey
źródło
1

Byłem dokładnie w danej sytuacji. Odpowiedź sprowadza się do relacji masz ze swoim przełożonym. W moim przypadku to był bardzo dobry, więc wziąłem go na bok jeden dzień i powiedział, że nie cieszy się z pracy, czuł się zbyt zestresowani i chciał wrócić do kodowania. Był o wiele szczęśliwszy niż usłyszeć, że mają mi wejść i wyjść. Więc opracowaliśmy plan dla kogoś innego, aby przejąć jak ołów zespołu i dla mnie, aby wrócić do kodowania.

drekka
źródło
0

2 pytania, które nie są oczywiste z Twojego postu:

  • Czy pracujesz w firmie, która bezpośrednio zarabia na oprogramowaniu, które piszesz (np. Google, Microsoft lub Fog Creek), czy też pełnisz funkcję pomocniczą (np. W banku lub firmie spożywczej)?

  • Jest prezesem technolog, lub kogoś, kto wstał poprzez ról biznesowych?

Jeśli jesteś firmą oprogramowania technolog CEO, nie martw się. Kierownictwo korporacyjnych będzie wiedział, kto cenne deweloperzy, i zrobi wszystko, aby je zachować. Jeśli execs są wszyscy ludzie, którzy dostali paski „zarządzanie ludźmi” lub „zarządzanie budżetami”, zainteresowanych. Być podwójnie zaniepokojony, jeśli jesteś w wewnętrznym dziale IT. Jeśli tak jest, to trzeba przyjąć, że dobra równowaga między życiem zawodowym jest zapłata za pobyt dewelopera.

Ostatni punkt - rób to, co sprawi, że będziesz szczęśliwy. rada każdy inny na wyborze zawodu, jak to jest, co by uczynić z nich zadowolony - i to jest o tobie.

MathAttack
źródło