Quais são as soft skills essenciais a um programador? 😁
Hello world 👋 Gosto desta abordagem de como começo os meus posts, portanto vou continuar. 😜
Hoje quero abordar um dos temas mais importantes para um programador. Não basta ser só bom tecnicamente, mas ter boas soft skills. Soft Skills é o que determina a tua atitude profissional, isto sendo um conceito geral. Abaixo vou explicar mais especificamente o que significa e claro, porque é tão importante para o nosso CV hoje em dia.
O que são soft skills?
Bom, como diz o nome, uma "skill" significa uma habilidade, e podemos ter 2 abordagens: Soft e Hard, onde o Hard refere-se a habilidades técnicas, como por exemplo: sou programador de Frontend, Backend, DevOps que sabe programar em Javascript, Python, Java, por aí adiante.
Quando falamos em soft skills estamo-nos a referir a competências comportamentais, sociais, relacionais e emocionais. Existem skills que são difíceis de serem avaliadas, mas que são essenciais para o desenvolvimento de qualquer profissional, como atitude, trabalho em equipa, liderança, etc.
E o que tem as soft skills a haver com programação?
Tudo, se formos a pensar bem. Um trabalho de um programador não é apenas fazer/ler/refazer código, é também comunicar com a sua equipa possíveis bugs, como solucionou por exemplo ou partilhar ideias para o seu produto/projeto.
Por isso, o mais difícil no nosso trabalho (e claro, todos os trabalhos que precisem de ter uma relação direta com pessoas) é gerir pessoas. É um dos desafios mais complexos e complicados que temos, daí ser tão curioso de como o podemos resolver, de certa forma. Sem essa interação, é díficil de evoluirmos como pessoa e como profissional.
Mas afinal... Que soft skills existem?
1. Comunicação
Para mim, sem sombra de dúvida, é a skill mais importante.
A comunicação, para além de ser a linguagem que nós usamos, é também a capacidade de ouvir, compreender, convencer, negociar, e devem existir mais adjetivos que agora não me recordo. 😅
Sem a comunicação, como sabemos que software precisamos desenvolver? Qual é o objetivo ou características dele? Como negociamos mais tempo para uma determinada tarefa/projeto de um cliente?
As respostas a estas questões só são possíveis se comunicarmos. A maneira como falamos, o quanto estamos dispostos a ouvir, o que estamos dispostos a ceder, e como já mencionei em cima também, o quanto nós somos capazes de resolver problemas.
Quanto mais comunicação existir, mais autonomia/confiança temos com o(s) nosso(s) colega(s) de equipa ou cliente(s). E a partir daí, tudo é possível!
2. Gestão de Tempo
Isto é outra soft skill bastante importante. Sem isto é dificil de gerirmos tudo o que temos para entregar/fazer.
Provavelmente, por causa da falha de gestão de tempo, é possível já teres perdido boas oportunidades. Tenta sempre gerir melhor o teu tempo para o teu objetivo final, o teu foco.
Se não temos um objetivo, fica tudo mais dificil de conseguirmos gerir o nosso tempo. O programador estar ocupado não significa que seja o mesmo que ser "produtivo". Muitas das vezes focamo-nos em tarefas que pouco ou nada têm a haver com o nosso objetivo final. E compensa perder esse tempo?
A gestão de tempo muitas das vezes resulta bem com a criação de hábitos (um bom livro que estou a ler de momento, e que fala bastante sobre o fato de ser produtivo e com uma boa gestão de tempo, é o Hábitos Atómicos de James Clear).
Não existe nada que se possa construir do "dia para a noite", serve também para perceber o teu limite e o limite do outro. E caso vejas boas mudanças, motiva-te, aumenta a tua criativadade, e assim sentes-te mais feliz! Por exemplo, um objetivo meu, é fazer um blog post por 90 dias. É um desafio tramado (para mim), mas estou a sair completamente da minha zona de conforto ao escrever algo para a comunidade e o facto de ser em Português. Daí pedir tantas críticas/sugestões 😀
Resumindo: Prioriza o teu tempo para trabalhares para o teu foco principal. Uma coisa de cada vez, vais chegar ao teu objetivo final! Planear é uma arte, e quem o sabe fazer bem, acho que uma boa percentagem de sucesso está garantido!
3. Resiliência
Foi uma soft skill que aprendi durante o meu bootcamp, e que levo comigo para o resto da vida praticamente (se não sabes do que falo, podes ler mais aqui) é mesmo a resiliência.
Quando nos sentimos desmotivados, a capacidade de superarmo-nos e conseguirmos levantar quase imediatamente, é algo impressionante. A esta capacidade chamamos de resiliência. Nem todos conseguimos isto à primeira, existem pessoas que demoram dias, semanas, meses, anos se for preciso!
Por isso, acho que é uma soft skill também importante, e muitas das vezes, é o que nos dita também se somos bons profissionais ou não, se somos capazes de realmente superar obstáculos ou não.
4. Autoconfiança
Pois é, perante estas soft skills mencionadas antes, se não tivermos autoconfiança, dificilmente conseguimos evolui-las.
Se tu não acreditas em ti mesmo, como esperas que eu ou outra pessoa o acredite? A insegurança só nos paralisa e não nos deixa avançar neste processo de evolução!
Muitas das vezes, sentimo-nos inseguros porque fazemos comparações erradas, e o melhor exemplo para isto, é quando procuramos o nosso 1º emprego nesta área. "Eu acho que não sou capaz de dar conta do recado, sou ainda muito junior, sei pouco. Existe mais developers experientes." São estas justificações que já ouvi tantas vezes entre programadores. Se não arriscares, quem vai arriscar por ti? A pessoa que te está a contratar, sabe que és junior, que vais para a empresa em específico, para aprender, para evoluir juntamente com a mesma. Portanto o erro é normal acontecer, o não saberes também. Agora tens que ser responsável, tens que lutar para evoluir.
Outro conselho que dou é: para de te comparar a outros. Ainda bem que todos nós somos diferentes, que piada tinha se fossemos todos o mesmo?
Uma boa maneira de praticar a autoconfiança, é falares para o espelho. Parece de malucos sim, mas sentimo-nos muito bem connosco mesmo, eu próprio já o fiz, e senti-me bem posso-te dizer que sim.
Ok fixe, e agora como evoluiu estas skills todas?
Bom, praticando, bastante claramente. Implementando novos hábitos, cumprires reliogamente toda uma checklist que podes tu construir do 0, teres X tarefas por dia e aplicares exatamente durante um Y tempo, e assim evoluis todos os dias! E vais te sentir bastante bem com as mudanças. Atenção, não é nada fácil, eu próprio tenho muito desafio que já desisti, mas continuo a aplicar e fazer.
Algumas vezes oiço discursos motivadores como este vídeo, ou aplicando esta frase:
Insista, persista e nunca desista!
Não sei quem foi o inventor 💁
E pronto programadores! É tudo por hoje. Obrigado por teres lido até ao fim 😀.