As três soft-skills essenciais para um dev

Nos meus quatro anos trabalhando como desenvolvedor percebi que existem três habilidades que não são técnicas, mas fazem muita falta. Sem enrolação, vamos para a lista:

1ª soft-skill: Ensinar

Alguém precisa formar o dev júnior

Todo mundo sabe que um curso online, um boot-camp, ou mesmo uma faculdade não vai te deixar pronto para o mercado de trabalho. Só tem um jeito de aprender a fazer um código útil para um empresa: fazendo — e aprendendo com os sêniors. E aqui entra a primeira soft-skill.

Mas os motivos vão além. Trabalhei em uma empresa como estagiário e júnior, num total de dois anos. Da mesma forma que fiz processo seletivo pude observar os outros processos, e fiquei muito impressionado negativamente com a qualidade dos candidatos. Esse problema gera uma consequência imediata: as empresas precisam de alguém que possa fazer o trabalho — afinal, existe muito software a ser feito, e muito legado pra ser mantido — mas não encontram alguém que tenha a formação necessária, então a necessidade de alguém para formar os devs é ainda maior.

A segunda habilidade é quase imediata à primeira. Quem ensina é um líder, de certa forma:

2ª soft-skill: Liderar

"O que eu faço agora?"

Todo mundo já se perguntou isso algum dia: você precisa ser ao menos seu próprio líder. Acontece que muitas pessoas estão tão perdidas que nem fazem essa pergunta mais simples, muito menos sabem respondê-la razoavelmente.

Tá bem, talvez essa habilidade não seja necessária para todo mundo. Há quem não tenha o dom, não goste, ou simplesmente não queira. Mas, se você pode liderar e não o faz, saiba que o mundo (e a sua vida) são lugares piores do que poderiam ser, tudo por causa dessa decisão.

Ah, mas eu não consigo! Esse negócio de lidar com gente não é para mim!

Aí você se engana: essa é uma habilidade que pode ser adquirida. E aqui entramos na terceira habilidade, que eu considero a mais importante: aprender a aprender.

3ª soft-skill: Aprender

Uma frase em italico pra ficar igual 😛

É algo meio óbvio, e já bem discutido nas comunidades de programadores, mas é sempre bom repetir: dev, você tem que continuar aprendendo pelo resto da sua vida. As tecnologias melhoram, o mercado muda, criam-se novas soluções para problemas antigos, e problemas novos surgem, pedindo soluções: e a sua tarefa e resolver.

Só que existe algo que não te disseram: você tem uma forma única de aprender, e precisa apreder qual é. Qual o melhor horário? Fazer resumos ou não? Qual curso comprar (enquanto o Filipe não lança o dele)? Sou alguém que aprende melhor com imagens, sons, ou preciso me movimentar? — eu sou do terceiro tipo, não adianta pensar que vou ficar quieto prestando atenção na aula e aprender.

Além desses pontos, existe um certo treinamento do cérebro e da vontade que é necessário ap aprendizado. Quando você pára, acaba "enferrujando". E isso também faz parte do "aprender a aprender".


Essas foram as habilidades que eu mais percebi que um dev precisa para subir na carreira. Você acha que faltou alguma? Acha que uma dessas não é importante?

edit:

Ótimas colocações.

A parte de liderar é algo que precisa ter um dom pra isso, conheço muitos devs, que são ótimos parceiros de um computador, mas pra puxar outros junto, ou engajar eles, ainda falta chão, e eles não precisam se preocupar com isso, exatamente como vc disse. O que vejo em parte dos devs, é aquela teimosia que sempre o usuário está errado e ele certo. Acredito que temos que pensar como usuários antes de julgar essas pessoas, afinal, nós mesmos somos usuários de muitas coisas não é mesmo?

PS, a 3ª soft-skill está escrita faltando uma letra.

Obrigado por mostrar o typo! Pois é, uma grande dificuldade do dev é lidar com pessoas. A maioria das soft-skills que a gente precisa desenvolver trata desse tema: habilidades para lidar com pessoas. Acredito que tenham mais duas habilidades que eu não tenha colocado: vendas e comunicação. ### Vendas e negociação Parece controverso, mas um desenvolvedor precisa saber negociar e vender (ao menos se vender). A negociação de um aumento de salário, por exemplo, a explicação do porquê um usuário precisaria de determinada feature, tudo isso faz parte das habilidades de um vendedor. É claro que não precisa ser um expert, mas é sempre um diferencial saber negociar (e dá um retorno financeiro quase que imediato). ### Comunicação Tremer nas bases na hora de fazer uma apresentação, um pitch, mostrar os resultados de uma prova de conceito... quem nunca? O nervosismo é normal, mas não a falta de habilidade. Não adianta ser um ótimo técnico se você não sabe como comunicar o que fez.