Jak utrzymać dobrze wyszkolony zespół? [Zamknięte]

11

Obecnie opiekuję się małym zespołem 4 młodszych programistów w małej firmie programistycznej. Są bardzo sprytni i często wykonują swoje zadania dzięki pracy wysokiej jakości, ale jestem pewien, że nadal mogą sobie radzić lepiej - w rzeczywistości mam dokładnie to samo uczucie :). Poza tym niektóre z nich są bardziej „młodsze” niż inne.

Chciałbym więc znaleźć zabawny sposób na podniesienie umiejętności CS (projektowanie, kodowanie, testowanie, algorytm ...) oprócz doświadczenia, które zdobywają w codziennej pracy. Na przykład myślałem o ustanowieniu cotygodniowych sesji, nie dłuższych niż 2 godziny, w których moglibyśmy się spotkać, aby popracować nad trudnymi ćwiczeniami z CS. Trochę jak dojo kodujące.

Jestem pewien, że zespołowi się to spodoba, ale czy to naprawdę dobry pomysł? Czy byłby skuteczny w kontekście zawodowym? Cały tydzień spędzają już na kodowaniu, więc jak mam to zorganizować, aby uzyskać jakieś korzyści?

Wszelkie opinie mile widziane!

PierrOz
źródło
3
PAN. NOLAN ~ Dead Poets Society: „W wieku tych chłopców? Nie w twoim życiu! Tradycja, John. Dyscyplina. Przygotuj ich na studia, a reszta sama się o siebie zatroszczy”. Nie mogę się oprzeć: P +1 za dobre pytanie.
Matthieu,

Odpowiedzi:

9

Oto kilka pomysłów

  • Klub książki, czytaj książki takie jak Pragmatic Programmer lub inne rzeczy zorientowane na karierę.
  • Kodując Dojo, możesz zacząć od prostego problemu poza projektem, a następnie rozszerzyć go na Projekt lub w inny sposób, jeśli możesz.
  • Retrospektywy lub spotkanie zwrotne w celu uzyskania pomysłów od samej grupy w celu usprawnienia rozwoju projektu, w którym każdy uczestniczy
  • Spotkanie grupy użytkowników, podczas którego wyznaczona osoba przedstawia to, poprawiłoby prezentację / umiejętności miękkie zespołu

  • raz na jakiś czas wykonując niezwiązane z pracą zadanie, takie jak pójście do Dave'a i Bustersa na zabawę w piątek lub coś w rodzaju .. w celu poprawy chemii zespołu

Każde zadanie lub spotkanie powinno trwać krócej niż 45 minut, aby cała grupa była zainteresowana. Każda rzecz, która wykracza poza godzinę, całkowicie spadnie na barki prezentera lub lidera grupy.

Srikanth Remani
źródło
Popieram klub książki. Nie byłbym nawet blisko dobrego programisty, gdybym nie czytał książek na temat programowania i tworzenia oprogramowania. Książki pozwalają zobaczyć, jak to robią eksperci, dzięki czemu sam możesz zostać jednym z nich.
Brian D.,
1

Ludzie mogą mieć własne pomysły na temat tego, jak chcą się uczyć. Osobiście wolałbym wziąć kurs lub pracować nad projektem w swoim czasie - i zrobiłem jedno i drugie. Jeśli wszyscy w zespole są w porządku z sesjami treningowymi, idź na nie, dopóki ludzie w twoim zespole nie zaczną traktować tego jak „pracy” z czasem ...

Justin Ethier
źródło
Rozumiem, że potrzebują oni innej „atmosfery” do nauki, ale lubię kolektywne podejście do kodowania dojo. Każdy może skorzystać z najlepszych pomysłów i zrozumieć, jakie było podejście do ich znalezienia ...
PierrOz
W porządku, chociaż jeśli zamierzasz zbliżyć wszystkich do siebie, możesz bardziej zaangażować grupę. Na przykład weź własne pomysły na kilka pierwszych sesji, a następnie poproś inną osobę o wykonanie ćwiczenia w kolejnych tygodniach. Rozważ też robienie innych rzeczy, takich jak przegląd cotygodniowego fragmentu kodu, zachęcanie ludzi do prezentowania zadań, nad którymi pracowali (lub obszarów technicznych, o których się uczą, takich jak WPF, TCP itp.) Itd.
Justin Ethier
1

Myślę, że jedynym sposobem na utrzymanie wyszkolonego zespołu jest zatrudnienie programistów, którzy chcą kontynuować naukę.

Jeśli nie pochodzi od wewnątrz, nie przyniesie trwałych rezultatów.

jeśli chcą się uczyć, to to, czy uczenie się w zespole jest skuteczne, czy nie, będzie zależeć głównie od zainteresowań i stylów uczenia się.

Eric Wilson
źródło
1

Myślę, że system dojo brzmi fajnie i pozwalam im iść do domu, jeśli chcą. Dodanie jakiejś nagrody może być przydatne, ale możesz kłaść nacisk na rywalizację i nie wydaje mi się, żeby to przydało się w pracy zespołowej. W każdym razie, niesamowite miejsce, w którym można szukać problemów z komputerem, ocenia Sphere Online Judge . Definiuje problem, zestaw oczekiwanych wyników i umożliwia przesłanie pliku z rozwiązaniem problemu. Jeśli dobrze to zrobisz, punkty wzrosną.

Powodzenia z tym!

guiman
źródło
1

Jako programiści potrzebujemy wielu umiejętności, które niekoniecznie są bezpośrednio związane z kodem. Jednym z przykładów jest przedstawienie i wyjaśnienie zagadnień technicznych osobom nietechnicznym w sposób, który mogą zrozumieć. Coś, co może być skuteczne, gdy doprowadzasz swój zespół do miejsca, w którym chcesz, to zadanie domowe.

Każdego tygodnia dajesz swoim chłopakom problem do rozwiązania. Aby było to najbardziej korzystne dla firmy, trzymaj problemy związane z czymś, nad czym pracujesz. Najlepiej z jakiegoś punktu bólu, dla którego jeszcze nie wymyśliłeś sobie rozwiązania. Każdy z twoich młodszych członków przedstawiałby się na zmianę (najlepiej raz w tygodniu), podczas gdy grasz rolę klienta. Zasadniczo przy takim podejściu masz dwa cele:

  1. Nauczanie / prezentacja wymaga, aby facet na podłodze miał głębszą wiedzę niż tylko wykonywanie ćwiczeń. Jest to pośredni, ale bardzo skuteczny sposób nauczenia kogoś tematu.
  2. Jeśli mogą cię przekonać, że to dobry pomysł, mogą przekonać klienta to samo. Zadawaj pytania, które skłaniają ich do zastanowienia się nad wpływem biznesowym tego, co proponują.

Oczywiście każdą sesję rozpocznij od przypomnienia, że ​​będziesz zadawać ostre pytania - a celem nie jest bycie podłym, ale przygotowanie ich dla twardego klienta.

Berin Loritsch
źródło
1

Jako kierownik lub senior starałbym się rzucać wyzwania w „prawdziwej” pracy. Staraj się dawać ludziom rzeczy do pracy, które są trochę poza ich ligą lub przynajmniej rzucają im wyzwanie. Wyślij jednego z rówieśników, aby pomógł i w razie potrzeby udzielił korepetycji.

Po tym, jak ktoś coś skończy, rzuć mu wyzwanie, aby wypróbował nowe / inne podejście.

Naucz ich, jak wymyślać rzeczy na miejscu zamiast pracować nad rzeczami, których jeszcze nie wiedzą, jak to zrobić.

Zintegruj uczenie się z samą pracą, poboczne projekty uczenia się mają tendencję do pomijania terminów na horyzoncie.

Czasami bezpośrednie motywowanie danego eksperta może pomóc jako motywator.

Joppe
źródło
1

Daj im 3 godziny tygodniowo na badanie / zhackowanie wszystkiego, co jest zainteresowane programowaniem. Idealnie byłoby więcej, ale myślę, że 3 godziny to dobry początek. Może to być wszystko w jednym kawałku, po drodze można je podzielić na małe 30-minutowe segmenty. Wygląda na to, że ci programiści są wystarczająco zmotywowani, aby mieć wszystko pod kontrolą.

Ale pozwalając im odkrywać własne pola zainteresowań, wrócą również, aby pomóc zespołowi. Jedna osoba, która naprawdę lubi dane, może zajrzeć i napisać małą aplikację przy użyciu rozwiązania NoSQL, które może pomóc w projekcie, który pojawi się kilka miesięcy później. Inna osoba może skorygować małą aplikację narzędziową do błahych potrzeb (takich jak analizowanie plików dziennika), która stanie się podstawową aplikacją w Twoim zespole. Nawet wiedza uzyskana z lektury tego, co robią duże firmy, może pomóc w ocenie opcji dla następnego projektu, który się pojawi.

Jesteśmy w środowisku, które ciągle się zmienia, a każdy członek twojego zespołu z pewnością wnosi coś wyjątkowego do stołu, więc daj im możliwość rozszerzenia na własnych warunkach. Będą wdzięczni, że nie zostali zmuszeni do czegoś (mimo że wszystkie intencje są dobre), a ty otrzymasz dobrą różnorodność opinii.

Dillie-O
źródło
0

Inną techniką, którą widziałem, jest ta praca, czyli prezentację obiadową od starszego programisty / konsultanta raz na miesiąc. I nie zapomnij podać obiadu. Większość deweloperów, których znam, uwielbia darmowe grube Możesz zapytać ich, czy wolą jakieś konkretne tematy.

SnoopDougieDoug
źródło