Jako programista, czy obchodzi Cię, jakiej metody używa proces programowania?

14

Jestem na rynku pracy i mam zestaw priorytetów dla mojej następnej pracy, w tym wynagrodzenie, branżę itp. Jedną z rzeczy, których nigdzie nie ma na mojej liście wymagań, jest metodologia procesu rozwoju. Czuję, że moim zadaniem jest tworzenie oprogramowania i widzę strukturę procesu jako coś, co mogę dostosować do tego, czy jest to scrum, wodospad czy cokolwiek innego.

Czy metodologia procesu rozwoju jest dla Ciebie priorytetem?

Chuck Stephanski
źródło
8
Zależy od tego, ile masz cierpliwości i czy chętnie cierpisz głupców.
dietbuddha

Odpowiedzi:

21

Jest to dla mnie ważne tylko w zakresie, w którym nie przeszkadzam zdrowemu rozsądkowi, który, jak mamy nadzieję, będzie miał większość profesjonalistów.

Kiedy mówimy o kontroli wersji, istnieje argument, że any version control beats not having anything at allnie jest tak w przypadku metod programistycznych. Metody oznaczają reguły, a reguły czasami są łamane. Pracowałem dla firm, które robią naprawdę głupie rzeczy, o ile ktokolwiek pamięta, bez względu na to, jaki problem głupia procedura leczyła dawno temu.

Chcę od firmy:

  • Wyraźnie udokumentowane procedury mieszczące się na kilku stronach. Jeśli będę musiał przeczytać rozprawę lub (co gorsza) powieść, aby nabrać tempa, na długo się zgubię.

  • Dowody na to, że firma jest otwarta na zmiany procedur na lepsze. Muszę być w stanie podejść do kogoś i powiedzieć: „Zdaję sobie sprawę, dlaczego robisz [xyz], ale istnieje narzędzie, które teraz robi dla ciebie większość. Czy możemy go użyć?”

  • Mała konkurencja może być dobra i często jest nieunikniona. Ale unikam każdego sklepu, w którym konkurencja jest głównym sposobem motywowania ludzi. Jeśli skodyfikowałeś coś, co wysyła liczbę linii zatwierdzonych dziennie przez programistę do drukarki laserowej o 17:00, nie chcę dla ciebie pracować.

  • Jeśli nie uniemożliwiłeś kompilacji w błogosławionych repozytoriach otrzymywania zmian, które psują kompilację, działam jak cholera. Ostatnią rzeczą, którą chcę zrobić o 5:00, jest wprowadzenie zmian z głównego repozytorium, aby przetestować moją lokalną kompilację, ale tylko po to, by naprawić czyjś średnik.

  • Wolę wskakiwać na metody, które przypominają ustaloną metodę, która spadła z drzewa zwinnego. Nie jest to obowiązkowe, ale poczucie znajomości pomaga przezwyciężyć początkowy garb próbowania produktywności bez popełniania błędów proceduralnych.

Jeśli widzę, że spędzę więcej czasu na rozgoryczeniu procedur niż na wdzięczności za ich istnienie, prawdopodobnie przekażę to zadanie.

Drugi brzmi „o nie, nigdy więcej!” to „Mamy nadzieję, że wprowadzisz dla nas również najlepsze praktyki. Mamy sześć milionów linii kodu i 21 telepracowników, czy powinniśmy używać SVN czy coś takiego?” .

Ktoś może się przy tym zabawić. Nie jestem tym facetem :)

Tim Post
źródło
Bardzo podoba mi się twoja pierwsza kula. Mógłbym nawet umieścić taką wersję w liście motywacyjnym.
Chuck Stephanski
2
+1 - Dobra odpowiedź! Naprawdę każę mi myśleć o ciągłej integracji i automatycznych kompilacjach.
jmort253
10

Jako programista dbam o to, aby proces programowania był rozsądny. Szereg różnych metodologii rozwoju może zapewnić rozsądny proces rozwoju. Z drugiej strony załamana firma może zapewnić szalony proces bez względu na to, jak to nazywają.

Dlatego nie dbam szczególnie o ich oficjalną „metodologię rozwoju”. Jednak nadal będę o to pytać po prostu dlatego, że daje mi kontekst do zadawania dalszych pytań, aby dowiedzieć się, co naprawdę robią.

btilly
źródło
4

Tak, widziałem słabe metodologie, których nie sądzę, że chciałbym powtórzyć. Jako kilka przykładów zastanów się nad tym: czy pasowałbyś do stylu kowbojskiego dla zespołu kilkunastu programistów, w którym każdy może korzystać z własnej kontroli źródła, konwencji kodowania itp.? Wiem, że nie. Co powiesz na to, gdzie zmienić wiersz kodu, jest kilkanaście formularzy do wypełnienia i około 20 podpisów, by zatwierdzić zmianę produkcji, która może potrwać tygodnie, ponieważ podpisanie przez kierownictwo wyższego szczebla może trochę potrwać? „Cokolwiek” pozostawia mi trochę zbyt otwartą opinię, ale może jestem tu trochę cyniczny.

JB King
źródło
1
Wygląda na to, że nie tyle „ ta metodologia jest OK, że się nie zgadza”, ale raczej kwestia „jakiejkolwiek metodologii używają, nie można jej wdrożyć w całkowicie dysfunkcyjny sposób”. W każdym razie tak właśnie się czuję.
Carson63000,
Naprawdę? aby zmienić wiersz kodu, musiałeś przejść przez tyle zatwierdzeń? rozumiem najwyżej dwa.
Aditya P
Hmmm ... zakładając całkowicie dysfunkcjonalną biurokrację, mogę dość łatwo dostać się do 20: faktycznego dewelopera, faktycznego testera, faktycznego eksperta ba i tematyki, faktycznego architekta, faktycznego dba, lead dev, lead testera, analityka biznesowego, kierownika zespołu programistów , kierownik zespołu dba, kierownik zespołu testowego, kierownik infrastruktury, kierownik działu pomocy technicznej, kierownik zespołu biznesowego, kierownik biznesowy, właściciel podsystemu, właściciel systemu, kierownik kontroli zmian i facet, który faktycznie wdraża zmianę. (Oświadczenie: Nigdy nie musiałem pracować w takim środowisku - nigdy bym tego nie chciał! Ale mogę sobie wyobrazić, jak to się może zakorzenić…)
Bevan
3
@Bevan - To brzmi jak koszmar.
jmort253
4

Jako programista nie mam nic przeciwko, która to metodologia jest właściwa, pod warunkiem, że jest to właściwa metodologia.

Na przykład nie chciałbym pracować dla firmy, która zajmuje się „kodowaniem kowbojów” , zwłaszcza jeśli są na tyle ignorantami, by myśleć, że faktycznie pracują zwinnie .

vartec
źródło
+1: Jestem prawie zmuszony do kowbojskiego stylu kodowania i naprawdę nie chcę tego w pracy. Jest zbyt chaotyczny i naprawdę czuję, że mnie powstrzymuje.
IAbstract
2

Wolę miejsca, w których opracowano metodę programowania, którą każdy może śledzić.

JeffO
źródło
... lub ... może metoda rozwoju ... na piśmie
IAbstract
1

Pracowałem na stanowiskach, które były bardzo frustrujące ze względu na wybory procesowe stosowane w rozwoju i działalności gospodarczej w ogóle. Obecnie mam minimalne wymagania dotyczące procesu. Każda firma, która się w nie nie angażuje, uważam za kiepsko prowadzoną i dla której nie będzie działać. Nie mam cierpliwości na idiotyzm, który kiedyś miałem, więc ratuję siebie i ich wielu zaostrzenie, pomijając te prace.

dietbuddha
źródło
1

Tak długo, jak mamy pozory rozsądnych wymagań, jakiegoś przedstawiciela biznesowego, który jest zaangażowany i reaguje, i rozumie, że zespół deweloperów ma duży wpływ na ramy czasowe, to jestem szczęśliwy i mogę zmieścić się w czymkolwiek.

ozz
źródło