Pierwszą radą, którą ci dam, jest zaakceptowanie faktu, że zarządzanie zespołem jest ważniejsze niż wykonywanie własnych zadań programistycznych. Oznacza to, że kiedy masz 3 juniorów, którzy potrzebują pomocy, Twoim zadaniem jest pomóc nie narzekać na to, jak to odbiera ci rozwój. Prowadząc, często stajesz się przeszkodą na drodze do postępu, jeśli najpierw skupiasz się na własnych zadaniach programistycznych.
Ponadto musisz nauczyć się delegować. Trudno jest powierzyć komuś zadania, kiedy możesz to zrobić łatwo w ciągu godziny, a wiesz, że będą szaleć przez cały dzień. Jednak nigdy nie będą się rozwijać, chyba że dostaną zadania, a ty będziesz pracował w nadgodzinach, gdy twój zespół gra.
Co więcej, nigdy nie naprawiaj cudzego kodu. Powiedz im, co jest nie tak (i dlaczego), i napraw je. Albo wejdziesz w cykl, w którym musisz wszystko naprawić, ponieważ nie poprawia się. Jeśli nie mogą tego naprawić, zastanów się, czy powinni zostać w zespole. Nie pozwól słabym członkom zespołu zostać, ponieważ naprawiasz wszystko, co robią.
Jako ołów możesz stać się złym facetem i przekazywać im nieprzyjemne wiadomości (zarówno w górę, jak i w dół łańcucha). To również pasuje do pracy. Oznacza to, że musisz dokonać słabej oceny wyników; musisz im powiedzieć, że termin został przesunięty w górę lub wymagania uległy zmianie; musisz popchnąć leniwego faceta, który nie robi postępów; i musisz powiedzieć przełożonym, kiedy termin nie zostanie dotrzymany oraz dlaczego i co z tym robisz. Prowadzenie nie polega na byciu lubianym, ale na skuteczności. Twoim zadaniem jest wyciąganie oprogramowania z domu, a nie nawiązywanie przyjaźni. Komunikacja jest kluczowa, a unikanie złych wiadomości ostatecznie pogarsza sytuację. Klient jest o wiele bardziej skłonny poradzić sobie z informacją, że minie jeszcze trzy tygodnie na miesiąc przed uruchomieniem, niż kiedy minie data uruchomienia, a następnie powiesz mu, że potrzebujesz jeszcze trzech tygodni.