Como ser um programador(a) melhor

Programadora

Introdução

Bom, hoje vou escrever um artigo nada técnico, como de costume aqui no blog. Porém, não deixa de ser um assunto atual e de extrema importância. As vezes, soft skills são mais importantes do que as hard skills e, hoje vamos falar das duas aqui neste post.

Disclaimer

Os itens que serão avaliados como características de um bom programador neste artigo são todos subjetivos. Isso implica dizer que são as que eu considero importantes e que fazem um profissional desenvolvedor de software ser melhor. Naturalmente para você ou para qualquer outra pessoa, essas características podem ser totalmente diferentes e, pasmem, é perfeitamente normal!

Caso queiram e particularmente vou adorar, você pode deixar sua participação na discussão através dos comentários. A sua participação com certeza vai enriquece e muito o debate, faz todo mundo aprender mais e evoluir. Pode acontecer inclusive, da pessoa mudar seu ponto de vista em relação a algo. Portanto, de antemão peço gentilmente, deixe aí sua opinião sobre o tema, belezinha?

Podemos começar?

Seguinte, enquanto planejava a escrita do artigo, enumerei 10 coisas ou características que fazem você ser um programador melhor. E quando digo “ser melhor”, não me refiro ao outro, me refiro a você se tornar melhor do que antes todos os dias, certo?

Raciocínio lógico aguçado

Acredito que a primeira característica a ser desenvolvida em um programador seja essa, por questões óbvias. Afinal de contas no fim do dia nós somos solucionadores de problemas, é a primeira coisa que nos é ensinada é a Lógica de Programação. Que trocando em miúdos, nada mais é, a aplicação da lógica no desenvolvimento de softwares.

Com um bom raciocínio lógico o programador será capaz de compreender os desafios com mais facilidade. Isso também vai impactar na criação da solução mais adequada para o problema, particularmente, pratico e recomendo o desenvolvimento da lógica de maneira constante. A lógica não é só praticada na programação, existem diversos exercícios no dia a dia que vão fazer você se desenvolver melhor nesse ponto.

Pensamento analítico

Outro ponto fundamental e que complementa muito o item anterior, você como programador, deve ser capaz de enxergar a solução como um todo, claro, não se desespere focando só no problema e no tamanho da solução necessária, isso vai te deixar angustiado, mas seja capaz de ir dando passos, mesmo que lentos e ainda assim, conseguir ver o passo seguinte, entende isso? Ficou confuso não né?

Aqui adiciono mais uma ressalva, ter pensamento analítico significa também saber quais partes serão impactadas com essa sua solução, sem falar que, você precisa ser capaz também de mensurar esse impacto e ainda saber, se vale a pena continuar com tal solução, sempre digo que arquitetura de software, tem muito a ver com decisões e nesse momento, seus conhecimentos sobre esse assunto somaram muito, muito mesmo.

Escrever código legível

Evite complexidade desnecessária! Pronto, isso pra mim significa tudo nesse item. Claro que aqui podemos mencionar outras coisas que já são de conhecimento de todos, como por exemplo, o nome das variáveis, das classes e métodos ou funções por exemplo, tudo isso deve ser condizente com o que se deseja que o código faça.

Tenha sempre em mente que, antes de tudo, você escreve códigos para humanos, seja pra você mesmo ou para alguém da equipe ou para quem vier depois de você, somente depois é que esse código será transformado em linguagem de máquina.

Convenção

Cara, isso pra mim é tão importante quanto todos os itens anteriores, sabe por quê? A impressão que fica quando você escreve código fora da convenção é que você é um estranho no meio da comunidade ou que é desleixado.

Para quem ler o seu código, é algo invasivo, algo alienígena, juro pra você, é isso que sinto quando estou trabalhando em um código inicialmente escrito por outra pessoa que não “respeita” as convenções. Quero deixar claro também que não estou dizendo que você deve seguir cegamente a convenção, tem coisas que mais vale o bom senso do que uma recomendação. Dito isso, vamos à próxima característica.

Humildade

Palavra simples, de 4 sílabas mas com um valor e significado enorme, pior que muitos programadores simplesmente a ignoram, se colocando acima de todos e de tudo, se considera um deus (com “d” minúsculo mesmo).

E quando digo ser humilde, estou me referindo a respeitar e ajudar os iniciantes e principalmente, saber pedir ajuda! Pedir ajuda não é sinônimo de fraqueza ou ignorância, é reconhecer que você não é obrigado a saber de tudo e que sempre terá, em algum lugar, alguém que saiba algo que você desconhece inicialmente.

Eu já trabalhei em muitas empresas e, em uma delas, tinha um colega que repetia com frequência a frase… “Sou eu que mantém essa empresa, se não fosse por mim, esse software não funcionava…”, isso numa equipe com mais ou menos uns 8 programadores, eu pensava, então porque a empresa mantém todos os outros programadores na folha de pagamento?

Ser capaz de aprender rapidamente

Uma característica muito comum entre os programadores, ser autodidata… Isso permite você está em constante evolução e te força a desenvolver métodos de aprendizagem que facilita a fixação de novos assuntos.

Assim como em diversas áreas do conhecimento, a tecnologia evolui muito rápido, então é comum as empresas ou mesmo você ter a necessidade de usar novas stacks no seu projeto de software, então se você ainda não tem nenhuma técnica ou método que te faz aprender rapidamente, sugiro você pensar a respeito disso o quanto antes.

Aí a pergunta de 1 milhão de dólares… Francisco André, qual o método que você utiliza para aprender rápido novas tecnologias ou assuntos que você precisa? Bom, o que serve pra mim, pode não servir para você! O que você precisa é se conhecer melhor, identificar o horário em que você está mais disposto, o local ideal, você prefere textos/livros ou vídeos? Faça essa reflexão primeiro, daí você dar o próximo passo que é fazer uso de técnicas já comprovadas de produtividade.

Está aberto a mudanças

Principalmente hoje em dia com as metodologias ágeis pregando isso a todo tempo, mudanças vão acontecer e vai ser mais fácil se você abraça-las logo de primeira, claro que tudo tem um limite né, você e a equipe deve julgar se tal mudança faz sentido ou não, se vale a pena ser inserida nesse momento ou em outro mais oportuno.

Conhecer bem a regra de negócio do seu cliente

Como é que você vai ser capaz de resolver determinado problema se você não o conhece a fundo? Como é que poderá propor uma solução sem esses conhecimentos? Na minha cabeça não faz sentido, é preciso conhecer bem a regra de negócio do seu cliente ou do mercado em que a empresa que você trabalha está inserido.

Isso inclusive, é um diferencial entre programadores que só dominam a linguagem de programação e só implementam soluções que lhe é entregue e os que dominam a linguagem e os negócios dos seus clientes, conseguem até inovar com mais facilidade.

Conhecer bem a stack de desenvolvimento

Que tipo de programador você? O Especialista ou Generalista? Domine a stack de desenvolvimento utilizada na empresa ou por você, torne-se um especialista nela, você vai sentir na pele a diferença, a produtividade, a capacidade de gerar soluções ou aplicar recursos da sua stack no problema.

Vou contar uma história pra vocês, engraçada e irônica… Certa vez fui numa entrevista de emprego e chegando lá, o recrutador como era da área, me pediu pra ver um código fonte que eu tenha desenvolvido, mostrei então alguns repositórios e então ele fez um comentário: “Vejo que você usa demais o framework e pouco a linguagem…”.

Confesso que inicialmente fiquei confuso, então ele explicou, eu preciso de um Programador Python que conheça bem a linguagem e seus projetos são todos feitos em Django e utiliza muito os recursos do framework! Eu simplesmente respondi que algumas rodas não precisavam ser reinventadas…

Saber fazer as perguntas certas

E por último, mas não menos importante, faça as perguntas certas! Antes de perguntar, saiba exatamente qual é a sua dificuldade, em qual parte você está empancado, isso vale tanto na hora de pedir ajuda aos colegas como fazer uma pesquisa no Google ou mesmo no StackOverflow.

Bônus

Programe todos os dias! Sim, sábado, domingo, feriados enfim, principalmente se você está num estágio inicial, você precisa criar musculatura cerebral e para isso, você deve praticar, muito, todos os dias, várias horas (alternadas claro), resolva desafios, comece pequeno para não se desmotivar, mas vá avançando a complexidade dos problemas, use sua criatividade para criar situações que envolva códigos.

Conclusão

Bom, disse no início do artigo que isso tudo são reflexões pessoais, não tenha isso como uma verdade absoluta, na verdade, nada na vida você tomar como uma verdade absoluta, questione, investiga, critique, busque outras fontes, faça isso para tudo na vida e sinta a evolução na sua vida.

No geral, se você ficou até comigo, te agradeço do fundo do coração, isso significa que consegui atingir meu objetivo, eu falei de algo que foi útil para você! Agora, preciso que você faça a sua parte, isso mesmo, participe! Comente, deixe sua opinião, isso é um assunto que rende muito! Outra coisa, compartilhe, se você acha que outras pessoas precisam desse texto, envie pra ela, compartilhe nas suas redes sociais, sem falar que isso vai me manter motivado a continuar escrevendo mais por aqui.

Um forte abraço, fique com Deus e até a próxima! ❤

4 thoughts on “Como ser um programador(a) melhor

  1. Excelente publicação e tenho seguido alguns desses passos, entre eles: “programar no sábado, domingo, feriados enfim, principalmente se você está num estágio inicial, …” .

    Já estou esperando por novas publicações!

  2. Cara… eu estou naquela fase de quando não consigo sentar e programar, fico imaginando a solução de alguns problemas, básicos, mas suficientes para mim deixar antenado.
    Obrigado pelo artigo!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *