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

0

Dobrego? Pff nieskromnie pisząc uważam się za najlepszego programistę.

0

Gram JOATem - więc w sumie jestem średnim programistą, za to w całkiem wielu językach.

Jack of all trades, master of none, but better than a master of one

1
Smutny Młot napisał(a):
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.

g. prawda, ponieważ?

1

To prowadzi do ciekawego etycznie dylematu - skoro większość w ankiecie nie uważa się za dobrych programistów (dla jasności załóżmy że nie oznacza to że uważają się za zajebistych devów) to dlaczego dalej siedzą w IT?

Dla kasy? Dla samorozwoju za pieniądze pracodawców? Skoro nie jestem dobry to jak potrafię podejmować ryzyko tworzenia architektury i rozwiązywania problemów? No chyba że to nie moje ryzyko a mojego klienta a ten jest na tyle głupi że mogę swój nieprofesjonalizm testować na nim za jego pieniądze.

Wychodzi na to że sytuacja podobna jest do tej z budowlanki - sami fachowcy za 100 zeta od godziny a jak przychodzi do zrobienia czegoś więcej niż kładzenie cegły na murze to nagle 90% ma terminarz zajęty do przyszłego stulecia :) Skoro sami mówimy że nie jesteśmy dobrymi fachowcami to co jeszcze robimy w tej branży?

0

Wolę osoby, które są w stanie skromnie stwierdzić, że mają jeszcze wiele do nauczenia, niż takie, które twierdzą, że osiągnęły już kres swojej wiedzy.

0

Technologie ciągle się rozwijają i pojawiają się nowe. Wiem, że niewiele wiem, jednak uważam się za dobrego programistę - dlatego, że kręci mnie to i że po prostu idę tą ścieżką.

Wszystko w swoim czasie.

0
dualjack napisał(a):

Wolę osoby, które są w stanie skromnie stwierdzić, że mają jeszcze wiele do nauczenia, niż takie, które twierdzą, że osiągnęły już kres swojej wiedzy.

Ktoś, kto jest dobry, nigdy tak nie pomyśli.

1

Tak - uważam się za dobrego programistę. Ale tylko dlatego, że pozwalam sobie na własną, uszczegółowioną interpretację Twojego pytania, w której są programiści beznadziejni, kiepscy, przeciętni, dobrzy, bardzo dobrzy i wybitni i jednocześnie sam dobuduje sobie w głowie co mniej więcej uważam, że powinno być wyznacznikiem określonego poziomu. Tak spłaszczone rozpatrywanie tematu jak w Twojej ankiecie nie ma większego sensu bo odpowiedź jest tak szeroko interpretowalna, że prawie nic nie wnosi. Przynajmniej jeśli nie uszczegółowisz co według Ciebie kryje się za każdą z odpowiedzi. A przy okazji sam o to pytasz...

Takie zero-jedynkowe pytanie przypomina pytanie typu "Czy umiesz programować w języku X". W moim przypadku tym X może być Python, którego de facto ledwo liznąłem - raz musiałem przerobić oraz dopisać nowe funkcjonalności do systemu, który łączy Pythona z MySQLem i Sparkiem, aby co pewien czas w optymalnym czasie wyciągnąć kilka TB danych z MYSQLa i zbudować nowe struktury danych, które potem ładowane są do innego systemu bazodanowego + parę bardzo drobnych zastosowań produkcyjnych. Niby przynajmniej jedno niebanalne zastosowanie, ale na ostatnie 4 lata miałem w sumie może miesiąc styczności z Pythonem. Jakby mi zadał powyższe pytanie kumpel wykładowca fizyki czy koleżanka socjolożka to bym odpowiedział, że umiem programować w Pythonie bo dla nich liczy się, że coś umiem "wydłubać". Jakby mnie zapytał manager szukający developerów Pythona to mając 0-1 możliwości odpowiedzi, zostałoby mi odpowiedzieć, że nie umiem bo prawdopodobna interpretacja odpowiedzi pozytywnej oznaczałaby np: "zrobi mi w optymalnym czasie, złożoną, porządnie zakodowaną apkę w Django". Jak nie znałbym, przynajmniej w przybliżeniu, oczekiwań pytającego to równie dobrze przy odpowiedzi mógłbym rzucać monetą.

Tak samo jest w kwestii dobry/zły programista. Bez kontekstu i najlepiej dorobienia większej gamy "odcieni" odpowiedź niewiele wnosi.

Jędker Pesymista napisał(a):

Co powinno cechować dobrego programistę? Ważne jest, aby wszystko umiał na blaszkę?

Wszystko na blaszkę? Jeśli w ogóle jest ktoś kto myśli o sobie, że posiada taką wiedzę to jest raczej złym, zadufanym w sobie lub bardzo niedoświadczonym programistą. Znajomość języka (struktur danych, instrukcji sterujących, popularnych funkcji bibliotecznych), to zaledwie kropla, może nie w morzu, ale co najmniej w "lokalnym bajorku" wiedzy, którą można uznać za "całość". Gwarantuję Ci, że obecnie to nawet nie jesteś w stanie wykuć na blaszkę zastosowań Twojego głównego języka programowania razem z pomocniczymi technologiami/bibliotekami/frameworkami, które są najbardziej optymalne do wykorzystania w tych zastosowaniach. Programista, który jest co najmniej dobry, umie przede wszystkim wykorzystywać dostępną wiedzę do w miarę sprawnego rozwiązania niebanalnych problemów. Zdobyć wymagane umiejętności, konieczne do rozwiązana problemu, jeśli jeszcze ich nie posiada. Umieć się zaadaptować do każdych rozsądnie zbudowanych wymagań

1

To coś z mojego podwórka:
jest projekt, który rozwijam przez 3 miesiące. Przychodzi junior i przez następne 8 miesięcy programuję za siebie i za niego - bo żadnego zadania nie potrafi skończyć. Junior idzie do innego projektu i po kilku miesiącach na scenę wkracza senior. Prometeusz przynosi zespołowi (ja+on+product owner na pół etatu) SCRUMA. Jesteśmy ocaleni, męka i cierpienie się skonczyły. Horyzont czasu skraca się do 2 tygodni. I tak sobie patrzę jak od kilku miesięcy tworzy kolejne dema. Co dwa tygodnie ogłasza, że już skończył i nie ma co robić. Za pierwszym razem product owner potwierdził, że wszystko jest ok i wrzucamy to na produkcję. Zwróciłem uwagę, że przecież nic nie zapisuje się do bazy danych. Aby było szybciej i łatwiej, zapisywał wszystko do lokalnej pamięci przeglądarki. Po burzliwej dyskusji zespół zgodził się, że jednak powinniśmy zapisywać dane do bazy (ktoś przecież może zalogować się na innym komputerze i straci wszystko co robił przez np. pół godziny). Zaczął więc zapisywać, w tabeli pojawiły się dwa pola: id i drugie z jsonem. To się nazywa optymalizacja: zamiast kilku tabel - jedna, I jedno pole nvarchar(max) zamiast wielu pól o różnych, dziwnych typach. I zamiast nieznanego orma, nowiuteńkie Entity Framework.

I tak się zastanawiam, dlaczego programista uważany w firmie za dobrego tworzy pliki po 10k linii kodu. I myślę sobie, że jesteś dobry bo ktoś techniczny/nietechniczny tak Ciebie nazwał. Uważasz się za dobrego bo nie spotkałeś nikogo lepszego. Albo spotkałeś i wypierasz to teraz ze świadomości by nie czuć dyskomfortu.
Takie nieprzyjemne myśli, że zadanie które aktualnie robisz już drugi tydzień, ktoś inny zrobiłby w 3 godziny. Że przez dwa ostatnie tygodnie siedzisz nad problemem którego nie ma.
Bywam dobrym programistą chyba że aktualnie jestem naciągaczem (dostaję pieniądze bo pracodawca daje się nabierać). Taki zawód - notoryczny wynalazca koła...

0

Takie nieprzyjemne myśli, że zadanie które aktualnie robisz już drugi tydzień, ktoś inny zrobiłby w 3 godziny. Że przez dwa ostatnie tygodnie siedzisz nad problemem którego nie ma.
Bywam dobrym programistą chyba że aktualnie jestem naciągaczem (dostaję pieniądze bo pracodawca daje się nabierać). Taki zawód - notoryczny wynalazca koła...

Słyszałeś o czymś takim ja zaciąganie długu technicznego. ?
Jeśli zamiast udostęniać, wymieniać się własnymi utilsami, bibliotekami. Wy robicie zawody kto szybciej kto lepiej, kto senior, kto junior. No to wszycy jesteście słabi w tej firmie...

1
WeiXiao napisał(a):
Smutny Młot napisał(a):
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.

g. prawda, ponieważ?

Bo kolega kolegi zna gościa, który ma kuzyna, którego dziewczyna pracowała z gościem, który zna laskę, która w pracy słyszała, że jakiś koleś koduje od roku, ale jest zapaleńcem i umie więcej niż typowi architekci ;)

0

Bo kolega kolegi zna gościa, który ma kuzyna, którego dziewczyna pracowała z gościem, który zna laskę, która w pracy słyszała, że jakiś koleś koduje od roku, ale jest zapaleńcem i umie więcej niż typowi architekci ;)

Też jestem Architektem, mam na to certyfikat ukończyłem kurs "Modelowanie dziedziny systemu" prowadzony przez Jarosław Ż

Zakres kursu to Analiza i modelowanie logiki biznesowej systemu: tworzenie modelu dziedziny, elementy biznesowe i architektoniczne komponentu Model wzorca MVC. Notacja UML/diagram klas/maszyny stanowej.

Wraz z kursem odbyłem 3 godzinną praktykę.

0
Krwawy Rycerz napisał(a):

Też jestem Architektem, mam na to certyfikat ukończyłem kurs "Modelowanie dziedziny systemu" prowadzony przez Jarosław Ż

Zakres kursu to Analiza i modelowanie logiki biznesowej systemu: tworzenie modelu dziedziny, elementy biznesowe i architektoniczne komponentu Model wzorca MVC. Notacja UML/diagram klas/maszyny stanowej.

Wraz z kursem odbyłem 3 godzinną praktykę.

Fajnie, na kurs autopromocji jak widzę też się załapałeś, tylko co to ma wspólnego z tematem? Zakładka "Praca" - drugi link na prawo od linka "Forum" (tak gdybyś nie mógł znaleźć ;-) )

0

No z tym, że nigdy nie programowałem zajmuje się tylko modelowaniem.

0
Marcin Kula-Bukowski napisał(a):
Krwawy Rycerz napisał(a):

Też jestem Architektem, mam na to certyfikat ukończyłem kurs "Modelowanie dziedziny systemu" prowadzony przez Jarosław Ż

Zakres kursu to Analiza i modelowanie logiki biznesowej systemu: tworzenie modelu dziedziny, elementy biznesowe i architektoniczne komponentu Model wzorca MVC. Notacja UML/diagram klas/maszyny stanowej.

Wraz z kursem odbyłem 3 godzinną praktykę.

Fajnie, na kurs autopromocji jak widzę też się załapałeś, tylko co to ma wspólnego z tematem? Zakładka "Praca" - drugi link na prawo od linka "Forum" (tak gdybyś nie mógł znaleźć ;-) )

Serio, kto tu wpuścił haerofcuff?

1

Ja jestem dobrym programistą, na poziomie juniora.
Dobry programista powinien umieć zarobić na siebie i firmę wykonując pracę programisty, i mieć wyłożone na korpogierki biznesu.

0

Ja uważam się za średniego programistę w mojej skali, ale wiem, ze jeszcze dużo nauki przede mną, ale nie API/bibliotek tylko biegłości, podejścia do projektu w środowisku komercyjnym z szefem, bilansowania cyzelowanie kodu vs terminy i jak pokazał ostatni przypadek - dokładnego czytania README.md z githuba :-D
Niestety mam takie stanowisko, że sam muszę wybierać technologię, architekturę czy organizację projektu, mam wolność, ale przez to nie mam możliwości poznania tego od bardziej doświadczonych. Pracy zmienić nie mogę, bo to będzie moje pierwsze stanowisko programistyczne na etacie (sami do mnie zadzwonili, wcześniej miałem swoje komercyjne projekty programistyczne), więc po części to strata czasu, no ale rynek jest taki, że bez tej okazji dalej bym szukał pracy a może i bym trafił gorzej.

0

Też mogę powiedzieć ,że jestem dobrym programistą na poziomie juniora (1 rok 2 miechy expa komercyjnego). Pracuję z ludźmi, którzy w .Net siedzą dłużej ode mnie (4-5 lat) i nie wiedzą co to dependency injection, IOC , nie mówiąc już o takich rzeczach jak Autofac, nie słyszeli o AutoMapper i kilku innych rzeczach. Jak się zapytałem kolegi który pisze w Javie od około 15 lat czy korzysta z mechanizmu refleksji w swoich projektach, to on do mnie "do czego to służy?"

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