Programador profissional é aquele que faz programa para viver. Os que fazem programas ou frameworks para aprender ou para ter seu próprio modo de fazer as coisas, são diletantes.
[/quote]
A vida seria muito chata se isso fosse verdade. E o pior é que muitas vezes o pessoal do segundo grupo acaba ganhando muito mais e conseguindo muito mais sucesso do que o pessoal do primeiro grupo. Mas não são profissionais, porque um programador profissional é … (vide resposta 3)
[/quote]
Diletante: O que se ocupa de qualquer assunto por gosto, e não por obrigação.
Profissional: Pessoa que faz uma coisa por profissão.
Inveja: Sentimento de cobiça à vista da felicidade, da superioridade de outrem
[quote=aleck]Diletante: O que se ocupa de qualquer assunto por gosto, e não por obrigação.
Profissional: Pessoa que faz uma coisa por profissão.
Inveja: Sentimento de cobiça à vista da felicidade, da superioridade de outrem[/quote]
Repare que na minha resposta eu NÃO exclui o profissional que trabalha por prazer que foi sempre o que eu tentei fazer desde que me formei engenheiro em 1970.
E não entendi porque incluiu inveja na sua mensagem. Você acha que alguém faz frameworks por inveja? Ou que eu tenho inveja de quem faz? Explique-se.
Em uma realidade alternativa eu sou um excelente programador ABAP e meus códigos resolvem 100% dos problemas dos clientes.
Os testes nunca encontram bugs, mas eu não faço testes unitários. Meus codigos fontes utilizam uma lógica que para mim é trivial, utilizo recursos arcanos e otimizações de forma totalmente obfuscada.
Por mais que a minha empresa me considerasse O cara, e eu era super profissional em todos os momentos, não deixei entidades do tipo “testes unitarios”, documentação ou mesmo comentários de código uteis. O sistema funcionava mesmo assim.
Um dia eu resolvi sair do meu emprego e programar os bits de um satélite que vai investigar um planeta distante… e a empresa pediu para um grupo de 6 desenvolvedores que fizesse uma pequena alteração no sistema… o resultado dessa história é: não deixei nada que ajudasse uma outra equipe e MESMO que o meu código tivesse comentarios totalmente esclarecedores, como a equipe teria certeza que uma modificação em uma função não teria impacto em algum lugar obscuro, muito dificil de testar manualmente?
Em outra realidade eu sou um programador ABAP mediano. Faço TDD e TUDO o que eu desenvolvo possui uma mega suite de testes. 2 anos após a minha saída um grupo de 6 pessoas pegaram os meus testes, javadocs e as wikis cheias de coisa divertida. Eles tem que mudar varias coisas e se sentem seguros pois existe uma entidade que testa o codigo e ja avisa que tem algo estranho. Provavelmente alguns testes terão que ser reescritos mas é facil com os artefatos que eu deixei pra tras.
Provavelmente esse cenário é menos pior do que o outro em termos de manutenção.
[quote=aleck]Diletante: O que se ocupa de qualquer assunto por gosto, e não por obrigação.
Profissional: Pessoa que faz uma coisa por profissão.
Inveja: Sentimento de cobiça à vista da felicidade, da superioridade de outrem[/quote]
Repare que na minha resposta eu NÃO exclui o profissional que trabalha por prazer que foi sempre o que eu tentei fazer desde que me formei engenheiro em 1970.
E não entendi porque incluiu inveja na sua mensagem. Você acha que alguém faz frameworks por inveja? Ou que eu tenho inveja de quem faz? Explique-se.
Eu realmente acho viciante como o Paulo falou ao abrir o tópico. E é aí que mora o perigo, pois testes se tornam validadores de código de alto acoplamento. O pensamento voltado para classes e métodos ao invés aquiescer story cases e cenários específicos, que é o que o cliente (e até mesmo o sistema) espera no fim das contas, vide BDD.