To wraca do rozmowy z moją dziewczyną. Próbowałem jej powiedzieć, że po prostu nie czuję się wystarczająco dobrze w moim języku programowania (C ++), aby nazwać siebie dobrym. Potem zapytała mnie: „Kiedy uważasz, że jesteś wystarczająco dobry?”
To interesujące pytanie. Nie wiedziałam, co jej powiedzieć. Więc pytam cię.
W jakimkolwiek języku programowania, frameworku itp., Kiedy osiągniesz punkt, w którym usiądziesz, spójrz na to, co zrobiłeś i powiedz: „Hej, naprawdę jestem w tym całkiem dobry”. Jak definiujesz „dobry”, aby móc szczerze powiedzieć innym: „Tak, jestem dobry w X”.
Ponadto, czy wyciągasz te wnioski, porównując, co mogą zrobić inni?
Dodatkowe informacje
Przeczytałem artykuł kanoniczny o tym, jak zajmuje dziesięć tysięcy godzin, zanim staniesz się ekspertem w tej dziedzinie. (Rekwizyty dla każdego, kto wie, jak nazywa się ten papier ponownie)
Czytałem także różne artykuły z Coding Horror o przeprowadzaniu wywiadów z ludźmi. Mówiono niektórym osobom: „Nie można funkcjonować poza ramami”. Mogą więc być „dobre” dla tego frameworka, ale nie inaczej w języku. Czy to prawda?
źródło
Odpowiedzi:
W X nie możesz nazywać siebie dobrym. Tylko inni ludzie mogą.
źródło
Jest już kilka dobrych odpowiedzi na to pytanie, więc po prostu przyczynię się do tego:
źródło
Jeden jest w czymś dobry tylko wtedy, gdy może śmiało i poprawnie powiedzieć, że może to zrobić.
Na przykład, jeśli chcesz powiedzieć, że jesteś dobry w C ++, powinieneś być w stanie powiedzieć z pewnością i uzasadnieniem, że biorąc pod uwagę ogólny problem z C ++, możesz go rozwiązać.
To odróżnia cię od zarozumiałości , co oznacza, że możesz śmiało powiedzieć, że możesz coś zrobić bez wystarczającego uzasadnienia; i doświadczony , co oznacza, że możesz coś zrobić, ponieważ robiłeś to w przeszłości.
źródło
Mówiąc pokrewnie, chociaż myślę, że ruch Software Craftsmanship to doskonały pomysł, aby pomóc w poprawie standardów w naszej dyscyplinie, widziałem wielu ludzi określających się jako rzemieślnicy oprogramowania, co w większości przypadków wydaje mi się trochę aroganckie.
Twoi rówieśnicy decydują, czy jesteś w czymś dobry (lub rzemieślnikiem); Jestem pewien, że Einstein i Feynman nie włóczyli się wcześnie po karierze, mówiąc: „spójrz na mnie, jestem geniuszem!” Podobnie od twoich rówieśników zależy, czy jesteś dobry, czy nie.
Stackoverflow to przydatne narzędzie do decydowania, czy jesteś kompetentny. Wybierz pytania w swojej dziedzinie rzekomej wiedzy specjalistycznej. Odpowiedz na nie (lub jeśli już na nie odpowiedzieli, odpowiedz im w głowie, nie zerkając na opublikowane odpowiedzi). Myślałeś o najlepszej odpowiedzi? Tęskniłeś za czymś? Czy po prostu się myliłeś?
źródło
Ponieważ nie ma znormalizowanego testu programistycznego, który można wykonać, który pozwoli wszystkim zgodzić się na to, że jesteś dobrym programistą, od ciebie zależy, czy tak się nazywasz, czy nie.
Uważam, że ma to związek z twoim poziomem zaufania. Jeśli czujesz, że jesteś w czymś dobry, powinieneś być w stanie to powiedzieć. W pewnym momencie ukończysz projekt, który cię popchnął, a to uczucie zmieni się z „jeszcze nie” na „Jestem”.
źródło
Wiem, że to dość trudne pytanie. Zrobiłem dwa przedmioty, w których głównie programowałem w C ++ i uzyskałem wysokie wyróżnienia w obu. Nie uważałbym się za dobrego w C ++. W rzeczywistości, gdybym ubiegał się o pracę, odrzuciłbym go z mojego CV i zamiast tego napisałem C. Cały język po prostu nie jest moją rzeczą.
źródło
Myślę, że możesz nazywać się dobrym w czymś, kiedy rozwiniesz wymaganą wiedzę, aby móc spojrzeć na siebie z perspektywy innej osoby, a następnie ustalić, czy jesteś dobry. Innymi słowy, powinieneś mieć silne umiejętności „meta”.
Na przykład jestem pisarzem hobbystycznym, a patrząc na własne teksty mogę powiedzieć:
itd. itp. Z tego powodu uważam, że mam kwalifikacje do decydowania, czy jestem dobry w pisaniu, czy nie. To samo dotyczy X.
źródło
Ponieważ dobro jest bardzo subiektywne, powiedziałbym, że jesteś dobry dokładnie wtedy, gdy masz pewność, że jesteś świetny.
źródło
Możesz twierdzić, że jesteś „dobry” w czymś, skoro robisz to wystarczająco długo, że już dawno zapomniałeś, jak zrobić cokolwiek innego.
źródło
Jedyny raz, kiedy możesz być pewien, że jesteś w czymś dobry, to kiedy jesteś pewien, że jesteś w tym zły.
John Cleese mówił o tym: O 9:00 http://www.youtube.com/watch?v=zGt3-fxOvug
źródło
Za każdym razem, gdy myślałem, że jestem dobry w programowaniu w konkretnym języku, sześć miesięcy później byłem przekonany, że w tym czasie byłem do niczego, a teraz byłem w tym dobry. Myślę, że to termin względny. Może lepiej byłoby nazwać siebie „wystarczająco dobrym, aby zrobić Y”, gdzie Y jest konkretnym projektem w tym języku.
źródło
Kiedy możesz spojrzeć na kod źródłowy czegoś takiego jak boost (w c ++. Lub odpowiednik boost w innym języku) i NIE Bój się tego.
źródło
Kiedy zaczniesz wyobrażać sobie, jak oprogramowanie, którego szukasz, zostało napisane w tym języku.
źródło
Wiesz, że jesteś w tym dobry , kiedy lubisz to, co robisz (i nie jest to tylko trywialne zadanie) .
Wiesz, że jesteś zły (jeszcze), kiedy ciągle przeklinasz podczas pisania kodu.
źródło
Często nie mówię, że jestem dobry w X, ale raczej, że jestem szybkim uczniem i mam potencjał, by być dobrym w X.
źródło
Nie jestem pewien co do „dobrego”, ale mówię, że „znam” język, kiedy to nie moja znajomość języka, ale raczej moje rozumienie problemu (lub domeny problemu), co uniemożliwia mi wdrożenie oprogramowania, aby rozwiązać ten problem problem.
źródło
Myślę, że artykuł, którego szukałeś, to „Naucz się programowania w ciągu 10 lat” autorstwa Petera Norviga, który mówi o tym, że potrzeba około 10 000 godzin, aby stać się dobrym w czymś. Ponadto widziałem, jak pojawia się w innych miejscach, takich jak „The Element” Kena Robinsona i na blogu lifehackera, mówiącym o zmniejszeniu liczby hobby.
źródło
Mam zamiar wziąć udział w tym pytaniu i zadać pytanie „jakie są kryteria oceny moich kompetencji w języku programowania”
Uważam, że ta matryca jest bardzo przydatna pod tym względem. Większość przedmiotów dotyczy w zasadzie bycia kompetentnym programistą, ale kiedy przejdziesz do nagłówków Programowanie, Doświadczenie lub Wiedza, zobaczysz niektóre, które zależą od używanego języka.
Oczywiście, jak w przypadku dowolnych, nieco arbitralnych podziałów na kategorie, nie jest idealny. Myślę jednak, że jest to całkiem przydatne. Może dać ci przynajmniej pojęcie o tym, gdzie jesteś i dokąd powinieneś się udać.
źródło