Heyy dev, você é iniciante? Leia esse artigo.
Refletindo um pouco sobre meu próprio desenvolvimento pessoal, me perguntei quais qualidades e detalhes podem ser importantes na avaliação de uma jornada neste mundo da programação. Olhando para trás nesses um ano e poucos meses de desenvolvimento de software, eu vejo, que algumas coisas, na minha humilde opinião, podem ser muito interessantes para desenvolver e ganhar uma certa habilidade para trabalhar com projetos/produtos de software, segue abaixo uma lista de coisas que considero um guia para iniciantes nessa área.
Fundamentos Primeiro
Às vezes, a perspectiva de aprender diferentes idiomas, diferentes linguaguens, o que quer que o mercado exija no momento, ou desenvolver o mais recente projeto tecnológico parece muito emocionante. A ideia de aprender e o que todo mundo está falando, o que é exigido na maioria dos empregos abertos e tudo enche os olhos de muitos desenvolvedores.
Acontece que existe um aprendizado natural e saudável, não é muito conveniente pular etapas, é sempre necessário aprender o conhecimento de algoritmos, estruturas de dados, paradigmas de programação, etc. Linguagens/tecnologias da moda mudam com o tempo, mas o conhecimento por trás deles permanece sólido e útil ao longo dos anos.
Surfar na onda atual, aprender rapidamente a tecnologia e aplicar esse conhecimento na prática é interessante e necessário. No entanto, seguir esse caminho sem o embasamento necessário pode criar lacunas que impedem diretamente o atendimento de requisitos e problemas específicos que são comuns no dia a dia do desenvolvimento de software.
Continuidade é melhor que variedade
Um tanto contrário à ideia do primeiro item desta lista, este item é mais sobre tecnologias. No software, conhecer diferentes linguagens e recursos nos dá diferentes formas de ver e propor soluções para os problemas. E deve ser constantemente equilibrado para tirar o máximo proveito do que você faz. Mas dominar uma linguagem de programação, conhecer todos os seus recursos, escrever um código elegante e sustentável que aproveite o melhor da tecnologia escolhida... Isso inevitavelmente leva tempo. Portanto, a estratégia legal é mergulhar em uma tecnologia por vez e perceber que é preciso avaliar o momento certo para diversificar o conhecimento entre diferentes tecnologias.
Para uma equipe de desenvolvimento, conhecer muito bem alguma tecnologia geralmente é mais perspicaz do que saber muito pouco sobre tudo. Especialmente em uma situação em que o desenvolvimento e o desenvolvimento ágil exigem soluções cada vez mais fortes e valiosas como ponto de partida para a competitividade e as mudanças digitais.
Simplicidade
Um programador realmente bom deve saber como escrever um código que não apenas atenda bem ao objetivo comercial, mas também seja consistente, sustentável, flexível a mudanças, escalável e, portanto, facilite a vida de outros programadores que trabalham no mesmo código. E não se espera uma rápida assimilação desse conhecimento, pois requer constantes anos de prática e experiência em programação.
O interessante dessa questão é que sua mentalidade é fazer as coisas com facilidade e qualidade desde o início, isso torna o desenvolvimento do código desenvolvido mais natural e rápido. Escolher pensar e entender o máximo possível sobre como escrever um código que seja fácil de entender e usar como um exercício contínuo fornecerá conhecimentos e insights muito valiosos e divertidos.
Quem realmente gosta de programar costuma ser movido pela curiosidade, e a ideia de buscar essa simplicidade no código é um desafio que inspira e torna a jornada mais gratificante.
Programação como atividade social
A entrega de código não é apenas uma disciplina que exige escrever um código bom e que funcione bem. Costumamos trabalhar em equipe, onde entender o valor que criamos requer comunicação, entendimento e tomada de decisão sobre a melhor forma de solucionar os problemas.
Com tanta interação com outras pessoas e escrevendo códigos que inevitavelmente servem as pessoas, o desenvolvimento de software também se torna uma atividade social. Isso é muito importante lembrar para que possamos desenvolver habilidades não técnicas, empatia e também usar essa realidade para aprofundar nossos conhecimentos.
A grande ideia aqui é perguntar o máximo possível, aprender com as pessoas ao nosso redor, ensinar sempre que possível e claro aumentar ainda mais o interessante desafio de programar com a oportunidade de aprender também perspectivas de relações humanas, de criar uma rede. Isso definitivamente nos torna mais inteligentes e competentes.
Sempre se desafie
É comum ficarmos presos no desenvolvimento, aquele momento em que ficamos sem opções e não sabemos exatamente como resolver o problema, mas com mais criatividade levantamos alguma hipótese que nos leva adiante.
Não importa se programamos a vários anos, ou se estamos começando, este tipo de situação poderá ocorrer e é uma benção que nos faz aprender algo novo sempre que acontece. Se trata de um sinal, nos indicando que estamos indo em uma direção diferente e desconhecida, a partir dali o que vamos aprender irá expandir o leque de capacidade nossa de resolução de problemas.
Se colocar em desafio, assumir novas responsabilidades, tentar ideias um pouco diferentes pode ser muito bom para aprendermos sempre mais. É uma forma de medir o quanto estamos evoluindo, olhando o quanto estamos nos situando em situações que desafiam nossa criatividade.
Participe de mentorias
A excelência técnica será sempre uma ambição de um grande profissional, para atingi-la existe uma gama enorme de conhecimentos e caminhos possíveis, o que torna a jornada e recursos de cada programador único. Neste universo de escolhas, às vezes podemos ficar um pouco confusos para organizar o aprendizado e tomar decisões para o nosso crescimento comportamental.
Quando existe a oportunidade de nos conectar com pessoas mais experientes, então temos uma grande chance de observar, absorver e conversar sobre o que será tratado com mais assertividade do que o puro e simples conhecimento autodidata. Acredite muito em sermos autodidatas e aprenda qualquer coisa por conta própria, mas alguém que consiga nos indicar os caminhos com clareza, facilite e acelere muitas coisas na trajetória.
Neste ponto também cabe enfatizar, que ajudar e ser ajudado enobrece o que fazemos. Então é interessante também difundir o conhecimento adquirido e sempre absorver o melhor das pessoas com quem temos a oportunidade de interagir.
Obrigado, espero que gostem desse artigo. Um abraço!