Dorównianie poziomem do innych programistów

0

Cześć
Od prawie roku jestem programistą. Wrzucono mnie do utrzymaniowego kodu napisanego w starych technologiach i który jest spaghetti. Starałem się samorozwijać po godzinach ucząc się nowych technologii (typu JUnit, REST, TDD, Jenkins) i robiąc swoje projekty. Chcę zmienić pracę, bo powoli ten projekt mnie nudzi. Z drugiej zaś strony mam wrażenie, że mam gorszą wiedzę niż junior o podobnym stażu pracy. I tutaj chciałbym się Was zapytać jak można spróbować dorównać do poziomu innych programistów, bo nie chcę być gorszy, a mam wrażenie że niewiele umie?

1

Po pierwsze nie porównuj się do innych aż tak, porównuj sie sam ze sobą. Oczywiście jesli będziesz 10 razy wolniejszy niż osoby z podobnym stażem to możesz się trochę martwić ale nie sądze żeby było tak źle ;]
Po drugie musisz zmienić prace. Rozwój po godzinach jest OK, ale nic nie zastapi dobrego zespołu w pracy :) Z jakiego miasta jesteś?

0
Pijany Jeleń napisał(a):

Cześć
Od prawie roku jestem programistą. Wrzucono mnie do utrzymaniowego kodu napisanego w starych technologiach i który jest spaghetti. Starałem się samorozwijać po godzinach ucząc się nowych technologii (typu JUnit, REST, TDD, Jenkins) i robiąc swoje projekty. Chcę zmienić pracę, bo powoli ten projekt mnie nudzi.

Na dłuższą metę zmiana pracy (czy chociaż projektu, jeśli firma prowadzi kilka) będzie pewnie konieczna. Ale zawsze można spróbować zmienić projekt od wewnątrz. W mojej pierwszej pracy dostałem do rozwijania michę spaghetti z gównem. W projekcie nie stosowano nawet systemu kontroli wersji - to ja go, jako junior, wprowadziłem (był to jeszcze SVN). Testy jednostkowe były niemożliwe do napisania, ale z biegiem czasu wyizolowałem kluczowe punkty programu, opakowałem je fasadami i zrobiłem zestaw testów pseudo-jednostkowych. Były oparte o silnik unit testów (NUnit), ale tak naprawdę testowały program na zasadzie end-to-end. Lepsze to niż nic. Napisałem nawet generator takich testów, który był w stanie stworzyć test na podstawie zadanych plików wyjściowych. Programista musiał tylko dopisać asercje, co ma być na końcu.

Podleczenie źle napisanego kodu jest bardzo żmudne, ale też może być bardzo edukacyjne. Sporo nauczyłem się na błędach, które przy tym popełniłem. Oczywiście wiele zależy, czy jesteś w stanie przekonać szefostwo, że warto zainwestować w to czas. Kluczowy priorytet - działać drobnymi kroczkami.
Jak mawiają Anglicy, nie odgryzać więcej, niż możemy przeżuć. Na wielkich refaktoryzacjach wykładają się nawet kozacy. Ale różne aspekty da się poprawić stopniowo, i to jest cenna lekcja. One inch at a time :)

Z drugiej zaś strony mam wrażenie, że mam gorszą wiedzę niż junior o podobnym stażu pracy.

Trudno odpowiedzieć nie wiedząc, dlaczego masz takie odczucia? Jak objawia się twoja gorsza wiedza, z kim się porównujesz? Czy chodzi o juniorów pracujących przy tym samym projekcie? (Który, jak rozumiem, wymaga raczej zaciśnięcia zębów, niż wiedzy, więc nie jest najlepszym polem dla takich porównań...)

0
Pijany Jeleń napisał(a):

Cześć
. I tutaj chciałbym się Was zapytać jak można spróbować dorównać do poziomu innych programistów, bo nie chcę być gorszy, a mam wrażenie że niewiele umie?

Ja tam nie widzę nic złego w tym, żeby być gorszym programistą od innych o ile cały czas człowiek stara się dorównać tym lepszym, czerpać od nich wiedzę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1