5 características de um bom programador (a última é obrigatória)

Capa do post: 5 características de um bom programador (a última é obrigatória)

De acordo com uma consultoria americana, a IDC, existem aproximadamente 18,5 Milhões de programadores no mundo.

Seria o equivalente a população do Chile de acordo com a última estimativa oficial.

É muita gente!!! Muita gente boa!

Então a pergunta que não quer calar é: Como ser um bom programador?

Ou melhor…

Quais são as características essenciais de um bom programador?

Para responder a essa pergunta eu criei uma lista com os 5 tópicos (+1 de bônus no final) que eu julgo ser os mais importantes.

Vamos a lista…

#1 – Organização

Você já ouviu aquela história que pessoas criativas são desorganizadas?

Mesa bagunçada, quarto revirado, tudo uma zorra?

Faça um favor para si – tire isso da cabeça imediatamente.

Isso é uma grande balela!

Esse conceito pode (palavra-chave pode) ser útil para algumas situações. Mas para TI eu acredito que não.

Porque?

Porque ao ser desorganizado a sua tendência é repetir isso para as outras áreas da sua vida:

  • Relacionamento
  • Estudo
  • Trabalho
  • Projetos

Impactando e forma negativa o seu rendimento.

Essas pequenas desorganizações vão minando a sua energia:

Nosso cérebro consome em condições normais 20% da energia diária e pesa somente 2% da massa do corpo.

Fonte: USP

É uma máquina f#@$! E você não quer desperdiçar essa energia tentando lembrar onde você deixou a sua carteira na noite passada. Certo!?

Agora vamos fazer um pequeno teste: você está pensando na quantidade de batidas do seu coração ou na sua respiração?

Acredito que só agora que eu mencionei isso…

Para manter toda essa “parafernália” ligada e funcionando o seu cérebro desenvolveu uma “memória mecânica”.

Essa “memória mecânica” tem um custo energético barato (vamos assim dizer). Ele (seu cérebro) não precisa fazer análises mais a finco e “pensar” se pode ou não confiar naquilo.

Ele já sabe que é vital, então simplesmente executa e pronto.

Nessa jornada pela sobrevivência (consumir a menor energia possível) o nosso cérebro desenvolveu o hábito, que seria uma extensão desta “memória mecânica”.

O hábito é responsável por todas as ações repetitivas que aprendemos desde que nascemos e que estão enraizadas no nosso cotidiano.

Entenda estas ações repetitivas como:

  • Movimento: escovar os dentes, caminhar, dirigir, etc; e
  • Emocionais e irracionais: reclamar da vida, beber refrigerante, fumar, se atrasar, entre outras.

A má notícia é que muitos destes hábitos ruins (que você nem sabe que existem) influenciam na vida pessoal e profissional todo o santo dia.

E desorganização é um hábito!

Afinal porque gastar energia arrumando se você pode fazer uma outra coisa muito mais legal?

Porem meu caro amigo e amiga a desorganização é o equivalente a gastar feito louco no cartão de crédito sem ter o dinheiro. A conta estoura e no fim você vai pagar com juros!

Então a palavra da vez é seja organizado. Aqui é o que eu faço em 3 passos simples:

  1. Planeje o seu dia de preferencia um dia antes;
  2. Respeite os horários (seu e dos outros); e
  3. Mantenha todas coisas (principalmente de uso diário) sempre no mesmo lugar e acessíveis.

Existe um livro muito bom chamado O Poder do Hábito – Porque fazemos o que fazemos na vida e nos negócios, do autor Charles Duhigg.

 

Recomendo fortemente a leitura desse livro!

#2 – Conhecimento sobre o assunto que se está trabalhando

Você sabe quanto é o fatorial de meio? Ou seja: 0,5! E a função Gama?

Na verdade, as duas são a “mesma coisa” (falando muito por cima).

Eu aprendi isso só no curso de matemática aplicada que eu fiz depois da faculdade…

É normal! Você não precisa saber de tudo!

Eu mesmo não sei um monte de coisas que eu gostaria de saber. Imagina então quanta coisa existe que eu nem faço ideia 🙂

A receita aqui é saber o que é importante.

Estamos vivendo a era da informação. E notícias pela TV, Jornais, WhatsApp, Facebook, entre outros inundam todos os dias nossas mentes.

O que aconteceria se você substituísse todas as suas refeições por Fast Food?

O resultado disso seria certamente seria um aumento de peso junto com outras possíveis doenças.

É a mesma coisa para o seu cérebro!

Devemos consumir somente informação que nos é relevante.

E o que isso tem a ver conhecer sobre o assunto que você trabalhava?

Tudo! Lembra do que falei sobre consumo energético no primeiro tópico?

Os profissionais mais bem valorizados no mercado são os que dominam, além do técnico, assuntos relacionado ao negócio em que trabalham.

Imagine que você está recrutando programadores para o seu novo projeto.

Este projeto será um sistema de controle de estoque.

Quem você contrataria?

  1. Programador que nunca viu isso e não tem ideia do que é; ou
  2. Programador que no último projeto desenvolveu um controle de estoque inteiro.

Se você deseja aumentar substancialmente o seu salário e ser um profissional muito valorizado domine o assunto que você trabalha.

Nos últimos anos a Internet Sistemas, empresa na qual eu sou sócio, investimos muito no mercado de alimentação.

Criamos sistemas para outras empresas venderem na internet: [iS]Chef

Eu aprendi administrar uma pizzaria sem nunca ter tido uma. E isso ajuda muito na hora de vender: eu falo o idioma da outra pessoa.

Portanto foque em se concentrar em um mercado e domine-o aos poucos.

Inclusive no meu guia faculdade de TI eu abordo estas questões de mercado mais a fundo.

#3 – Resolver problemas

Você conhece a expressão “pena de pato”?

Não sei se entende muito de patos, mas ele produz um óleo que repele a água em suas penas que evita ele ficar molhado enquanto nada.

Agora pensa que você é o pato e a problema é a água…

Você vai escapar do problema ou irá enfrenta-lo?

Um dos principais requisitos de um programador é gostar de resolver problemas.

Claro, você não vai resolver problemas Jedi 100% do tempo. Ninguém aguenta!

Mas você deve de preferencia mergulhar de cabeça nos problemas que lhe forem designados a resolver.

Todo programador é essencialmente um resolvedor de problemas.

Para melhorar este tópico e não ficar muito “pesado” vamos usar uma palavra melhor que problema: desafio.

#4 – Visão sistêmica

Uma vez que você mergulha de cabeça nos problemas o próximo passo é se organizar e dar uma solução boa.

Vamos a definição de sistema no dicionário:

  1. conjunto de elementos, concretos ou abstratos, intelectualmente organizados.
    • conjunto de ideias logicamente solidárias, consideradas nas suas relações.
      • conjunto de regras ou leis que fundamentam determinada ciência, fornecendo explicação para uma grande quantidade de fatos.”s. filosófico”
      • distribuição e classificação de um conjunto de elementos segundo uma ordem estabelecida.”s. taxonômico”
      • p.ext. qualquer conjunto natural constituído de partes e elementos interdependentes.”s. planetário”
  2. conjunto das instituições econômicas, morais, políticas de uma sociedade, a que os indivíduos se subordinam.”os hippies rejeitavam o s.”

Então podemos dizer que a visão sistêmica é a visão macro, do todo.

Para isso a habilidade de ser organizado é fundamental!

Como você irá conseguir olhar o todo com um monte de ruídos na cabeça?

É igual tentar conversar com uma pessoa na “balada” com música alta (aqui em SP balada significa casa noturna, boate).

E como você consegue ter esta visão sistêmica, macro, do todo?

Com muito treino e reconhecer que só porque você sabe meia dúzia de comandos complicados não significa que seja o CARA.

Se eu pudesse dar uma dica a um iniciante sobre visão sistêmica seria:

Pesquise mais sobre outras área que influenciam no projeto e na sua vida e perceba a relação entre elas.

Isso em código se traduz no seguinte: tenha a capacidade de abstrair os problemas em módulos e conectores.

Um excelente livro que eu recomendo é o: Domain Driven Design – Atacando As Complexidades no Coração do Software, do autor Eric Evans.

 

Aqui cabe um conselho, foque por enquanto na técnica, depois neste ponto em especial.

#5 – Dominar de 2 a 3 linguagens de programação pelo menos

De acordo com esta mesma consultoria, a IDC, 88% dos programadores sabem mais de 1 linguagem de programação.

A grande maioria de nós aprendemos por força da universidade a aprender C, C#, Java, etc.

Mas isso ainda é muito pouco.

Um programador precisa ser poliglota e “falar” pelo menos 2 a 3 linguagens de programação além da sua principal.

Certo, mas quais estas seriam.

Essa mesma pesquisa revelou que as linguagens de programação mais usadas no mercado são:

  1. Java – com 68% ganhou força nos últimos anos com o Android, além de possuir uma base instalada de uso nas empresas.
  2. JavaScript – com 65% é considerado a segunda linguagem de programação a se aprender para o mercado de Web.
  3. SQL – com 60% é a “língua franca” das aplicações com banco de dados. Mesmo que você utilize estes ORMs da vida como Hibernate você uma hora irá precisar desta linguagem.
  4. C/C++ – com 53% é a linguagem necessária para quem busca performance, como por exemplo, aplicações embarcadas e críticas.
  5. C# – com 47% é a linguagem de programação do Windows, e quando se fala em Windows se fala em mercado/empresas.
  6. PHP – com 45% onde é a linguagem backend preferida dos programadores Web.

Hoje, como iniciante, eu sem dúvida escolheria investir em JavaScript devido a sua ascensão e uso difundido em outras plataformas além da Web, como:

  • Mobile – Com as suas aplicações multiplataforma – cria 1 código e distribui para Android, iOS e Windows Phone.
  • Backend – Possibilidade de se criar programação no lado do servidor utilizando o poderoso Node.js.
  • Web – A consagrada Web que fez esta linguagem ser tão difundida. Com uma demanda crescente por usabilidade os Frameworks AngularJS, React, Backbone, Meteor, entre outros vieram para ficar.

Percebem? Como diria a minha avó: Com um tiro acerta 2! Nesse caso 3 🙂

Bônus – Gostar do que faz

Agora a sexta dica, que é a dica bônus: Faça o que goste.

Caso não seja seu caso de odiar programação (caso seja, leia meu artigo Eu ODEIO Programar, e agora?) mergulhe de cabeça nessa paixão.

Mas lembre-se, mais uma dica da vovó Regina: Tudo em excesso faz mau.

Então tenha um hobby. No meu caso eu curto marcenaria, andar de bicicleta e fotografia.

Tenha um hobby de preferencia que use as mãos, como assim, que tenha tato, que mexa com algo além do abstrato (bits e bytes).

Conclusão

Poderia criar uma lista 499 tópicos de como ser um “bom programador”, mas vamos falar a verdade, ninguém consegue seguir.

Então comece pelo começo!

Siga os primeiros passos, e como eu sempre falo para meus alunos:

Você só precisa ser melhor que alguém: de você mesmo.

Se você gostou deste artigo também vai gostar desses:

Crédito das imagens: www.freepik.com.