18/11/2013

Gostar de resolver problemas

Quando escrevi PRINCIPAIS SKILLS DE UM BOM PROGRAMADOR, minha ideia era apenas lançar alguns itens que acredito serem fundamentais para os programadores chegarem ao próximo nível. Agora pretendo explanar mais sobre cada item, demorou mas aqui estou eu, vamos lá?

Em 18/06/2012 eu comentei alguns pontos referente ao que seria “gostar de resolver problemas”, item que sem sombra de dúvida podemos ver nos principais devs do mundo, como por exemplo nos meus preferidos, Linus Torvalds e Edson Prestes!

Sim a vida do programador é resolver problemas dos outros, e às vezes criar outros. KKKk

Isso é fato, nosso dia gira em torno de resolver problemas, seja de ambiente de desenvolvimento, seja de reverter aquele merge no CVS legado, seja de erro que só ocorre em produção, mas é isso pessoal, a vida do dev é essa. E esse item para mim é um divisor de águas, onde muitos devs deveriam parar e refletir!

Aqui você já vê de cara quem deve aposentar as chuteiras, pois o que eu mais vejo por ai são devs fugindo de problemas, ao invés de resolve-los. Um dev tem como um dos seus principais skills ser apaixonado por resolver problemas, e eu digo isso com toda a segurança do mundo após conviver diariamente com diversos deles! =)

Nessa momento não tenho como não lembrar do dev Fernando Coelho, um ex-colega que chegava a brilhar os olhos ao receber um dump de erro que só ocorria em produção, chegava a ficar brabo quando outra pessoal queria ajudar a resolver!

Entenda bem do seu problema, saiba quem é o seu inimigo!

Aqui é um ponto importante para separar o joio do trigo, os guris dos homens, os bons dos ruins.

O bom dev possui propriedade sobre todo o ecossistema ao que esta inserido, mesmo que não tenha, vai ser uma questão de tempo para esse dev busque todo o conhecimento necessário!

Aqui lembro do amigo e dev Diego Nunes que muito me disse: "Vai ler a documentação!"

Bons devs não descansam até dominar tudo o que podem sobre o seu ecossistema/arquitetura, para que dormir?

Isso é incentivo natural para bons devs e não precisa ter cursos pagos pela empresa ou qualquer outra coisa, isso é uma obrigação que os próprios devs tem consigo mesmo, que em sua maioria são autodidatas!

Acreditar em apenas 1 forma, ou a mais fácil/rápida, busque a melhor de todas.

Todo dev já passou ou vai passar por isso, é uma questão de amadurecimento, mas é um outro ponto fundamental para determinar os bons programadores!

Eles não se deixam deslumbrar ao encontrar a primeira solução, sempre acreditam que podem mais e normalmente conseguem. Isso não quer dizer que devido a tempo ou custo e todos os demais fatores esses devs realmente implementem as melhores soluções, mas eles nunca deixam de encontra-las!

Teste o que esta fazendo!

Aqui esta um item que deixou de ser desejável a muito tempo, é virou obrigação de todos os devs!

Porém acredito que o time precisa ter maturidade ao criar testes, pois criar só por criar ao meu ver não agrega valor ao projeto, o time precisa entender os conceitos por trás de técnicas como TDD e BDD e como elas podem agregar realmente valor, desenvolvendo somente o necessário, garantindo a segurança a longo prazo e consequentemente diminuindo o retrabalho lá na frente e o medo ao subir os pacotes para produção!

Teste não pode ser obrigação, é uma boa prática, coisa que bons desenvolvedores fazem questão de adotar!


Sem mais, deixo essa pergunta a todos os devs, você gosta de resolver problemas? =)

comments powered by Disqus