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.