Pular para o conteúdo principal

O que é um programador competente?

Quando pensei em ter meu blog, meu objetivo principal, sobretudo, era que ele servisse como uma espécie de cápsula do tempo que me permita daqui alguns anos revisitar as ideias que compõe minha pessoa de hoje e que certamente serão alicerces para o José do futuro.
Dada essa introdução, Eu pretendo nesse post, relatar uma reflexão que tive recentemente acerca do meu começo de carreira, e traçar um paralelo com o que acredito ser um programador competente.
Quando comecei, lá em 2012, estava no começo do curso de Análise e Desenvolvimento de Sistemas da UTFPR de Cornélio Procópio, e foi um choque imenso perceber que um dos melhores alunos do ensino médio não passava de um aluno abaixo da média na universidade. Não vou aqui culpar o sistema público de ensino, até porque, mesmo vindo de uma família pobre, a cidade aonde cresci sempre me permitiu acesso público e gratuito à muita coisa boa, mas ainda assim, a parede era enorme.
Tão logo, notei que chegar do curso à meia noite e ir dormir era um luxo que eu não poderia manter se quisesse superar minhas entregas em sala de aula. Foi aí que comecei a me organizar pra sempre fazer as atividades e revisão após a aula, e com o tempo comecei a virar frequentador da biblioteca do campus. Nessa época, eu trabalhava em uma usina de açúcar e álcool, e acordava todo dia às seis da manhã para ir trabalhar; saía do trabalho; tomava um banho; ia à universidade; retornava à meia noite e estudava até às duas e meia da manhã (aproximadamente).
Não que isso fosse saudável, mas com o tempo a estratégia começou a me deixar com o raciocínio mais aguçado, e comecei a melhorar minhas estratégias de estudo (fui me conhecendo melhor). E isso permitiu não só acompanhar e progredir nas aulas, mas me dar segurança de começar a trabalhar de fato.
Foi aí que em 2014 comecei a atuar como freelancer, e confesso que quebrei muito a cara, e ficou claro que por mais complexo que as aulas fossem, eu ainda estava com a bicicleta de rodinhas, e o mercado era um grande monociclo ladeira à baixo. No entanto, fui capaz de observar ao meu redor e acumular experiências e aprendizados que hoje me guiam.
Enfim, dei toda essa volta pra dizer: SEJA SUA VERDADE.
Se você realmente quer ter uma carreira na área, não venha com papos extremos, como: "Ain, faço porque amo", ou "Ain só faço pra ficar rico". Pois, primeiro: Na vida adulta e profissional, é preciso ter maturidade e responsabilidade para entender que às vezes vamos precisar fazer aquilo que não gostamos; e segundo: Bill Gates e afins são exceções à regra, e se você acha que merece ganhar mais se faça a seguinte pergunta: "Eu gero lucro suficiente pra ganhar mais e ainda manter a empresa lucrando? Ou ganho mais do que mereço?".
Uma coisa que aprendi nesse processo até aqui é que um programador competente é aquele que domina os alicerces da área (excelente lógica de programação, código organizado e limpo, com boas implementações de técnicas e padrões), tem uma visão de negócio que permite olhar para um problema de várias perspectivas, na medida do possível, e sobretudo, é capaz de aprender qualquer tecnologia, ou ferramenta nova, porque seus ALICERCES SÃO SÓLIDOS.
Entenda que muitas ferramentas e linguagens que você usa hoje e endeusa como um cálice sagrado, nem existiam há 15 anos atrás e que certamente, a maioria não resistirá ao tempo. Entenda o que você realmente quer, se situe na carreira e entenda que SER SUA VERDADE significa não terceirizar decisões.

Comentários

Postagens mais visitadas deste blog

Como serializar todos os dados de um formulário em um objeto JSON usando jQuery? #fastTip

Um dos pilares de um código bem escrito é: DRY (Dont Repeat Yourself - não se repita). Acontece que muitas vezes nos deparamos com situações que por conta da necessidade de entrega expressa (famoso código miojo - feito em 2 minutos), acabamos deixando de aplicar boas práticas. O que difere um amador de um profissional é a sua capacidade de avaliar o impacto que um código mal escrito causa e identificar os caminhos pra resolver esses impasses. Enfim, vamos ao que interessa: O Problema Desejo criar um objeto JSON à partir de um formulário, para ser enviado em uma requisição assíncrona. Atualmente, o objeto é criado assim: var data = { name: $('input[name="name"]').val(), email: $('input[name="email"]').val(), }; Olhando pra esse código, vemos diversos problemas: Se mudar o name do input, precisará ir lá no código para alterar a atribuição. Se houver um formulário com 20 campos, terá que fazer 20 atribuições, e assim por diante. A Soluçã...

Prefira exceções à códigos de erros #FastTip #CleanCode

Gostaria de compartilhar com vocês uma técnica que aprendi a me acostumar ao longo dos anos, mas que conheci pelo livro do Robert C. Martin, o Clean Code . De forma bem sintetizada, o autor relata que uma boa prática é retornar exceções, ao invés de códigos de erro, pois isso evita a escrita de códigos de verificação, e mantém ele enxuto, mais confiável, sem aberturas para bugs relacionados à erros não previstos. Esse conteúdo você encontrará no capítulo 3 (página 46 - 47) e no capítulo 7 (página 103 - 112), do livro supracitado. Aí como exemplo, desenvolvi um pequeno código Javascript que pode servir de referência para os demais, por ser simples de entender. // ----------------------------- // Criei uma classe genérica que permite acesso ao objeto // Error, padrão do JS, e escrevo a stack trace nomeada // à partir de um Error genérico class GenericError extends Error { constructor(message) { super(message); this.name = this.constructor.name; Error.captureStackTrace(t...

Desenvolvendo um mapa usando ReactJS, MongoDB e um pouquinho de Redux - Parte 1 #BoraCodar

Sou um entusiasta desse negócio de transformar minhas ideias em código e ainda mais, quando isso me traz alguns bônus como: Aprender algo novo; contribuir com a comunidade; ou qualquer outra coisa que envolva sair da rotina. Sem mais delongas, dias atrás após conversar com alguns amigos do laboratório de computação da UEL (Universidade Estadual de Londrina), percebi que muita gente sai do ensino médio sem uma noção de quais cursos interessantes existem perto de onde mora, ou pior, aonde ela poderia encontrar aquele curso que mais se encaixa em seu perfil. Eu mesmo, antes de ir pra computação fiz 2 vestibulares na área de humanas (História e Ciências Sociais - ambas na Unesp) e um em computação (Fema - Assis, SP). Contudo,  quando saiu a nota do Enem vi que havia uma universidade próximo da minha cidade que era federal que que aceitava o programa Sisu. Foi assim que ingressei na UTFPR de Cornélio Procópio. Essa odisseia toda, me fez refletir que seria interessante usar meu tem...