Czy uważasz się za dobrego programistę? Co dobry programista powinien umieć?

0

Bez wnikania w szczegóły ostatnio jakoś straciłem wiarę w siebie. Nigdy nie byłem wymiataczem, ale wydawało mi się, że to że nie mam obrytej na pamięć każdej funkcji nadrabiam i sprawnym wyszukiwaniem rozwiązań problemów w sieci oraz kreatywnym podejściem - nawet jeśli czegoś nie wiem, to rozbijam na mniejsze etapy albo wymyślam jak to zrobić bazując na tym co wiem. Np. mam task, sam mi się w głowie przerabia na wstępne założenie jak to oprogramować (jakie pętle, co kiedy się powinno robić, jakie relacje w bazie itp.) i tylko jadę ewentualnie rozgryzając zagadki po drodze.

Może niektóre rozwiązania trafiłyby do programistycznych WTF, zwłaszcza gdy coś trzeba było zmajstrować pod presją czasu i np. tylko do jednorazowego użytku (np. jakiś skrypt ma się wykonać raz, zabrać dane z bazy i wrzucić do innej i tyle - żeby skryć się przed deszczem nie trzeba zaraz budować Koloseum, wystarcza sklecić wiatę, byleby dach nie przeciekał ;) Niech pierwszy rzuci kamieniem ten kto nigdy nie pchnął kiepskiego kodu byleby zdążyć :P ), ale za to przez całą karierę (wieloletnią) chyba nie było takiego problemu na którym bym poległ. Zawsze finalnie dostarczałem jakąś solucję, może raz lepszą, może raz gorszą, ale zawsze działającą i zamykającą task zgodnie z założeniami.

W ostatnim okresie zrobiło się jakoś nieciekawie w firmie, zacząłem rozsyłać CV, ale choć niby znam Pythona, PHP, C#, trochę liznąłem Javy - mam szeroki rozrzut, to jakoś już sam nie wiem - czy ja jestem w tym wszystkim naprawdę dobry? Bez podpowiedzi składni i sprawnego szukania w necie oraz na SO to pewnie bym nie poszalał... Na CV-kę odzewu brak, chociaż by ktoś napisał chłopie jesteś cienki. A tak to nie wiem... I to w dużym mieście (KRK) gdy wszędzie trąbią, że robota dla programisty za każdym rogiem. Trochę jak dostać w twarz... kowadłem :/

Uważacie się za dobrych programistów?

Co powinno cechować dobrego programistę? Ważne jest, aby wszystko umiał na blaszkę? Ma znaczenie, czy ktoś umie sprawnie szukać rozwiązań po sieci? W ogóle w korpo można sobie szukać w necie pomocy gdy się trafi na problem? (poluję na korpo, w małym software house jest super póki wszystko się kręci, a gdy przestaje, to nagle staje się to problemem wszystkich od szefa po sprzątaczki i psychicznie ciągnie w dół - nie polecam). Ma znaczenie, że ogólnie raczej prosto wchodzę w czyiś kod, odnajduję się w nawet tych bardziej syfiastych projektach?

Choć mam te x lat, to z uwagi na klęski z CV chcę zejść z mida na juniora, może warto zacząć od nowa i powoli się rozkręcać... CV-kę nie bardzo mogę wrzucić, specyficzne projekty, ktoś by mógł mnie obczaić, a na razie jeszcze robię gdzie robię. Ale raczej tam nie zawaliłem, to nie wina samej CV-ki.

Nie byłem pewny, czy dać to do Kariery, czy do Offtopu, jakby co to przepraszam ;)

3

Pracy w IT dla osób bez doktoratu albo dziesięciu lat doświadczenia z blockachainów, low-latency itp już nie ma i nie będzie. Programsitom wydawało się że są geniuszami bo mało kto potrafił programować, a prawda jest taka że nikomu się nie chciało tego uczyć, ale jak plebs zwęszył kasę to eldorado się skońcczyło. Typowe crudy do obsługi procesów korpo czy sklepu online z pizza klepią teraz socjolodzy i inżynierownie budowictwa z ukońconym bootcampem za 3500 zł miesięcznie, można się rozejść.

14
Czulu napisał(a):

ale jak plebs zwęszył kasę to eldorado się skońcczyło. Typowe crudy do obsługi procesów korpo czy sklepu online z pizza klepią teraz socjolodzy i inżynierownie budowictwa z ukońconym bootcampem za 3500 zł miesięcznie, można się rozejść.

7 grzechów głównych. Pycha.
Pycha kroczy przed upadkiem.

1

Jezus upadł aż trzy razy i dał radę!

4

Nie wiem ile lat programujesz, ale bazując na tym co napisałeś, jesteś w stanie rozwiązać wiele problemów, ale nie wiem czy rozwiązujesz je dobrze pod kątem architektury.

Sam kiedyś też robiłem cuda wianki, ale gdy przyszło co do czego to się okazało że wiecznie budowalem te wiaty, a gdy przyszło do budowy Koloseum to runelo dosyć szybko. Z czasem zacząłem dostrzegać fakt, że im większa wiedze się posiada tym więcej człowiek się zmaga z architektura niż z kodem.

Zasady kiss/dry i solid połączone tworzą Kapitana Planetę.... Ups.. :) tworzą na serio ładne zestawienie, a którym masz prosty kod i bardzo mało miejsc na błędy. Poza tym dobrze zaprojektowane appki łatwiej też debugowac, a tym bardziej testować.
No i właśnie o tym nie napisałeś, czy stosujesz dobre praktyki, czy testujesz swój kod.

Słysząc Twoja historie o tym jak masz w firmie, odnoszę lekkie wrażenie JanuszSoftu. Może się mylę, wtedy wyprowadz mnie z błędu, ale pamiętaj by nie bać się wyjsc spoza strefy komfortu. Nawet małe ryzyko, da Ci więcej radości z życia i pracy.

2
Jędker Pesymista napisał(a):

Ważne jest, aby wszystko umiał na blaszkę? Ma znaczenie, czy ktoś umie sprawnie szukać rozwiązań po sieci? W ogóle w korpo można sobie szukać w necie pomocy gdy się trafi na problem?

Na pewnym poziomie zaczynają się problemy, dla których nie znajdziesz rozwiązania w sieci (bo np. nikt wcześniej tego nie próbował, a przynajmniej nie pozostawił śladu w Internecie). A później musisz rozwiązywać takie, dla których w sieci zaczynasz znajdywać odpowiedzi: że się nie da czegoś zrobić (że na przykład biblioteka X jest niekompatybilna z biblioteką Y albo systemem Z).

0

0

Czy uważasz się za dobrego programistę?

Dobra ankieta. Odpowiadając: nie, ponieważ uważam się za zupełnie przeciętnego programistę. Nawet nie inżyniera, a wręcz rzemieślnika. No i wiele popularnych na rynku pracy technologii zwyczajnie mnie nie interesuje.

6

Ja sie uwazam za dobra programistke, mimo ze codziennie ucze sie czegos nowego (a moze wlasnie dlatego?).
IMO, nie jest tak, ze dobry programista musi wszystko umiec - to jest po prostu niemozliwe przy tak preznie rozwijajacej sie technologii (nowe narzedzia, biblioteki, frameworki, best practices, etc).

Uwazam, ze dobrego programiste cechuja np: umiejetnosc opracowania rozwiazan dla skomplikowanych problemow- wiec i umiejetnosc analizy, umiejetnosc skutecznego wyszukiwania informacji, umiejetnosc szybkiego uczenia sie, stosowanie dobrych praktyk, dbalosc o czytelnosc / czystosc kodu, umiejetnosc opracowania dobrej architektury dla rozwiazania, zorientowanie na detale, zdolnosc do adaptacji (w przypadku zmiany wymagan, etc).
TO pierwsze co mi do glowy przychodzi, ale pewnie mozna by jeszcze troche rzeczy dopisac :)

1

7530235.3.jpg
Uważam się za brzydkiego. Pocieszcie mnie piękne panie.

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