Jak być dobrym programistą

0

No własnie... Jak w tytule.
W wakacje idę na pierwszy staż/prace związanie z Javą czyli generalnie zaczynam swoją "karierę" z programowaniem. W przyszłości mam ambicję być kimś więcej niż tylko zwykłym klepaczem kodu. I właśnie pytanie do tych bardziej doświadczonych. Co znaczy być dobrym programistą? Jak do tego dążyć?

1

niezła moda na jechanie ludziom po szukaniu informacji, jesteśmy na forum dyskusyjnym, kolega chciał pobudzić dyskusję

nie pracuję jako programista, ani nie pracowałem. jestem raczej hobbystą. przede wszystkim potrzebna jest umiejętność poszukiwania informacji oraz rozwiązywania problemów. każdy mindfuck będziesz musiał rozłożyć na czynniki pierwsze i krok po kroku, analizując, przeglądając podobne problemy na stacku, grzebiąc w kodzie - rozwiązać. oczywiście będziesz miał ludzi, którzy w razie utknięcia Ci pomogą, jednak dobrze jest się pokazać jako osoba która jest samodzielna. kolejna rzecz to chęć do nauki. branża bardzo dynamicznie się zmienia, zmieniają się trendy, sposoby. w pewnym momencie poszujesz się bogiem, prędzej czy później dojdziesz do 5 cyfrowych zarobków i będziesz myślał, że jesteś kotem w c****, ale prawda jest taka, że jest się po prostu wyrobnikiem, który dobrze poznał ten brązowy klocek nad którym się rzeźbi w robocie. pamiętaj, że umiesz mało, dopóki tak uważasz, jesteś na dobrej pozycji (efekt krugera-dunninga, zerknij sobie). prędzej czy później zatracisz też miłość do programowania (o ile z nią zaczynasz). podtrzymać ją możesz przez side projecty po robocie, nic tak nie cieszy jak swoje dłubanie. nie zasiedź się za długo na ciepłym stołeczku, często łatwiej zmienić firmę niż doprosić się o zmianę projektu czy podwyżkę. szukając roboty też warto zainteresować się nad czym będziesz pracował a nie tylko nad kasą. klep kod, wnikaj, czytaj, obserwuj ciekawe blogi, twórz coś swojego. oczywiście wszystko z rozsądkiem, poza robotą też trzeba mieć życie.

powodzenia, i oznacz mnie za kilkadziesiąt miesięcy jak dojdziesz do magicznej kwoty :) pozdro i powodzenia

0

jeśli chcesz być kimś wyżej to musisz dostrzegać big picture. ale to z czasem przyjdzie. :)

0

Wydaje mi się, ze przede wszystkim musisz myśleć, analizować, umiec rozwiązywać problemy.
Samo klepanie kodu to pikus, trzeba najpierw obmyślić i zaprojektować jak ten kod wyklepać. (Tak z mojego doświadczenia, ale ja zawsze pracowałam jako samodzielna programistka, nigdy nie dostawałam dokumentacji do zaimplementowania)

0

Wedlug mnie... Najwazniejsze by znalezc odpowiednie srodowisko, ludzi z ktorymi pracujesz, ktorzy beda pobudzac chec nauki i stawania sie lepszym.

2

Pierwsza niezbędna umiejętność, to w miarę optymalne rozwiązanie postawionego problemu w rozsądnie krótkim czasie. Ważna jest świadomość wielu potencjalnych rozwiązań i dobranie z nich najlepszego w danych warunkach. Do tego potrzebna jest otwarta głowa i umiejętność dyskutowania. Nie wolno zafiksowywać się na własnym pomyśle, bo kolega może mieć lepszy (bo np. już kiedyś walczył z tym tematem albo ma w tej bajce większe doświadczenie).
Druga bezcenna umiejętność, która moim zdaniem jest koszmarnie olewana: czytelność kodu. Kod pisze się raz (plus poprawki/refactoring po review), czyta się go wielokrotnie. Oszczędzenie czasu (time to business!) kiedyś zemści się i trzeba będzie ten czas wielokrotnie odpracować. Dobry kod, to taki, który jest oczywisty, gdzie nie trzeba się zastanawiać, o co chodzi w danym fragmencie (po uprzednim poświęceniu dużej ilości czasu na jego znalezienie), sam się tłumaczy, a komentarze są zwyczajnie zbędne. Niestety pisanie takiego kodu wymaga lat doświadczeń (albo upierdliwego, ale bardzo dobrego seniora robiącego review) i nieco więcej czasu na napisanie kodu... A że czas to pieniądz, to krótkowzroczni kierownicy cisną na jak najszybsze dostarczenie funkcjonalności. W perspektywie kilku lat musi to doprowadzić do uwalenia projektu albo do przepisania go na nowo (przerabiałem to na własnej skórze dwukrotnie). Dlatego warto też być asertywnym i umieć wytłumaczyć poganiaczowi, że robi źle.
Przydaje się też cierpliwość (frustrująca praca ze słabym kodem) i umiejętność oraz odwaga do robienia głębokiego refactoringu.

0

Pisać dużo. Pokazywać Twój kod. Na początku będzie nie do przyjęcia. Ale z czasem będziesz pisał kod coraz lepszy. To kwestia doświadczenia i zdobywania wiedzy.

1

Najważniejsza rada :
Generalnie myślę że warto skupić się bardziej na konkretnym obszarze wiedzy, czyli nie januszowy fullstack (chyba że chce Ci się siedzieć 15h /24h nad książkami i kompem), tylko skupić się np. na backendzie albo tylko froncie etc.
Eksperymentować z różnymi technologiami i technikami , nie muszą być to nawet duże projekty, ważne żeby umieć zobaczyć różne sposoby na rozwiązanie danego problemu

0

@ŁF: im lepsi ludzie wokol tym sami jestesmy lepsi

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