7 grzechów głównych programisty

Liczba programistów na świecie wciąż rośnie, niestety tych oferujących wysoką jakość jest niewielu. Co sprawia, że deweloper nie jest w stanie dostarczyć usług dobrej jakości? Zazwyczaj wiążę się to z błędami. Poniżej znajdziesz skondensowaną listę dotyczącą tego problemu.
1. Myślenie, że jesteś niezastąpiony
Wielu przeciętnym programistom wydaje się, że są niesamowitymi programistami. Miałem to samo. Po kilku latach zdałem sobie sprawę, że jest mnóstwo ludzi, którzy są naprawdę niesamowici, lepsi ode mnie, a ja byłem po prostu zbyt pewny siebie.
W momencie, gdy powiedziałem sobie, że mam wiele braków do poprawy i nie jestem tak niesamowity, jak zakładałem, zmienił się mój pogląd na sprawy. Zacząłem uczyć się nowych rzeczy i poprawiam się z dnia na dzień. Chęć uczenia się i przekonanie, że wciąż masz wiele do poprawy, zabierze Cię daleko. Dotyczy to nie tylko programowania, ale także każdej innej umiejętności życiowej.
2. Praca bez szacowania i rekompensowanie nadgodzinami
Wielu programistów pisze kod, nie zważając na czas wykonania prac. Wylewa się poza godziny pracy, zabiera rodzinie czas w weekendy, ogranicza sen, zachodząc do późnych godzin nocnych i tak dalej. Dzieje się tak, ponieważ nie ustalasz terminu zakończenia zadania.
Na przykład, jeśli budujesz moduł, musisz zdecydować „Skończę to w 3 godziny, z 1 godziną dodatkowego bufora”. Jeśli nie skończysz w ciągu 4 godzin, przechodzisz do czegoś innego. Kiedy nie dotrzymujesz terminu, ciągniesz go w nieskończoność. Ponieważ wiesz, że zatuszujesz to pracując w ramach nadgodzin, nie będziesz próbował poprawiać swoich umiejętności szacowania zadań (tzw. estymacji).
Ustaw konkretną godzinę, o której zamkniesz laptopa i włączysz go dopiero następnego dnia. Zaufaj mi, zmusi cię to do ustalania priorytetów i doskonalenia, dzięki czemu staniesz się lepszym programistą.
3. Wahania przed udziałem w heckatonach i zadaniach dla programistów
Programiści często boją się spróbować swoich sił w wyzwaniu związanym z kodowaniem na stronach internetowych takich jak TopCoder, Coderbyte. Przyczyną zazwyczaj jest obawa się, że uczestnicząc w nich, poczują się źle z powodu obnażenia swoich braków.
Nie bądź tchórzem! Poprawisz swoje umiejętności tylko wtedy, gdy będziesz chciał wiedzieć, na czym stoisz, wielokrotnie zawodzić i ponosić porażki. Nic nie tracisz i nikt nie dowie się, jeśli poniesiesz porażkę. Podczas gdy ty rezygnujesz z takiego zadania, inni programiści udoskonalają się, tym samym zostawiając cię w tyle.
Jednocześnie uważaj na niektóre wyzwania programistyczne. Niektóre wyzwania związane z kodowaniem mają śmiesznie krótkie ograniczenia czasowe, co może prowadzić do złych nawyków związanych z kodowaniem. Mogą też mieć do rozwiązania dziwny problem, który nie pomaga w doskonaleniu umiejętności. Nie krytykuj siebie, jeśli nie poradzisz sobie z tymi wyzwaniami. Z biegiem czasu będziesz w stanie odróżnić dobre wyzwanie związane z kodowaniem od złego.
4.Niekorzystanie z optymalnego środowiska, narzędzi i urządzeń
Wielu programistów uważa, że mogą kodować, leżąc na łóżku z laptopem na piersi. Jasne, że możesz, ale twoje umiejętności będą tak dobre, jak twoje lenistwo.
Poza tym, ktokolwiek powiedział Ci, że praca na touchpadzie/klawiaturach w laptopie jest równie szybka jak praca na myszce/klawiatury, nie pracowała z myszką/klawiaturą wystarczająco. Kombinacja myszy i klawiatury jest szybsza, kropka.
Pracując na różnych laptopach, konfiguracjach komputerów stacjonarnych i wszelkiego rodzaju urządzeniach peryferyjnych, mogę zagwarantować, że pisanie kodu siedząc na stole, używając większego ekranu z kombinacją myszy i klawiatury, przyspiesza programowanie, i to znacznie.
5. Brak próby szybszego kodowania
Programowanie to także szybkość. Chociaż ludzie mówią ci, że pisanie dobrego kodu jest ważne, nie ignoruj szybkości. W obecnym świecie czas to pieniądz. Musisz rzucić sobie wyzwanie, aby szybciej kodować, pisać szybciej i używać skrótów swojego edytora. Musisz włożyć świadomy wysiłek, aby zwiększyć szybkość.
Uwaga: nie chcę powiedzieć, że musisz zwiększyć szybkość kosztem jakości kodu. Pisanie dobrego i wydajnego kodu jest ważniejsze niż szybsze kodowanie. Twoim pierwszym celem powinno być pisanie kodu, który generuje wyniki we właściwy sposób. Ale w trakcie szukaj okazji do szybszego załatwiania spraw. W większości przypadków masz możliwość zwiększenia szybkości bez utraty jakości. Ale nigdy nie będziesz w stanie osiągnąć maksymalnej prędkości z najlepszym punktem jakości bez rzucenia sobie wyzwania. Zwiększenie prędkości nie oznacza tylko szybszego pisania. Możesz zwiększyć szybkość programowania, rzucając sobie wyzwanie rozwiązania zadania programistycznego szybciej niż zwykle.
6. Kopiowanie kodu na ślepo
Bez wątpienia wszyscy używamy kodu z Internetu, ze stron takich jak StackOverflow czy z ostatnio popularnego ChatGPT. W rzeczywistości nieużywanie kodu w ogóle nie jest najmądrzejszym pomysłem. Ale czy za każdym razem, gdy używasz jakiegoś kodu, wklejasz go na ślepo i sprawdzasz, czy zadziałał? Cóż, jeśli tak, tracisz okazję do nauki. To za mało, aby tak naprawdę zrozumieć, czy kod, który wkleiłeś można napisać lepiej niż zasugerowano w odpowiedzi.
Powodem, dla którego szukałeś kodu, jest to, że albo nie wiedziałeś, jak to zrobić, albo chciałeś zaoszczędzić czas. Spróbuj zrozumieć kod, którego użyłeś przynajmniej na wysokim poziomie. Nie musisz rozumieć kodu wiersz po wierszu, ale przynajmniej rozumieć zastosowane podejście.
7. Robienie rzeczy w ten sam sposób bez doskonalenia umiejętności
Jeśli zacząłeś od PHP, nadal możesz zbudować dowolną funkcjonalność, korzystając z tego, czego nauczyłeś się w pierwszym roku. Jeśli napiszesz tylko kod, który już znasz lub napisałeś wcześniej, popadniesz w stagnację.
Poruszaj się z nowymi technologiami i stawiaj sobie wyzwania. Wypróbuj inny język programowania, wypróbuj nowe frameworki, poznaj nowe algorytmy, wypróbuj najlepsze praktyki. Stale się ulepszaj.
Spójrz na to tak, 10 lat później, jeśli robisz to samo, dlaczego ktoś miałby ci płacić więcej niż programista z 1-2 letnim doświadczeniem?
Podsumowanie
Powyższy artykuł powstał na bazie moich doświadczeń oraz doświadczeń ludzi o podobnym do mnie nastawieniu. Będę bardzo wdzięczny jeśli rozszerzysz tą listę o swoje propozycje w komentarzach.
Jeśli chociaż jeden punkt uda ci się wyeliminować, to już osiągnąłeś/aś sukces. Życzę powodzenia w kreowaniu lepszego świata IT, bo o to tak naprawdę chodzi.