Jak rozwijać umiejętności techniczne w erze sztucznej inteligencji: kompleksowy przewodnik

Narzędzia AI i „kodowanie wibracji” niosą ze sobą ukryte kompromisy. Oto, jak mądrze z nich korzystać i dlaczego oprogramowanie open source to potężna tajna broń.

Programowanie oparte na sztucznej inteligencji na stałe zagościło w naszym życiu. Narzędzia takie jak Cursor , V0 i Lovable znacząco obniżyły barierę wejścia – tworzenie pulpitów nawigacyjnych, procesów, a nawet całych aplikacji można teraz wykonać w ułamku czasu.

Korzystam z tych narzędzi codziennie i zdecydowanie mnie przyspieszyły. Ale wraz ze wzrostem złożoności kodu, kompromisy stają się oczywiste: niejasne błędy, zawiła logika i godziny zmarnowane na debugowanie kodu, którego tak naprawdę nie rozumiem.

Narzędzia AI są świetne – zwłaszcza dla początkujących – ale wiążą się z ukrytymi kosztami. Im więcej zadań powierzasz sztucznej inteligencji, tym mniej masz okazji do doskonalenia swoich instynktów, które wynikają ze zmagań ze złożonością.
Owszem, sztuczna inteligencja przyspieszy Twój przepływ pracy, ale pominiesz etapy kształcenia, podczas których zdobywasz wiedzę techniczną.

„Kodowanie wibracji” – szybkie kompilowanie kodu przy minimalnym planowaniu – świetnie sprawdza się w przypadku dem i eksperymentów. Jednak w przypadku głębszego rozwoju technicznego lub tworzenia systemów o znaczącej złożoności, „kodowanie wibracji” nie wystarczy. Popularny wpis na Reddicie doskonale to podsumowuje: „kodowanie wibracji”, jeśli nie zostanie sprawdzone, stwarza więcej problemów niż rozwiązuje. Ta praktyka może być początkowo pomocna, ale nadmierne poleganie na niej utrudnia zdobycie dogłębnej wiedzy specjalistycznej niezbędnej do tworzenia solidnych i zrównoważonych rozwiązań programistycznych.

W tym artykule pokażę Ci, jak efektywniej korzystać z narzędzi opartych na sztucznej inteligencji – i dlaczego udział w projektach open source może być najbardziej niedocenianym sposobem na prawdziwy rozwój umiejętności technicznych. Udział w projektach open source znacząco wzbogaca praktyczne doświadczenie i pogłębia wiedzę techniczną.

 

Moje doświadczenia z wykorzystaniem automatycznego kodowania z kursorem

Podobnie jak wielu programistów, przeniosłem się z VS Code (z GitHub Copilot) na Cursor i obecnie jestem subskrybentem planu Pro Cursor (20 USD/miesiąc).

Funkcją, z której korzystam najczęściej, jest wbudowany czat oparty na sztucznej inteligencji (AI) Cursora, który pozwala mi na bezpośrednią interakcję z całą bazą kodu . Jego agent potrafi szybko przeszukiwać wiele plików, a nawet obsługiwać obrazy – co jest nieocenione podczas nawigacji po dużych, nieznanych repozytoriach. Automatycznie wykrywa i poprawia błędy składniowe podczas edycji plików.

Na początku Cursor znacznie zwiększył moją produktywność, zwłaszcza w przypadku prostych zadań. Wydawał się potężny, wręcz magiczny. Jednak wraz ze wzrostem złożoności zauważyłem pewne problemy. Cursor czasami generował skomplikowany kod, mylił podobnie nazwane pliki w różnych katalogach, a czasami miał problemy z podążaniem za złożonymi ciągami logicznymi.

Zautomatyzowane kodowanie może wygenerować tysiące linii kodu w ciągu kilku minut – ale bez solidnego modelu mentalnego tego, co tworzysz, ryzykujesz, że skończysz z rozdętymi, przeprojektowanymi systemami. To właśnie eksperci nazywają „antywzorcem” w inżynierii oprogramowania.

Kursor całkiem dobrze zawęża obszar wyszukiwania podczas debugowania. Jednak umożliwienie mu wprowadzania niesprawdzonych zmian prowadzi do większej liczby błędów niż rozwiązań. Doświadczeni programiści powinni zawsze uważnie analizować zmiany sugerowane przez sztuczną inteligencję.

 

Poza standardową radą „pisz lepsze podpowiedzi”, jedną ze strategii, którą uznałem za szczególnie pomocną, jest polecenie Kursorowi, aby nie wprowadzał bezpośrednich zmian. (Jest w tej kwestii zaskakująco posłuszny!)

Zamiast tego, wyraźnie proszę go, aby najpierw zasugerował zmiany w interfejsie czatu. Następnie analizuję każdą sugestię, identyfikuję logiczne modyfikacje i selektywnie je wdrażam – ręcznie lub za pośrednictwem Cursora. W przeciwieństwie do ChatGPT, największą zaletą Cursora jest pełna świadomość kontekstowa całej bazy kodu oraz możliwość parsowania długich plików (ponad 5000 wierszy kodu) poprzez przetwarzanie ich na łatwe do zarządzania fragmenty. Ta funkcja czyni go potężnym narzędziem do poprawy wydajności programistów i redukcji potencjalnych błędów w kodzie.

Wkład w oprogramowanie typu open source

Jak więc zdobyć większą moc techniczną? Istnieją dwa główne sposoby: projekty poboczne i wkład w oprogramowanie open source.

Projekty poboczne to świetny sposób na zgłębianie nowych technologii lub zagłębianie się w coś, co Cię pasjonuje lub interesuje. Zastanawiasz się, jak działają agenci AI lub interesuje Cię MCP? Zbudowanie prostego projektu w weekend nauczy Cię o wiele więcej niż godziny tutoriali i dokumentacji. Dzięki oprogramowaniu open source narzędzia i zasoby są dostępne bezpłatnie, co tworzy równe szanse dla wszystkich. Współtworzenie oprogramowania open source to okazja do rozwoju umiejętności technicznych i zdobycia praktycznego doświadczenia w środowisku współpracy.

Ale projekty solowe mają swoje wady. Łatwo stracić motywację – wiele moich projektów pobocznych nigdy nie ujrzało światła dziennego. Wkład w open source jest często bardziej zrównoważony dzięki wspierającej społeczności i wspólnym celom.

 

Dodatkowo możesz znaleźć się w komorze echa: Twój kod działa, ale nie masz pewności, czy jest zgodny z najlepszymi praktykami lub standardami branżowymi. Jeśli jesteś na początku kariery i brakuje Ci wskazówek, skąd możesz wiedzieć, czy w ogóle jesteś na dobrej drodze?

Właśnie tutaj open source wypełnia tę lukę. Projekty open source nie są tylko dla programistów-magików; są dla każdego. Twoje ulubione biblioteki, takie jak Pandas, Matplotlib, TensorFlow i Keras, w dużej mierze opierają się na zaangażowaniu społeczności. Udział w społecznościach open source to doskonały sposób na rozwijanie umiejętności programistycznych i zdobywanie praktycznego doświadczenia w korzystaniu z ważnych narzędzi i technologii.

 

Po co zawracać sobie głowę tworzeniem oprogramowania typu open source?

Dzięki oprogramowaniu open source możesz mieć realny wpływ, z którego korzystają tysiące programistów – a nie tylko eksperymentalne projekty, które pozostają niezauważone. Zdobędziesz biegłość w kontroli wersji (witaj, GitHubie!), rozwiniesz swoje umiejętności poruszania się po złożonych bazach kodu, poznasz najlepsze praktyki i zbudujesz sieć osób, które mogą Ci zaufać w razie potrzeby. Te umiejętności są niezbędne w tworzeniu oprogramowania i zwiększają Twoje perspektywy zawodowe.

Istnieją również korzyści zawodowe. Wzbogacisz swoje portfolio i markę osobistą, a także przyspieszysz dołączanie do nowych zespołów. Udział w projektach open source świadczy o Twoim doświadczeniu praktycznym i umiejętności współpracy – dwóch cechach bardzo poszukiwanych na rynku pracy.

Ale angażuj się z właściwych powodów. Jeśli Twoją jedyną motywacją jest znalezienie pracy, nie angażuj się! Open source nie jest przepustką do zatrudnienia – wymaga autentycznego zainteresowania i zaangażowania. Świadczy o pasji do tworzenia, a dla wielu startupów, które zaczynają od projektów open source, właśnie w ten sposób znajdują pierwszych pracowników. Firmy poszukują pełnych pasji programistów i aktywnych współtwórców społeczności open source.

Wybierz projekt open source, który Cię interesuje.

Rozpoczęcie może wydawać się zniechęcające. Wiele popularnych repozytoriów ma ogromne bazy danych, potencjalnie nieaktualną dokumentację lub setki nieokreślonych problemów. Jak więc dokonać wyboru?

Po pierwsze, wybierz projekt, który naprawdę Cię pasjonuje. Może się to wydawać oczywiste, ale jest kluczowe – i często niedoceniane.

Wybierz coś, czego już używasz, czy to w pracy, czy w projekcie pobocznym. Zaangażowanie się w nieznany projekt z nieznaną technologią jest po prostu mylące i szybko stracisz motywację.

Osobiście jestem wielkim użytkownikiem i fanem PostHog – platformy analityki produktów zaprojektowanej specjalnie dla programistów – więc zacząłem się tam udzielać. Ich dokumentacja była obszerna i dobrze zorganizowana, co czyniło ją świetnym miejscem na start. (I nie, nie zapłacili mi za to!)

 

Jak możemy pomóc?

Możesz wiele zrobić. Oto metoda, która okazała się pomocna.

  1. Znajdź potrzebną Ci funkcję lub ulepsz coś, z czego korzystasz.
    Skupienie się na funkcjach, które naprawdę Cię pasjonują, zapewnia przejrzystość i motywację. Najlepszy kod powstaje w wyniku rozwiązywania problemów, z którymi osobiście się borykasz.
  2. Skonfiguruj środowisko lokalne.
    Utwórz rozwidlenie projektu, sklonuj je lokalnie i uruchom. Dowiedz się, gdzie znajdują się logi i jak testować zmiany. Poznaj podstawową strukturę projektu i styl kodowania.
  3. Zacznij od małych rzeczy i ucz się poprzez działanie.
    Wiele repozytoriów oznacza zgłoszenia jako przyjazne dla początkujących (np. „dobry-pierwszy-zgłoszenie”). Wybierz te zgłoszenia, aby rozpocząć. Zrozum problem i iteruj; możesz śmiało skomentować, jeśli utkniesz. Otwierając żądanie ściągnięcia (PPR), upewnij się, że Twoje zmiany przejdą wszystkie walidacje i testy.

Nauka poruszania się po bazie kodu jest niezbędna. Nie musisz czytać każdego wiersza – to praktycznie niemożliwe. Gdy zrozumiesz składnię wysokiego poziomu, zacznij działać. Zacznij od małych kroków, aby przyzwyczaić się do procesu tworzenia, publikowania i przeglądania żądań ściągnięcia. Twórz jasne komunikaty i opisy zatwierdzania zmian. Sprawdź ostatnio scalone żądania ściągnięcia, aby znaleźć udane przykłady lub ciekawe dyskusje.

 

م

Wkład w oprogramowanie open source wymaga cierpliwości. Popularne repozytoria są ogromne, a nauka wymaga czasu. Stanie się wartościowym, konsekwentnym współtwórcą zajmuje co najmniej kilka miesięcy, więc nie zniechęcaj się początkowymi niepowodzeniami. Jeśli Twój pull request zostanie odrzucony lub utkniesz na złożonym błędzie, to całkowicie normalne; to część procesu uczenia się.

Jeśli jesteś nowy w świecie open source i chcesz porozmawiać, śmiało się ze mną skontaktuj. Chociaż nie zagłębiałem się tu w szczegóły techniczne (szybkie wyszukiwanie w Google lub ChatGPT może Ci w tym pomóc), mam nadzieję, że to da Ci ogólny obraz na początek. Open source było dla mnie satysfakcjonujące i mam nadzieję, że Tobie również będzie.

 

Możliwość dodawania komentarzy nie jest dostępna.