Rozważamy nauczenie niektórych pracowników, którzy mają zerowe lub ogólne doświadczenie w programowaniu na poziomie hobbystów, aby zdjęli ze mnie obciążenie.
Używamy języka Python / Django, który zawiera najbardziej przyjazną dokumentację i jest łatwy do nauczenia.
Obecnie jestem jednoosobowym działem IT w mojej firmie i nie mam wystarczająco dużo godzin, aby opracować wszystko, czego potrzebuje firma. Nie jesteśmy firmą programistyczną, ale pomaga mieć własny IT do automatyzacji zadań, rozwijania funkcji obsługi klienta, analizowania danych itp.
Jak powoli integrujesz nowicjuszy pracujących nad bazą kodu? Powiedz, że masz stażystę - co oni robią? Zupełnie niechętnie pozwalam im projektować lub rozwijać kod podstawowy, ponieważ będziemy zajmować się ich błędami / dziwnymi wzorami projektowymi przez lata. Jako główny programista będę tym, który będzie musiał obejść swój kod.
Myślałem, że debiutanci modyfikują tylko istniejący kod, nigdy nie budując podstawowych funkcji. Po skompilowaniu samej funkcji mogę im odciążyć pracę za pomocą prostych zadań .
Chcielibyśmy, aby nasi pracownicy uczyli się / znajdowali wartość w firmie i ogólnie rzecz biorąc, ludzie mają „awansować w górę”.
Czy standardową praktyką jest nauczanie ludzi z programowaniem na poziomie ogólnym / hobbystycznym? W jaki sposób „awansowanie w górę” w firmie programistycznej działa dla młodszych programistów? Kiedy zaczynają pracować nad kodem podstawowym?
Staram się zdecydować, czy spowoduje to więcej szkód niż pomocy i czy istnieje sposób, w jaki możemy skorzystać z ich pomocy bez potencjalnego ryzyka podstawowego kodu witryny (środowisk izolowanych?).
Odpowiedzi:
Jeśli powierzysz nowicjusza do nieefektywnej roli, on / ona nigdy nie nauczy się niczego istotnego, a na pewno nie będą dla ciebie zbyt strasznie przydatne.
Pozwólcie, że dam wam radę, moja pierwsza praca informatyczna poza szkołą była w stosunkowo małej firmie produkcyjnej, w której zamierzałem pracować nad oprogramowaniem, aby pomóc inżynierom sprzedaży w pisaniu ofert dla różnych projektów. Miałem też pomagać facetowi IT, który samodzielnie zarządzał IT dla całej firmy.
Facet był zestresowanym, przepracowanym bałaganem i najgorszym perfekcjonistą w zarządzaniu mikro, w jakim kiedykolwiek pracowałem. Miałem zmniejszyć jego obciążenie pracą, ale spędził prawie tyle samo czasu, co niepokojąco, sprawdzając mnie i moją pracę, jak spędziłem pracę (prawie nigdy nie opuścił biura, chyba pogardzał rodziną). Gdybym popełnił choćby jeden błąd, kompletnie straciłby rozum i zaczął napadać z furią: „Wiedziałem, że nie powinienem ci tego ufać, to było zbyt ważne!” i inne ranty.
Chodzi mi o to, aby NIE być w ten sposób. Nie tylko sprawi, że nowicjusze będą nieszczęśliwi i zniszczą ich morale, ale będziesz palił świecę na obu końcach, martwiąc się o ich pracę.
Daj im szansę wykazania się, ale mają formalne specyfikacje techniczne, recenzje projektu i recenzje kodu. Możesz także przetestować ich produkcję, aby upewnić się, że spełnia wymagania.
Myślę, że będziesz zaskoczony, jak zdolne mogą być niektóre z nich.
źródło
Pracowałem w sklepie z oprogramowaniem, w którym kodowaliśmy duży projekt (znaczny czas rozruchu).
Rekruci byli traktowani jak weterynarze. Zostali przydzieleni do lidera technicznego i uruchomili funkcje „na własną rękę”. Styl architektury był podyktowany, ale mogli wymyślić własny czysty projekt. „Dziwne wzorce projektowe” zostały wyeliminowane podczas (codziennych) przeglądów kodów równorzędnych.
Jeden błąd, który widziałem w innym sklepie: załóż, że „rdzeń” jest trudny, a „interfejs użytkownika” jest łatwy. Nowicjusze mieli łatwiejszy czas w rdzeniu i pomieszali kod interfejsu użytkownika.
Powodzenia!
źródło
Chcesz zacząć od udostępnienia im małych, dyskretnych elementów do wdrożenia. Zdefiniuj obiecane dane wejściowe i oczekiwane dane wyjściowe i pozwól im połączyć kropki. Następnie skorzystaj z przeglądu kodu prowadzonego przez zespół, aby zapewnić jakość, i recenzowania, aby wyszkolić ich w zakresie uczenia się od siebie i uczenia się.
Zakłada się, że masz ogólną architekturę aplikacji, która pozwala na budowanie atomowych jednostek logiki w odsprzężony sposób. Jeśli nie, zmierzasz do świata smutku, ponieważ pracuje w nim wielu programistów - tak byłoby nawet w przypadku starych profesjonalistów.
Nieuchronnie będziesz mieć pewnych ludzi, którzy się tym zajmą, uczą się szybko i powstają. Upewnij się, że nadal karmisz je zadaniami, które są tylko małym krokiem poza ich obecne możliwości. Nic nie kształci kogoś jak zadanie, które zaczyna się niemożliwe. Nieuchronnie będziesz mieć ludzi, którzy próbują i nigdy tak naprawdę tego nie złapią. Tych ludzi należy podziękować za ich wysiłki i z wdziękiem przejść do czegoś innego.
źródło
W jaki sposób Twoja firma może sobie pozwolić na poświęcenie czasu innym pracownikom, ale nie na zatrudnienie kogoś z doświadczeniem programistycznym? Ilość czasu poświęcanego na trening, rozwiązywanie problemów i trzymanie ręki jest kosztowna.
Jedyną rzeczą, jaką kiedykolwiek zrobiłem w tym obszarze, jest nauczenie ludzi korzystania z programu do pisania raportów lub może kodu VBA / Macro dla programu Excel. Zazwyczaj przekazuję zestawy danych do ponownego wykorzystania. Uczenie się języka SQL jest trudnym zadaniem, ale widziałem, że jest to zrobione (płatne, aby mogli przejść szkolenie poza szkołą). Większość z tych osób była analitykami finansowymi, którzy potrafią nauczyć się kodować, ale nie zajęło im to czasu. Próbowanie tego z niektórymi ludźmi podczas operacji jest dalekie.
Upewnij się, że masz odpowiednią osobę, a ona naprawdę chce nauczyć się kodować. Nie będziesz miał czasu nauczyć ich wszystkiego. Będą musieli wiele zrobić samodzielnie.
źródło
@louisgab miał rację co do recenzji kodu. To też byłby mój pierwszy krok. Jedną z kluczowych rzeczy, która Ci pomoże, jest upewnienie się, że muszą naprawić własne błędy, niezależnie od tego, czy znajdziesz je w przeglądzie kodu, czy później. Wygrali; nawet nie zdają sobie sprawy, że popełniają błędy, chyba że muszą je naprawić. Miej też wyjaśnić, dlaczego zastosowane przez nich rozwiązanie jest błędem i dlaczego to, co proponujesz, jest lepsze. Przez kilka pierwszych tygodni poczujesz się tak, jakbyś miał więcej pracy z powodu posiadania tych innych osób, ale jeśli zrobisz recenzje kodu i wyjaśnisz różne rzeczy i oczekujesz, że się nauczą, za kilka tygodni będą znacznie bardziej pomocni niż gdybyś tylko zrób to wszystko sam. Ale twoje zaangażowanie jest celowe, abyś był na bieżąco, o czym zarząd powinien wiedzieć.
źródło