Aperfeiçoando o desenvolvimento

Dicas para se tornar um
profissional melhor

Jean Carlo Emer
Jun 6, 2015 · 2 min read

Estar junto de desenvolvedores mais experientes é um ótimo termômetro para destacar aquilo em que você precisa se aperfeiçoar. Este breve texto trata de duas disciplinas que tenho dedicado boa parte do meu tempo.

Domínio de teorias

Teoria da computação, Linguagens Formais e Compiladores são essenciais e vão salvar seu tempo de cair em velhas armadilhas. Poder computacional e possibilidade de processar HTML com expressões regulares já possuem provas científicas datadas. Existem bons cursos na Internet que apresentam estas e muitas outras disciplinas teóricas.

Conhecer Modelos e Paradigmas de Linguagens é essencial para apoiar sua escolha de linguagens de programação e técnicas de escrita de código. Novas ferramentas e recursos vão surgir a todo momento e o primeiro passo para sua adoção é interpretar qual o escopo de problemas e abordagens de solução que propõem.

Jamais adote em escala uma tecnologia sem compreender a teoria que a fundamenta.

Aprendendo a abstrair

A principal tarefa de um programador é reconhecer um problema e encontrar uma solução. Participar de maratonas de programação é uma ótima maneira de aperfeiçoar esta habilidade. Mas note que desenvolver vai muito além de programar.

Desenvolver é identificar um problema, escolher as abstrações adequadas, chegar na solução e garantir que o domínio do problema possa ser estendido.

Decidir o quanto um modelo pode ganhar código ou reconhecer que determinada interação entre objetos exige uma abstração intermediária não é tarefa fácil. O entendimento total do domínio do problema e uma visão de evolução do projeto são requisitos para um bom trabalho. Abstrações demais ou de menos serão notadas apenas no futuro quando o domínio do problema precisar ser ampliado.

Inspecionar o código de projetos populares ajuda a aprimorar esta habilidade. Aprender a identificar abstrações e reconhecer níveis de interação entre estas é o que irá garantir um código com baixo acoplamento e alta coesão.


Muitas outras disciplinas são necessárias para se tornar um bom desenvolvedor, mas reconhecer a importância do domínio de teorias e abstrações são traços em comum dos melhores desenvolvedores que conheço.

Tableless

Um lugar para ler e discutir sobre desenvolvimento, design…

 by the author.

Jean Carlo Emer

Written by

Web craftsman and magician of computer machines.

Tableless

Tableless

Um lugar para ler e discutir sobre desenvolvimento, design, web semântica, back-end e outros assuntos relacionados a web. Se você quiser publicar artigos conosco, envie um email: medium[at]tableless.com.br ou *clique no link* http://bit.ly/escreva-tableless-medium

Jean Carlo Emer

Written by

Web craftsman and magician of computer machines.

Tableless

Tableless

Um lugar para ler e discutir sobre desenvolvimento, design, web semântica, back-end e outros assuntos relacionados a web. Se você quiser publicar artigos conosco, envie um email: medium[at]tableless.com.br ou *clique no link* http://bit.ly/escreva-tableless-medium

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store