.woocommerce-product-gallery{ opacity: 1 !important; }5 umiejętności, których potrzebujesz, aby pisać lepszy kod! - Fundacja CODE:ME
0

Małgorzata Łyczywek · 31 styczeń 2024

5 umiejętności, których potrzebujesz, aby pisać lepszy kod!

Wiemy, że po opanowaniu podstaw pozostaje jeszcze wiele do nauczenia. Jako początkujący programiści musicie ciągle rozwijać pewne umiejętności, aby rzeczywiście zmienić ścieżkę kariery i programować zawodowo.

Background image shape5 umiejętności, których potrzebujesz, aby pisać lepszy kod!

Szybko pojawia się pytanie: Co jeszcze muszę opanować?
“Czego jeszcze muszę się nauczyć?” Kiedy sztuczna inteligencja każdego dnia staje się coraz inteligentniejsza, a na rynku pracy nie jest łatwo - co pomoże Ci znaleźć pracę marzeń? Eksperci, rekruterzy, menedżerowie, podkreślają znaczenie miękkich kompetencji jako klucza do sukcesu (nie tylko w karierze programisty). Rozwiązywanie problemów, myślenie krytyczne, komunikacja i empatia to ważne cechy, o których łatwo zapomnieć (choć nie jedyne).
Oto pięć nie-technicznych, a jednak kluczowych umiejętności doświadczonych programistów.

1. EFEKTYWNE LENISTWO

Nie, lenistwo to nie to, czego nauczyli cię rodzice i nauczyciele, mówiąc “nie leń się”. Dlaczego ludzie sukcesu, tacy jak Bill Gates, uważają lenistwo za umiejętność?

Chodzi o rozwijanie swojego zapału do wykonywania bardziej efektywnej pracy. To zdolność do znajdowania sposobów na szybkie i jak najlepsze wykonanie trudnych zadań (ponieważ zwykle jesteś zbyt leniwy, żeby poświęcić im dużo czasu i energii). Lenistwo staje się pociągiem do rozwoju i znajdowania kreatywnych uproszczeń. W tym kontekście lenistwo to pozytywna umiejętność ponieważ nie chodzi o odwlekanie czy znaną wszystkim prokrastynację, ale o większą efektywność.

2. MYŚLENIE ABSTRAKCYJNE

Kod, który piszesz, nie jest namacalny. To, co produkujesz, nie może być obserwowane, zmierzone i skopiowane (przynajmniej podczas rozwoju oprogramowania). Dlatego musisz wykorzystać swoją umiejętność myślenia abstrakcyjnego, aby stworzyć coś konkretnego.

Myślenie abstrakcyjne polega na obserwacji z różnych kątów i na różnych poziomach, aby wyciągnąć analityczne wnioski z tego, co na pierwszy rzut oka wydaje się nielogiczne lub nieprecyzyjne. 

Programista przetwarza dane i wymagania. Jest w stanie władać symbolami, poleceniami i procesami, aby używać kodu jako podstawy, która umożliwia rozwiązanie problemu. Nie tylko odtwarza kolejność manualnych kroków, ale znajduje wzorce, sposoby na ich zoptymalizowanie, czy wynalezienie od nowa.

3. LOGIKA

Twoja wiedza z matematyki, fizyki i programowania stanowi dobry zestaw narzędzi do rozwijania najważniejszej umiejętności programistów: logiki.

Ćwicz ją jak mięsień: gry logiczne, puzzle, gry planszowe, sudoku, czytanie i pisanie. Używaj aplikacji takich jak Lumosity czy Brilliant do rozwiązywania problemów i tworzenia modeli logicznych online. Również rozwijają myślenie warunkowe, którego ogólny model wygląda tak:

if (warunek jest Prawdziwy):
wtedy rób te rzeczy tylko dla "Prawdziwy"
else:
w przeciwnym razie rób te rzeczy dla "Fałszywy"

Background image shape

4. WYTRWAŁOŚĆ

Dni i noce spędzone nad kodem, aby wreszcie działał: który z programistów tego nie zna? Niepowodzenia są nieuniknione i powinny być traktowane jako codzienne narzędzia. Wiele prób uruchomienia projektu, różne podejścia do prób, dziesiątki zagadek do rozwiązania: wszystko to wymaga wytrwałości.

Traktuj błędy jako wyzwania do pokonania, a nie jako znaki twojej porażki. To twoje podejście do zadania jest ważne.

Jak definiuje Anurag Harsh:

"Wytrwałość to zdolność do powrotu po porażce, zdolność do podniesienia się, poradzenia sobie i znalezienia nowej drogi do produktywności i spełnienia, pomimo nieumyślnego niepowodzenia... To przyczynia się do szybkiego podejmowania dobrych decyzji."

Aby rozwijać wytrwałość, musisz pracować nad swoimi starymi nawykami: samokontrola i zmiana sposobu myślenia są kluczem. To trudne zdanie, zajmuje dużo czasu, ale jest tego warte.

5. MYŚL BINARYJNIE

…czyli jak?

Zauważ, kiedy piszesz kod, robisz założenia. To normalne podejście, ponieważ twój zdrowy rozsądek i myślenie abstrakcyjne pomagają jak gdyby automatycznie rozszerzyć funkcjonalność twojej przyszłej aplikacji czy programu, a w konsekwencji, poprawić jego ostateczną realizację. 

Przykład: PM mówi, że klient ma mieć możliwość zakupienia produktu, pojawia się proces - obsługa koszyka, płatności, polecanie innych podobnych produktów.

Ale to, co musisz rozwijać, to zdolność do myślenia jak komputer, co nie oznacza fantazji, nieuzasadnionych założeń czy zarysu zależności.

Podczas programowania wprowadzasz tylko to, co zamierzasz wprowadzić. Komputer nie może dokonać zmian czy dostosowań, których mu nie nakazano. To wszystko musi przewidzieć Twój mózg, który z natury lubi przetwarzać wszystko na raz i umie działać w chaosie. Komputer potrzebuje myślenia złożonego z kroków, które Tobie podpowie myślenie binarne.

Pamiętaj! Nie lekceważ roli umiejętności nie-technicznych w twojej karierze zawodowej. Wiedza techniczna jest koniecznością i przyjdzie z doświadczeniem; ale połączona z empatią, cierpliwością, dbałością o szczegóły i niezależnością, przekształci cię w prawdziwego eksperta.

Powrót