Manuel Padilha 06.01.2008
"Como é que um gajo que não percebe os utilizadores lhes vai resolver os problemas?"
Nem tudo na vida de um programador é resolver problemas de utilizadores. Nos sistemas e aplicações mais complexos há enormes porções de código que estão completamente desligadas da interface com o utilizador. Normalmente correspondem a algoritmos complexos, processamentos em série, etc.
É frequente que as pessoas que melhor resolvem esse tipo de problemas sejam mais introspectivas e menos sociáveis, o que - na medida em que aumenta a sua concentração - os favorece no tipo de trabalho que têm. A designação de super programadores é infeliz, porque não são melhores nem piores do que os programadores "normais". São apenas diferentes, melhores a resolver determinado tipo de problemas, e seguramente piores a "aturar" utilizadores.
Há espaço e mérito para todos.
Jonasnuts 06.01.2008
Na minha equipa TODOS "aturam" utilizadores. Mesmo aqueles que têm de desenvolver as funcionalidades e fazer lá essa coisa complicada das enormes quantidades de código que estão completamente desligadas da interface com o utilizador.
E todos têm voto na matéria.
Qualquer programador que seja orientado para pensar "users are loosers" (e acreditar nisso) nunca poderá ser um bom programador.
Não me parece que os blogs do SAPO sejam uma amostra representativa da comunidade de programadores, por isso não me custa acreditar que todos tenham que "aturar" utilizadores (e se coloquei entre aspas é precisamente para não levar à letra), nem que todos sejam óptimos a fazê-lo.
Há vários exemplos (alguns até famosos, Richard Stallman, por exemplo) de programadores que desprezam a opinião do utilizador final e, ainda assim, são excelentes programadores. Como é que isto é possível? Simples: o código que produzem não vai ser visível para utilizadores finais. Vai ser usado por outros programas, outros sistemas, que por sua vez vão ser usados por outros programas ainda. Só várias camadas depois é que surge o utilizador.
E toda a gente sabe que uma boa interface para um utilizador é, frequentemente, uma péssima interface para um programa.