Desenvolvedor profissional. Será?

Desenvolvedor profissionalEm 2010 escrevi este post para o portal iMasters.

Passados 3 anos resolvi puxar o post pra cá e já aproveitei para revisar e complementar alguns tópicos.

Aviso: não se ofenda com o que vai ler a seguir, algumas comparações são na verdade uma provocação, o objetivo aqui é te fazer refletir, para quem sabe melhorar mais a frente – Hansei + Kaizen (Reflexão e melhoria contínua).

— — — — — — — —

Segundo o dicionário da língua portuguesa a definição de profissional é “pessoa que exerce uma certa profissão”.

Então, se você exerce profissionalmente o papel de desenvolvedor de software, logo, você pode ser classificado como um “desenvolvedor profissional”, correto?

Em tese sim!

Digo em tese porque meu conceito (e não é apenas o meu conceito) de desenvolvedor profissional é diferente do que consta no dicionário. Tem muito desenvolvedor amador por ai no mercado, botando banca de super-herói, mas que na verdade gera mais bugs do que features de software.

Mas como podemos diferenciar profissionais de amadores? Algumas dicas:

– Desenvolvedores profissionais planejam suas implementações antes de sair despejando linhas de código na aplicação. Desenvolvedores amadores freqüentemente trabalham com o método de tentativa e erro, ou seja, sem nenhum planejamento prévio ou análise de impacto em outras classes/módulos da aplicação. Não subestime o poder de um fluxograma.

– Desenvolvedores profissionais se preocupam com o desempenho de suas soluções e não apenas se a especificação recebida foi atendida. Desenvolvedores amadores não se preocupam com desempenho, o importante é entregar o que foi pedido, afinal de contas no documento não falava nada em relação a performance.

– Desenvolvedores profissionais produzem códigos legíveis, frequentemente fazem refactoring em seus códigos e são apaixonados pelos livros Clean Code e Clean Coder do Robert C. Martin. Enquanto isto, os desenvolvedores amadores procuram no dicionário o significado da palavra refactoring.

– Desenvolvedores profissionais trabalham com desenvolvimento orientado a testes e criam testes funcionais, ou pelo menos estão ligados no assunto e buscam formas de “conectar” isto ao seu cotidiano. Desenvolvedores amadores não são pagos para testar; Azar do testador, compilou passa pra frente!

– Desenvolvedores profissionais estão atentos para outras atividades do ramo de desenvolvimento de software como análise de requisitos, banco de dados, padrões de projeto, metodologias de desenvolvimento, teste de software, etc. Desenvolvedores amadores apenas programam, isolados de tudo e de todos!

– Desenvolvedores profissionais trazem os problemas a tona sempre que os encontram. Desenvolvedores amadores varrem para debaixo do tapete.

– Desenvolvedores profissionais sempre buscam acertar na primeira vez e para isto não abrem mão da qualidade de código, para eles a qualidade nunca é opcional e está sempre presente. Desenvolvedores amadores evitam a fadiga, praticam pog no dia a dia, e quando a coisa fica feia procuram outro lugar para trabalhar. 😉

E você, é amador ou profissional?

Anúncios

2 comentários sobre “Desenvolvedor profissional. Será?

  1. Pingback: Clean code good! Spaghetti code bad! | uMov.me Labs

  2. Pingback: A Importância do Aceite | Pingos de Agilidade

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s