Ile czasu poświęcasz na kodowanie? [zamknięte]

Ostatnio myślałem o szacowaniu oprogramowania i mam kilka pytań dotyczących czasu spędzonego na kodowaniu. Jestem ciekaw, jakie są opinie osób, które mają co najmniej kilkuletnie doświadczenie w tworzeniu oprogramowania.

Kiedy musisz oszacować ilość czasu, jaki poświęcisz na pracę nad czymś, ile godzin dziennie poświęcasz na kodowanie? Co zajmuje Pozostałe niekodujące godziny?

Czy uważasz, że spędzasz więcej lub mniej godzin niż twoi koledzy z drużyny kodowania? Czy czujesz jakbyś robił więcej lub mniej pracy niż oni?

Jakie są Twoje warunki pracy? Prywatne biuro, wspólne biuro, pokój zespołowy? Kodowanie samodzielnie czy w parze? Jak twoje warunki pracy zmieniły ilość czasu spędzanego na kodowaniu każdego dnia? Jeśli możesz pracować w domu, czy to pomaga lub szkodzi twojej produktywności?

Jakiej metodologii rozwoju używasz? Wodospad? Zwinny? Czy zmiana z jednej metodologii na inną miała wpływ na Godziny Kodowania na dzień?

Najważniejsze: czy jesteś zadowolony ze swojej produktywności? Jeśli nie, to jaka pojedyncza zmiana miałaby na nią największy wpływ?

Author: Patrick McElhaney, 2008-08-17

9 answers

Jestem programistą korporacyjnym, takim jak Joel Spolsky nazwał "depressed" w kilku podcastach StackOverflow. Ponieważ moja firma nie jest firmą programistyczną, ma niewielki powód biznesowy do wdrożenia wielu środków, które eksperci zalecają firmom angażowanie się w produktywność programistów.

Nie mamy prywatnych biur i podwójnych 30-calowych monitorów. Nasz system kontroli źródła jest bezpieczny dla Microsoft Visual Source. Wystarczy. Z drugiej strony, mogę zrobić wiele rzeczy, które wypełniają z mojego dnia i dodać trochę urozmaicenia do mojej pracy. Zajmuję się analizami biznesowymi, zarządzaniem projektami, rozwojem, wsparciem produkcji, wdrożeniami międzynarodowymi, wsparciem szkoleniowym, planowaniem zespołów i doskonaleniem procesów.

Powiedziałbym, że 85% dnia spędzam na kodowaniu, kiedy mogę się skupić i mam poważne zadanie programistyczne. Ale częściej dostaję około 50% mojego dnia na kodowanie. Jeśli wsparcie produkcyjne (niezwiązane z kodowaniem) jest ciężkie, mogę dostać tylko 15% mojego dnia na kodowanie.

Większość firmy, dla których pracowałem, nie były aktywnie zaangażowane w ocenę zwinnych procesów lub rozwój oparty na testach, ale też nie wykonały dobrej roboty waterfall; większość ich programistów pracowała jak cut-and-paste cowboys z bezczelnością.

Czasami pracuję w domu i z dziećmi, to jest straszne . Jestem bardziej produktywny w pracy.

Moja produktywność jest dobra, ale mogłaby być lepsza, gdyby usunięto czynnik przerywania i koszt przełączania kontekstu mentalnego. Produkcja zarówno wsparcie, jak i koszty zarządzania projektami tworzą tego typu przerwy. Ale oba są niezbędnymi częściami pracy, więc nie sądzę, że mogę się ich pozbyć. To, co chciałbym rozważyć, to restrukturyzacja zespołu, aby ludzie zajmujący się projektami mogli skupić się na projektach, podczas gdy inni mogli blokować przerwy, poświęcając się wsparciu. A potem Zamiana, gdy projekt się skończy.

Niestety, nikt nie chce robić wsparcia, więc inny środek poprawy wydajności Chcialbym byc jednym z nastepujacych:

  • lepsze narzędzia/metodologie testowania w celu przyspieszenia testów jednostkowych
  • lepsze narzędzia analizy biznesowej / umiejętności w celu poprawy jakości nowego rozwoju i ograniczenia jego wkładu w obciążenie wsparcia produkcji
 20
Author: Bernard Dy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-16 22:27:35

Realistycznie, to prawdopodobnie średnio do 4 lub 5 godzin dziennie. Chociaż jego "lumpy" - mogą być dni, w których może być 8 lub 9 godzin.

Ze wszystkich programistów, których znam, ci, którzy piszą kod produkcyjny (w przeciwieństwie do badań) 4 do 5 wydają się być maksimum rzeczywistego kodowania. Jest wiele innych rzeczy, które się dzieją.

I szczerze mówiąc jest dużo zwlekania. Uważam, że to trochę jak writers block. czasami trudno jest zacząć, ale wtedy dobra 2-godzinna sesja to dużo pracy. To tylko wszystkie przygotowania, które musisz przejść, eksperymenty, aby upewnić się, że podejmujesz właściwe podejście. Nieskończona ilość gapienia się przez okno i sprawdzania poczty itp...

 15
Author: Michael Neale,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-16 21:38:59

Pracuję 37,5 godziny w tygodniu.
30 z tych godzin (80%) mam rozliczać naszych klientów.
W rzeczywistości okazuje się, że używam około 60% kodowania na rzeczywistych systemach klientów, 20% eksperymentuje z nowymi technikami i czyta blogi, a 20% marnuje się na politykę biurową i "socjalizację".

Czy jestem z tego zadowolony?
Czy chciałbym móc wpatrywać się w ekran 30 godzin tygodniowo w zadane mi zadania?

No cóż. Ponieważ 20% czasu jest wykorzystywane do doskonalenia się w moim rzemiośle, w 60%, które jest skuteczne kodowanie, prawdopodobnie produkuję więcej niż w 90% mojego czasu, gdybym tego nie robił.
To jeszcze raz, spróbuj wyjaśnić ten fakt wyższym ups ;)

 6
Author: Lars Mæhlum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-16 22:30:51

Cóż, generalnie przychodzę przynajmniej piętnaście minut spóźnienia, Ah, używam drzwi boczne - w ten sposób nie można Zobacz też Po prostu trochę miejsca na około godzina.

...Tak, tylko gapię się na Biurko; ale wygląda na to, że pracuję. Robię to. prawdopodobnie jeszcze godzinę po obiedzie, też. Powiedziałbym, że w danym tygodniu prawdopodobnie zrobić tylko około piętnaście minut prawdziwej, rzeczywistej pracy.

Dla mnie przełączanie między projektami to duża przyczyna zwlekania. Kiedy właśnie skończyłem projekt, Mam tendencję do zwlekania z uruchomieniem kolejnego wymogu przypisanego mi. Mój umysł wciąż czuje się jak w trybie kodowania, ale najpierw muszę oszacować wydatki na stworzenie specyfikacji. Więc muszę przełączyć się z kodowania na dzwonienie do klientów i tym podobne, co jest niewygodne.

To, co pomaga mi najbardziej w byciu produktywnym, to odciąć wszelkie rozpraszanie uwagi w pierwszych godzinach dnia i zacząć od razu od dnia najważniejsze zadanie. Muszę jak najszybciej wejść do wody.

Polecam rzucić okiem na kamień programistów:

Wiemy, że stres upośledza niektóre funkcje poznawcze. Utrata tych funkcji może dokładnie wyjaśnić, dlaczego programowanie jest trudne, i pokazać nam wiele innych możliwości poprawy sposobu, w jaki organizujemy rzeczy. Konsekwencje dotykają języka, logiki i norm kulturowych. Kliknij tutaj, aby zapoznać się ze wstępem...

 6
Author: binOr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-17 00:34:27

Spędzam około 40% mojego dnia na kodowaniu. 40% trafia do niekodujących działań (takich jak walka z naszym szkicowym serwerem kompilacji lub zastanawianie się, dlaczego NUnit nie powiódł się bez komunikatu o błędzie lub próba rozgryzienia, dlaczego nasz kod przestał rozmawiać z serwerem Oracle w dół... takich śmieci). Pozostałe 20% przeznacza się zwykle na zwlekanie lub spotkania.

Czy jestem zadowolony z mojej produktywności? Absolutnie nie. Pracuję 7 godzin/dobę i spędzam z tego ok. 2,5 Wolałabym spędzać 5-6 godzin dziennie na kodowaniu, z tylko godziną poświęconą wszystkim innym rzeczom (niestety, jedna rzecz, która by to zrobiła - że PM przestaje bawić się skryptami budowania każdego dnia-nie zdarzy się). Niestety, ponieważ jestem deweloperem korporacyjnym, kierownictwo nie widzi czasu, który jest marnowany. Ponieważ robię o wiele więcej w tym 40% mojego dnia, niż większość dronów w budynku robi w ciągu tygodnia (w tym PM), myślą, że jestem produktywny.

 5
Author: TheSmurf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-16 21:47:45

@ Bernard Dy: spędziłem prawdopodobnie 30% mojej kariery w firmowych Ustawieniach(nie jestem w tej chwili). Zwykle po jakimś nieudanym (lub nie nieudanym, ale fizzled) pomyśle uruchomienia lub jakimś wypaleniu/zmianie. Jest ok na trochę, miło jest spotkać ludzi z zupełnie różnych środowisk (kto by pomyślał, że prawnicy i aktuariusze mogą być tak zabawne spędzać czas z), ale w końcu, po prostu uważam, że zbyt trudno wstać rano z motywacją (lub po wakacyjnym strachu powrót) - prawdopodobnie z takich powodów jak ty definiujesz (po prostu brak opieki). Ale jego dobre doświadczenie i źródło pomysłów co najmniej. I wszędzie można spotkać genialnych ludzi (nie tylko programistów, którzy są inteligentni - zawsze starałem się szukać, kto prawdziwy mózg stał za biznesem).

Co ciekawe jedyny raz, kiedy ćwiczyłem strict agile / XP był w firmowym otoczeniu - w tym przypadku prawdopodobnie 7 godzin dziennie było realne hands on code ( w parze) - nigdy tak nie byłem wyczerpany po całym dniu. Nie wiem, czy to dobrze, może jestem po prostu leniwy.

 3
Author: Michael Neale,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-17 03:27:08

Aby odpowiedzieć na kilka moich pytań:

Obecny zespół, w którym jestem, wykonuje tylko brutto zadania, więc trudno jest śledzić godziny na dni. Powiedziałbym, że w mojej karierze czas spędzony na kodowaniu wynosi od 25% (głównie zarządzanie) do 85%+ (praca w domu 4 dni w tygodniu, spotykanie się na pół dnia raz w tygodniu). Jeśli jednak miałbym zgadywać, średnia jest prawdopodobnie gdzieś w pobliżu 60%.

Największy wpływ na mnie w czasie spędzonym kodowanie to obecność lub brak spotkań. Kiedy pracowałem nad zwinnymi projektami z wszystkimi w tym samym pomieszczeniu, spotkania miały tendencję do ad hoc i były bardzo krótkie, więc czas spędzony na kodowaniu był bardzo wysoki. Czułem też, że spędzam mniej czasu-czasami dużo mniej czasu-robiąc niekodujące rzeczy, gdy byłem w pokoju zespołowym, ponieważ o wiele łatwiej jest tracić czas, przypadkowo lub w inny sposób, gdy nikt nie ma wyraźnego widoku Twojego monitora. :)

 2
Author: Brad Wilson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-16 23:05:47

Zajmuję się outsourcingiem i w zasadzie koduję cały dzień, mam dwa projekty i nie mam zbyt wiele czasu na zrobienie czegokolwiek innego, co oznacza, że nie mogę wziąć więcej pracy, bo nie mogę nic zakończyć, to jest dobra polityka, powinieneś wziąć tak, jak możesz.

Pamiętaj również, że powinieneś mieć wolny czas i bardzo ważne jest, aby odpocząć, ponieważ jeśli nie będziesz zbyt produktywny. Kluczem jest tu planowanie i dyscyplina.

In my non-coding time I spent it wraz z żoną lubię również wychodzić z miasta i starać się nie myśleć o moich projektach, im bardziej robię tę równowagę, tym bardziej produktywny jestem.

Kiedy nie mam dużo pracy lubię czytać blogi programistyczne, a także lubię studiować programowanie.

I na koniec chciałbym powiedzieć, że IMHO nasz carreer nie powinien być postrzegany jako praca, zamiast tego powinien być postrzegany jako coś fajnego.

 2
Author: Nelson Miranda,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-17 07:34:31

Jestem programistą w dziale R & D pracującym 40 godzin tygodniowo.

Wydaję jak.. 10% mojego czasu faktycznie koduje. W moich niekodujących godzinach najczęściej testuję, oceniam, porównuję i zapisuję wyniki. Spędzam również dużo czasu na pisaniu specyfikacji kodu, który napiszę i na badaniach nad kodem, który napiszę, uczestniczę w spotkaniach brainstorm dla bieżących projektów itp.

Mógłbym powiedzieć, że od moich kolegów (także programistów) to ja koduję większość w tej chwili; ale w zależy, które zadanie pracujemy za każdym razem. Nie określiłbym faktycznie kodowania jako ciężkiej pracy. Jeśli istnieje dobra Specyfikacja, odpowiednie badania i dobre podstawy projektu, kodowanie jest po prostu formality i przebiega prawie płynnie i szybko.

Tutaj mamy dzielone Biuro, z dwoma zespołami. Najczęściej kodujemy sami, rzadko na parze. Moja praca bardzo zmienia czas, w którym kodowałem; w przeszłości spędzałem większość czasu na kodowaniu, bez bardzo dobrego zrozumienia kodowania. Gdybym miał zadanie, natychmiast zacząłbym kodować i ponownie kodować za każdym razem, gdy zdałem sobie sprawę, że zrobiłem coś złego i tak dalej. I to było bardzo nieskuteczne.

Metodologia rozwoju jest teraz gdzieś pomiędzy prototypowaniem a spiralą. Wyraźnie zmienił liczbę godzin I kodu.

Jestem zadowolony z mojej produktywności, związanej z moimi terminami i celami.

 1
Author: Coral Doe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-21 07:33:49