.NET - As cinco qualidades de um bom desenvolvedor
Você se julga um bom desenvolvedor ? Quais as qualidades que todo bom desenvolvedor deve ter ? O que fazer para ser um bom desenvolvedor ? |
A palavra autocrítica tem a seguinte definição no dicionário:
"Ação e resultado de auto criticar-se; crítica de si
próprio ou das próprias ações, com reconhecimento dos próprios erros, defeitos e
qualidades"
A capacidade de fazer um auto avaliação do nosso comportamento é uma boa prática
que permite desenvolver as nossas habilidades, assim, por meio da auto avaliação identificamos os pontos nos
quais precisamos melhorar.
Alguma vez você já se perguntou se pode se
considerar um bom programador de software ?
Se assim for, você provavelmente também se perguntou o que significa ser um bom
programador de software.
Quais são as habilidades de um bom engenheiro de software ?
Quais são as diferenças entre o mau e o bom desenvolvedor ?
Isto é apenas uma questão de experiência ?
Isso está ligado com conhecimento e prática ou esta relacionado com algumas
habilidades inatas ?
Como se tornar um bom programador de software ?
Será preciso ter habilidades específicas para se tornar um bom desenvolvedor ?
Como em todas as áreas de atuação do conhecimento humano um bom desenvolvedor precisa ter algumas habilidades, e, neste artigo eu vou dar a minha opinião (baseada em estudos, leituras e na minha própria experiência) sobre cinco qualidades que é preciso ter para ser um bom desenvolvedor.
1- Você precisa querer ser um desenvolvedor e se dedicar com afinco em alcançar esse objetivo
As pessoas mais persistentes acabam indo mais longe do que aquelas que hoje querem uma coisa e amanhã querem outra.
Por minha própria experiência, digo que eu sempre fui atraído para a área de TI, eu não precisava fazer força para ficar entretido horas a fio na frente do meu TK85 com seus 16 KB de memória RAM e teclado chiclete.
Ficava acompanhando todas as novidades ligadas a área da informática e
dessa forma vi o nascimento das BBS e depois da internet e a evolução
das linguagens de programação onde iniciei pelo Algol. Sim, meu primeiro
programa foi na linguagem Algol e depois Fortran que rodou no computador
da Escola Politécnica da USP em 1979. Depois iniciei com o BASIC e Dbase. Fui um clippeiro atuante usando a linguagem Clipper (ou CA-Clipper) é um compilador 16 bits da linguagem xBase para o ambiente DOS. |
Na época não havia os recursos que temos hoje, principalmente a internet, e, dessa forma, era bem mais difícil encontrar informação sobre as linguagens e seus recursos. A principal fonte eram os livros que não eram nada baratos.
Existiam muitas dificuldades e muitas vezes um problema mais complexo requeria muito do desenvolvedor para ser resolvido.
Dessa forma, atuava na área somente quem realmente gostava e queria ser um programador, pois os aventureiros e hobistas logo desistiam diante das dificuldades.
Muitos colegas que iniciaram comigo a jornada naqueles tempos hoje atuam em outra área porque no fundo eles não queriam ser desenvolvedores ou não estavam dispostos a pagar o preço de ser um desenvolvedor.
Como em todas as áreas de TI, a de programação exige muita dedicação e um trabalho intenso.
Dessa forma creio que o primeiro requisito para ser um bom desenvolvedor é querer e se dedicar com afinco a esse objetivo.
2- Você precisa ter uma mente analítica
O que é uma mente analítica ?
Em uma definição não rigorosa podemos dizer que é a mente consciente, ciente de que pensa, observa os dados, se lembra e resolve problemas.
Assim, você tem uma mente analítica, você é capaz de pensar, observar os dados, lembrar-se e baseando-se nessas atividades, resolver problemas.
Essa é uma das habilidades mais importante e necessária a um bom desenvolvedor de software.
Isso significa que nem todo mundo pode se tornar um bom desenvolvedor de software, mesmo realmente querendo. Visto que a mente analítica é uma grande extensão de uma capacidade inata, se você não possui essa habilidade é melhor mudar o campo de interesse.
Exercitar a mente e resolver muitos problemas de algoritmos e lógica pode
aumentar o nível básico de capacidade de raciocínio analítico. No entanto, cada
pessoa tem suas limitações a partir das quais não haverá mais progresso.
Dessa forma se você verifica que costuma ter muita dificuldade em analisar problemas e resolvê-los baseando-se na observação e dados coletados esteja certo de que isso não é apenas uma falta de prática ou mesmo de exercício e seja sincero consigo mesmo visto que admitir isso não será o fim do mundo mas apenas que suas habilidades serão melhor aproveitadas em outra área de conhecimento.
3- Você precisa ter uma percepção do futuro
Ter uma percepção do futuro não significa adivinhar o que vai acontecer, mas, com base no presente, prever as consequências que a sua intervenção no presente terá no futuro.
A criação de um produto de software é como jogar
xadrez - para ganhar você precisa prever alguns movimentos à frente.
Você não deve apenas olhar para o presente, mas também para o futuro durante a
programação.
Para ser um bom desenvolvedor de software você não pode apenas estar focado em
um pequeno trecho de software que você está implementando.
Você não precisa apenas saber como implementar algo, mas também Porque esta
fazendo isso e quais os desdobramentos que isso poderá ter.
Você precisa ver o software como um todo e não apenas como a pequena parte na
qual você está trabalhando atualmente.
Você precisa entender o impacto que o seu pequeno pedaço de software vai ter no
conjunto global do sistema do qual ele faz parte.
4. Você deve
ter uma percepção orientada ao negócio no desenvolvimento de software
Um bom desenvolvedor de software, não é apenas aquele que possui grandes
recursos técnicos. Você pode ser um bom programador e seu código pode ser de uma
ótima qualidade, mas ainda assim, você não vai conseguir entender e satisfazer
as necessidades dos seus clientes se não souber ouvir, entender e traduzir o que
o cliente deseja.
Tenha em mente uma coisa : o produto de software tem que atender uma
necessidade, tem que ter uma razão para existir, e essa razão não é aquele
código legal que você descobriu e que esta doido para aplicar no projeto, não, o
motivo para o software existir é atender somente aquilo que o cliente pediu. Se
ele não pediu uma funcionalidade você não deve implementar apenas por achar que
vai ficar legal assim.
Assim se você estiver voltado apenas para o software, para o código e não também
para o cliente, você pode potencialmente causar uma série de problemas como:
mal-entendidos que se traduzem em funcionalidades desnecessárias, a criação de
um software com baixa usabilidade, criar definições que vão precisar de
alterações de última hora nas funcionalidades, etc.
Então, o que significa ser um desenvolvedor de software orientado ao negócio ?
Existem muitos fatores que influenciam esta característica de um desenvolvedor,
dentre os quais cito o que julgo mais relevantes:
Compreender o software a partir de uma perspectiva de negócios (visão dos clientes);
Saber avaliar as necessidades do cliente (e somente do cliente);
Ter a capacidade de converter os problemas de negócio em soluções técnicas (para atender o cliente);
Ter a capacidade de cooperar e entender as pessoas a partir de um material não técnico;
Como um bom desenvolvedor você não pode se fechar no seu mundo de código e achar que por que conhece e domina técnicas de programação é capaz de resolver tudo sozinho.
Você tem que saber ouvir e se fazer entender usando uma linguagem que o cliente entende de forma a poder orientar e ajudar o cliente a descobrir suas reais necessidades, mostrando a eles a viabilidade técnica do projeto de software.
5. Você deve ter a capacidade de trabalhar em equipe
Já se foram os tempos nos quais um bom desenvolvedor
de software era aquela pessoa que ficava sentado o dia inteiro na frente do
computador trabalhando apenas com o código.
Para que um projeto de software seja bem sucedido a comunicação dentro da equipe
é crucial.
A troca de pensamentos, ideias, conhecimento e experiência pode aumentar a
eficiência e a qualidade do projeto de software.
Um desenvolvedor que não deseja ou que é incapaz de se comunicar com outros
membros da equipe não vai conseguir se encaixar na equipe e no processo de
desenvolvimento de software.
Estou ciente de que há muitos desenvolvedores muito introvertidos que estão
fazendo realmente um grande trabalho e produzem código de alta qualidade.
No entanto as novas técnicas adotadas nas empresas de TI exigem mais do que
apenas a codificação, exigem saber se expressar numa linguagem inteligível
expondo os problemas, as dúvidas e as sugestões para o bom andamento do projeto.
Assim a comunicação dentro da equipe é uma das principais chaves para o sucesso
do trabalho do desenvolvedor.
Você pode acrescentar outras habilidades a essa pequena lista mas creio que essas sejam realmente as cinco qualidades essenciais de um bom desenvolvedor.
Jesus lhes respondeu,
e disse: A minha doutrina não é minha, mas daquele que me enviou.
Se alguém quiser fazer a vontade dele, pela mesma doutrina conhecerá se ela é de
Deus, ou se eu falo de mim mesmo.
Quem fala de si mesmo busca a sua própria glória; mas o que busca a glória
daquele que o enviou, esse é verdadeiro, e não há nele injustiça.
João 7:16-18
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
.NET - Princípios básicos de projeto de software - Macoratti ...