Mam wielu przyjaciół, którzy widzą, co robię, uważają to za interesujące i zadają mi pytanie
Do you think I could be a programmer?
Moja odpowiedź brzmi:
... ummm ... do you like math?
Chciałbym uzyskać pomocną odpowiedź, więc nie wiedziałem, czy ktoś wiedział o dość przyzwoitym teście umiejętności dla kogoś, kto zaczynałby od pierwszego, ale ma umiejętności krytycznego myślenia i rozwiązywania problemów?
Odpowiedzi:
„Lubienie matematyki” to zły test. Nigdy nie lubiłem matematyki (głównie dlatego, że 90% nauczycieli matematyki w liceum było do niczego).
Kiedy mówisz „matematyka”, większość ludzi myśli, że masz na myśli „ostrożne rozwiązywanie równania według bardzo ścisłych zasad”. Programowanie wcale tak nie jest.
Programowanie przypomina bardziej rysowanie, ponieważ to, co możesz osiągnąć, jest ograniczone tylko tym, co możesz sobie wyobrazić.
Liczy się umiejętność wyobrażenia sobie systemu i zobaczenia, jak on działa.
źródło
Pamiętam od czasów, gdy byłem dzieckiem, który przeprowadzał test umiejętności Brainbencha ; Nadal mam gdzieś certyfikat przechowywany ...
Zarys testu:
źródło
Istnieje szansa, że jest już jeden dobry.
Zobacz na przykład dyskusję na temat oddzielania owiec programujących od kóz nieprogramujących :
Test identyfikuje, jak konsekwentni są ludzie z operacjonalizacją sekwencji instrukcji. Oznacza to, że mogą budować modele (abstrakcje) w swoich umysłach i pracować z nimi.
źródło
Myślę, że ważniejszym „testem” byłoby pokazanie im prostego języka / środowiska programowania, z którym mogliby się bawić. Na przykład przetwarzanie lub python . Jeśli potrafią uczyć się takiego języka i czerpać z niego przyjemność - być może podczas rozwiązywania jednego lub dwóch prostych zadań - jest to prawdopodobnie najlepszy „test umiejętności”, o jaki można poprosić.
źródło
"Lubisz matmę?" nie jest zły początek. Matematyka jest krytyczna, po tym ...
Wskazane jest, aby poradzić sobie z problemem i zacząć rozbijać go na bloki, tylko w mowie, czy można krok po kroku przejść przez podstawowy problem, to dobry początek.
Jeśli potrafią odpowiedzieć na nie dobrze, w analityczny i głęboki sposób, z jakim programiści muszą codziennie, zapewne sobie z tym poradzą.
źródło
Kiedy jesteś narażony na kodowanie, albo musisz to zrobić, albo nie. Umiejętność jest tylko jednym z czynników określających, czy będziesz w tym dobry. Ekspozycja na dobre przykłady, instrukcje, czas na zadaniu, wysiłek to inne. Naprawdę chęć / konieczność zrobienia czegoś znacznie ułatwia wykorzystanie innych czynników.
źródło
Lepszym pytaniem niż „Czy lubisz matematykę” jest „Czy lubisz rozwiązywać zagadki logiczne”? Są to rzeczy takie jak Sudoku itp. Lub wymyślenie odpowiedzi na takie zagadki, jak: „John, Anne, Peter, Mary i Bretania są sąsiadami. John ma biały samochód, Bretania mieszka na lewo od Anne, bla bla, w jakiej kolejności oni żyją? ”
Bo takie jest programowanie: jedna wielka logiczna łamigłówka.
źródło
Myślę, że lepszym pytaniem jest „Czy lubisz budować z klocków Lego?”
źródło
Podobnie jak Gusteau, postać z filmu Ratatouille powiedziała:
Każdy może gotować.
W ten sam sposób każdy może programować. Ale nie wszyscy będą w tym świetni. Większość zadań programistycznych wymaga średniego poziomu umiejętności i kompetencji.
Po prostu odpowiedz tak. Dlaczego? Ponieważ większość ludzi chce po prostu czuć się doceniona przez kogoś, kto ich zdaniem jest inteligentny.
źródło
Myślę, że matematyka sympatii jest ważna. Nie z punktu widzenia lubisz rygorystycznie udowadniać rzeczy, które wymagałyby bycia poważnym matematykiem. Ale biorąc pod uwagę ważny dla ciebie problem, możesz sformułować problemy związane z jego rozwiązaniem w sposób matematyczny. Twierdzę, że wszystko, co robi komputer, to matematyka, wymaga pewnego rodzaju symbolicznych danych i wykonuje na nim jakąś operację. To jest istota matematyki. Musisz więc być w stanie wyodrębnić rzeczy w coś w rodzaju struktury matematycznej i uzasadnić kroki do przodu. Brakuje tego, po prostu hakujesz, wyrzucasz trochę kodu i masz nadzieję, że zrobi to, co chcesz. Umiejętność rozwiązywania skomplikowanej algebry bez literówek i zgubienia się prawdopodobnie nie jest tak potrzebna. Ale umiejętność opracowania planu jest ważna. Często piszę dziesięć programów liniowych, aby sprawdzić, czy moja niezbyt skomplikowana matematyka została poprawnie wykonana. Kluczem jest połączenie komputerów z matematyką w celu weryfikacji, odkrycia i tak, aby wypracować szczegóły, gdy jest ich dużo.
źródło