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

Zalezy od ktorego miejsca na krzywej Gaussa zaczynaja sie dobrzy programisci. Ew. od tego z kim sie porownuje.

0
WhiteLightning napisał(a):

Zalezy od ktorego miejsca na krzywej Gaussa zaczynaja sie dobrzy programisci. Ew. od tego z kim sie porownuje.

No najlepiej z ludźmi którzy coś robią, nie wiem, może z Carmackiem albo Deanem na początek.

2

Po co dorabiać ideologie i się szufladkować? Przecież przed rekruterami zawsze się udaje, że jest super. A jak ktoś każe Ci cos zrobić to już róźnie bywa (zaczyna się odgrażanie, że umie się to od 2 dni dopiero itp. :P).

Druga sprawa - uważanie się za "dobrego"/"słabego" bez podania skali to jest czysta emanacja ego:

  • Dobry = paCZcie jaki ja jestem dobry, umiem już chyba wszystko w swojej działce. A jak czegoś nie umiem to jest to na pewno coś czego nie muszę (bo to już przesada) / nie powinienem umieć...
  • Słaby = Jestem generalnie zajebisty, ale paczcie - tyle (w znaczeniu że dużo) umiem, a dalej jestem słaby. Nigdy nie będę na tyle dobry żeby być "Dobrym". Jak ktoś sie przy mnie określa "Dobrym" to zaraz go sam ocenie i wtedy zobaczymy...

Taka refleksja :P

2

W pracy nie jestem przykładem dobrego programisty, bo technie to choć jest znośnie, to nie jestem taki profesjonalny jaki powinien być dobry programista. Generalnie to jestem wybredny, a pracę generalnie traktuję jak staż bądź praktyki.

Co doprowadza do tego, że:

  • nie lubię przychodzić do pracy dlatego pracuje zdalnie, pracuje w 2-3 dni czasem po 4h a czasem po 6h
  • nie dbam o reputację, nie chcę być seniorem, dodatkowe 1-3k nie jest warte dodatkowych obowiązków, i jeszcze większej nudy
  • nie lubię poświęcać mego czasu juniorom. Jak widzę, że firma zamiast seniora zatrudnia juniora to dla mnie jest to znak, by spadać
  • lubię od czasu do czasu dostać wymagające zadanie, natomiast wewnętrznie czuję opór do pracy nad super ciekawymi projektami jeśli wiem, że nie mam w nich udziałów
  • wybieram ciekawe projekty za mniejsza kasa zamiast fixować g*wna za dobra

Natomiast prywatnie to mam o sobie bardzo dobre zdanie, bo:

  • mam model, który pozwala mi odpoczywać kiedy chcę (no prawię kiedy chcę) i mądrze inwestować mój czas
  • sam w krótkim czasie potrafię zbudować pełnowartościowe produkty, cieszę się że mogę pracować nad trudniejszymi projektami, "zmieniać świat", i zarabiać na tym hajs
  • uczę się technologii które wg mnie są spoko mimo, że na rynku nie są popularne
2

Nie uważam się za dobrego programistę, bo:

  • Nie przyjęli mnie na staż
  • Nie umiem napisać pełnoprawnej aplikacji webowej
  • Nie umiem korzystać z ORM
  • ...
2

Kiedyś byłem złym programistą, bo pisałem np. malware.
Teraz mogę uznać, że jestem dobry, bo staram się nie szkodzić innym.

0
Czulu napisał(a):

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ść.

Poważnie doktorat jest plusem przy szukaniu pracy? Magister oczywiście w porządku, chyba zawsze lepiej mieć niż nie mieć, natomiast zawsze wydawało mi się, że doktorat to już pójście w trochę inną stronę.

1

Być może masz tzw. syndrom oszusta czy też z ang. "impostor syndrome". Pogoogluj za "impostor syndrome in software development". Na prawdę dużo ludzi ma z tym problem. Jest to połączenie np. pewnych oczekiwań społeczeństwa, że programiści są technicznymi geniuszami oraz ciągły rozwój języków, frejmłorków, narzędzi. Dość szybko można sobie zdać sprawę - jak wiele tak na prawdę jeszcze nie wiemy.

2
Burdzi0 napisał(a):

Nie uważam się za dobrego programistę, bo:

  • Nie przyjęli mnie na staż
  • Nie umiem napisać pełnoprawnej aplikacji webowej
  • Nie umiem korzystać z ORM
  • ...

mimo ze w „moich czasach” bylo latwiej i mialam jako takie umiejetnosci (jak na entry level) to mnie tez nie chcieli na staz w zadnej „prawdziwej” firmie, dopiero janusz zwietrzyl tania sile robocza :) a weba i orm nie umiem do dzis, w tym drugim nawet nie widze wiekszego sensu ;)
cierpliwosci :)

Uwazam sie za dobra programistke, bez wiekszych problemow radze sobie z dowolnymi zadaniami i nie boje sie o zatrudnienie. oczywiscie mam tez swiadomosc moich brakow wynikajacych z niedostatecznej formalnej edukacji, niezbyt wszechstronnej kariery i tez niestety ograniczonego czasu/checi na nowinki nie zwiazane z obecna praca.

1
stackoverflow napisał(a):

Być może masz tzw. syndrom oszusta czy też z ang. "impostor syndrome". Pogoogluj za "impostor syndrome in software development". Na prawdę dużo ludzi ma z tym problem. Jest to połączenie np. pewnych oczekiwań społeczeństwa

Tylko, że może się też tak zdarzyć, że ktoś naprawdę jest słaby. Pytanie, czy Impostor Syndrome świadczy o tym, że komuś się tylko wydaje, że jest oszustem, czy może faktycznie tak jest? Jestem pewien (bo widziałem to w projektach), że w naszej branży jest zatrudnionych całe mnóstwo oszustów, ludzi, którzy nauczyli się podstaw (i to też optymistycznie patrząc, bo w rzeczywistości ludzie często nawet podstaw nie znają) i oszukali pracodawców, że są kompetentni do pisania dużych projektów, które idą na produkcję (pomimo oczywistego faktu, że nie są kompetentni). Może to nie byli świadomi oszuści, może zwykli ignoranci, którzy myśleli, że coś wiedzą, ale efekt jest podobny.

To chyba najlepszy sposób na poradzenie sobie z syndromem oszusta - na uświadomieniu sobie, że większość programistów jest cholernie słaba i że oni również są oszustami. Rynek IT wręcz zachęca do oszukiwania, ponieważ szuka się ludzi z mega wymaganiami, takimi wręcz, że żeby je spełnić, to trzeba trochę oszukiwać (wszelkie to "biegła znajomość", "bardzo dobra znajomość", "doskonała znajomość" w ogłoszeniach -- rzadko kiedy ktokolwiek zna coś "doskonale", więc pracodawcy proszą o to, żeby im kłamać i zawyżać umiejętności).

2

Na rynku liczy się chyba dopasowanie potrzeb a nie to czy ktoś jest dobry czy nie. Zaznaczyłem jak większość że jestem słaby a mimo to kolejna firma wykazuje oznaki zadowolenia. Dziwne. Pracuję w takich technologiach, które dzisiaj nie są trendy mając na uwadze frameworki PHP, ponadto nad kodem samodzielnie a nie tak jak jest w wielu innych firmach w zespole. Większość zaznaczyła tą drugą opcję, jest więc bardzo prawdopodobne że są dobrymi programistami, tylko z psychologicznego punktu widzenia będą zaniżać swoje umiejętności a ta druga grupa z małym doświadczeniem dokładnie na odwrót.

0

Kiedyś, kiedy byłem na bieżąco (poświęcałem minimum 10h tygodniowo) z różnymi jezykami, różnymi frameworkami itp. to tak.
Obecnie mocno odstaję, głównie ze względu na nowinki techniczne. Podszkoliłem się za to mocno w obszarze szeroko rozumianej architektury.

0

Pytanie zadane w tym temacie nie uzyska jednej w pełni obiektywnej odpowiedzi. Dokładnie tak samo jest z wymaganiami na juniora, mida i seniora - wszystko to jest zależne od układu odniesienia i warunków, w jakich pracujemy. Nie ma też skończonej listy tego co dobry programista musi i powinien umieć. Moim zdaniem ważniejsze od tego, jak ja się postrzegam jest to, jak mnie widzą inni. Najlepsi programiści jakich znałem to Ci, którzy też byli przy tym przystępnymi i skromnymi ludźmi, zaś wybujałe ego to droga donikąd.

1

Uważam, że jestem złym programistą, bo jak tylko zegar pokazuje godzinę 16 to wychodzę z biura i zapominam o programowaniu. W domu zamiast zajmować się projektami pobocznymi i rozwojem w branży to gram w gry albo oglądam jak ktoś inny gra na Twitchu albo YouTube. Nic tylko czekać aż obecna firma się skończy i helou witaj bezrobocie na pół roku jak nie dłużej bo tak bardzo do tyłu z nowinkami będę.

1

Oczywiście uważam się za dobrego programistę, inżyniera, bo inaczej zajmowałbym się czym innym. Jak robić coś to należy robić to dobrze. Inna sprawa, że przez lata dochodziłem do takiego przekonania, musiałem się najpierw przewinąć przez kilka firm i sprawdzić się w działaniu. Na pewno nie lubię za to korpo, że tam cholernie trudno ustalić jak naprawdę ci poszło (rozmyta odpowiedzialność, brak przejrzystości). Jeden porządny projekt w małej firmie na pewno dużo mi też uzmysłowił.
Absolutnie odpowiadalność na CVki nie jest wyznacznikiem dobrego programisty. Tak naprawdę tylko najlepsi zatrudniają lepszych od siebie, więc może się zdarzyć, że jesteś wręcz za dobry (Znasz Guya Kawasaki? On opowiada o A-players, B-players, itd). W takiej sytuacji powinieneś się poważnie zastanowić czy na pewno uderzasz do właściwych ludzi? W moim przypadku okazało się, że trzeba się otworzyć na nowe możliwości, poszukać pracy w innym charakterze, zmienić strategię no i udało się. Nie dość, że znalazłem świtną firmę, w czymś ciekawszym niż klepanie aplikacji w Javie to jeszcze mam dobry układ z szefem, a nawet ta praca bardzo rozwinęła moje horyzonty i obecnie mam swój side project za który nigdy bym się nie wziął gdyby nie takie doświadczenie, choć tak naprawdę od dawna „chciałbym to zrobić, tylko  że to niewyobrażalne”. A znaleźć nie było łatwo, wysłałem sporo CVek, ale zainteresowanie było tylko ze strony najlepszych, na rozmowach widać było, że wiedzą czego chcą, jakie jest ryzyko i jakie są potencjalne możliwości. Ci ludzie rozumieli, że rekrutacja to coś więcej niż dopasowanie słów kluczowych i parę pytań o OOP. W takich rozmowach przyjemnie było brać udział. :)
I też nie koniecznie doświadczenie robi dobrego programistę, bo można być początkującym i dobrym, ale w takim przypadku potrzebny jest dobry mentor. I właśnie nasz szef taki jest, on umie wyciągnąć z ludzi talent i z tych mniej i tych bardziej doświadczonych. Oczywiście tylko z ludźmi bez pokory nie da się nic zrobić. Baardo dużo zależy od lidera!

Absolutnie znajomość wszystkich rzeczy na blaszkę to żaden wyznacznik. Szeroka pespektywa, podejście do pracy, umiejętność rozwiązywania problemów, umiejętność działania w grupie, uczciwość i odwaga. To są ważne rzeczy. Jak jesteś DOBRY to żadna znajomość konkretnej technologii nie ma znaczenia, bo umiesz się tego nauczyć w try miga..

0

Czy uważasz się za dobrego programistę?

0 expa komercyjnego

czyli nie :D

0
Skromny Szczur napisał(a):

Uważam, że jestem złym programistą, bo jak tylko zegar pokazuje godzinę 16 to wychodzę z biura i zapominam o programowaniu.

Co ma bycie dobrym programistą do zapominania lub nie o programowaniu po dniu pracy? WTF????

W domu zamiast zajmować się projektami pobocznymi i rozwojem w branży to gram w gry albo oglądam jak ktoś inny gra na Twitchu albo YouTube.

I jak to weryfikuje bycie dobrym lub nie programistą?

Nic tylko czekać aż obecna firma się skończy i helou witaj bezrobocie na pół roku jak nie dłużej bo tak bardzo do tyłu z nowinkami będę.

To też jest oderwane od kwestii bycia dobrym programistą.

0

@Smutny Młot

Rozchodzi się o poświęcanie czasu, a jak wiemy - zazwyczaj im więcej czasu na coś poświęcisz, to jesteś w tym lepszy.

Weź dwie statystyczne osoby i niech jedna z nich programuje 1h dziennie, a druga 3h.

Po roku ta druga będzie o wiele lepsza.

0
WeiXiao napisał(a):

@Smutny Młot

Rozchodzi się o poświęcanie czasu, a jak wiemy - zazwyczaj im więcej czasu na coś poświęcisz, to jesteś w tym lepszy.

g. prawda.

Weź dwie statystyczne osoby i niech jedna z nich programuje 1h dziennie, a druga 3h.

Po roku ta druga będzie o wiele lepsza.

Statystyczne osoby nie istnieją. W tym problem. Dodatkowo lepszość to pojęcie względne.

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