W moim obecnym miejscu pracy nie mamy żadnych testerów, uzasadnienie ze strony kierownictwa brzmi: „gdybyśmy mieli testerów, w ogóle nie testowalibyście własnego kodu”. Tego rodzaju myślenie wydaje się być szkodliwe dla jakości produktu, ponieważ podczas testowania własnego kodu jest wiele rzeczy, za którymi będę tęsknił tylko dlatego, że znam system na wylot i nie wiem, jak go używać To błędne". Testowanie czarnej skrzynki tak naprawdę nie działa, ponieważ podświadomie unikam pułapek, w które wpadłby dedykowany tester. Dużo czasu poświęcam na naprawianie błędów, które zostały wprowadzone do kodu produkcyjnego i znalezione przez użytkownika końcowego.
System, o którym mowa, jest duży, ale został opracowany wyłącznie przeze mnie. Spowodowało to również, że niektóre obowiązki zarządcze spadły mi na kolana, takie jak definiowanie harmonogramów i praca nad specyfikacjami.
Czy takie zadania powinny być moją odpowiedzialnością? Uważam się za programistę i nic więcej. A jeśli to moja odpowiedzialność, w jakim stopniu? Kiedy projekt jest tak duży, że wymaga testerów? Czy programista powinien dopracować specyfikację, martwić się o zarządzanie projektem, a nawet zapewnić obsługę klienta?
Uwaga
Niektórzy mogli odnieść wrażenie, że jestem przeciwny rozszerzaniu moich obowiązków - tak nie jest, chętnie dostanę rolę, która wymaga większej liczby obowiązków kierowniczych, ale obecnie nie ma tego w opisie mojej pracy. Dopóki nie będę oficjalnie zatrudniony jako taki lub dopóki dodatkowe obowiązki nie zaczną się pojawiać w mojej wypłacie, będę uważał się za „po prostu” programistę. Niestety, jako młodszy programista, przejście do obowiązków kierowniczych nie nastąpi wkrótce.
Jak dotąd doskonałe odpowiedzi, zachęcaj je, jeśli chcesz coś dodać lub podzielić się osobistymi doświadczeniami!