Czytam tę cudowną książkę zatytułowaną „Coders at Work: Reflections on the Craft of Programming” Petera Seibela i jestem po części w rozmowie z Joshuą Blochem i znalazłem tę odpowiedź, która jest ważnym punktem dla programisty. Akapit brzmi mniej więcej tak.
Problem polega na tym, że programowanie jest w dużej mierze intelektualną merytokracją i często ci ludzie są najmądrzejszymi ludźmi w organizacji; dlatego uważają, że należy im umożliwić podejmowanie wszystkich decyzji. Ale sam fakt, że są najmądrzejszymi ludźmi w organizacji, nie oznacza, że powinni oni podejmować wszystkie decyzje, ponieważ inteligencja nie jest wielkością skalarną; to ilość wektorowa.
Tutaj, w ostatnim zdaniu, nie udało mi się uzyskać wglądu, którym on chce się podzielić. Czy ktoś może wyjaśnić to nieco dalej, co rozumie przez liczbę wektorową, być może próbując przedstawić ten sam wgląd.
W dalszej części rozumiem, że nie bierze on pod uwagę organizacji, w której osoby nietechniczne (czasami nieświadome) mogą być menedżerami osób technicznych z jakiegoś powodu, że mogą poświęcić więcej czasu na dobre pisanie wiadomości e-mail, ponieważ już następny oświadczenie następujące po powyższym akapicie brzmiało:
A jeśli brakuje Ci empatii lub inteligencji emocjonalnej, nie powinieneś projektować interfejsów API, GUI ani języków.
Rozumiem, że mówi, że w inżynierii oprogramowania programiści powinni wiedzieć, w jaki sposób użytkownicy zobaczą ich produkt i projekt.
Czułem, że powyższy akapit był bardzo interesujący.
źródło
Odpowiedzi:
Wektor ma zarówno wielkość, jak i kierunek. Mówi, że nie można opisać inteligencji tylko jej wielkością. Musisz także znać kierunek, na który wskazuje inteligencja. Einstein powiedział:
Bloch twierdzi, że nie zakładaj, że najlepszy pływak w Twojej organizacji jest równie dobry w wspinaniu się na drzewa.
źródło
Nie mogę mówić w imieniu autora, ale odczytałbym to jako analogię do faktu, że nie ma jednego wymiaru praktycznej inteligencji jako programisty.
Innym sposobem może być to, że niektórzy ludzie są świetni w kontaktach z ludźmi, niektórzy są świetni w radzeniu sobie z trudnymi problemami informatycznymi, a niektórzy są świetni w pisaniu dobrze zaprojektowanego kodu.
Żadne z nich nie jest „bardziej inteligentne” niż inne, są równie inteligentne i równie kompetentne w różnych rzeczach - ale nierówne w tych samych sprawach.
Czytam to, mówiąc, że jeśli nie masz umiejętności rozumienia, jak działają użytkownicy narzędzia, jak się czują, jak się mają, to nie powinieneś projektować interfejsu, z którym pracują. (Który obejmuje API, dla wartości „users” == „programiści”)
Innymi słowy: tylko dlatego, że jesteś niesamowity w jednej rzeczy, nie zakładaj, że jesteś niesamowity we wszystkim.
źródło