Three skills I should have learnt years ago
Tags: career, growth, softskills
Published: 2023-08-15 05:32:48

You are a fourteen years old and just because you learned how to write your first BASIC program on your [C64](https://en.wikipedia.org/wiki/Commodore_64) you feel you can ace every programming problem in the world.

```Basic
READY
10 PRINT "Hello World!"
20 GOTO 10
```

From that moment on, you only focused on improving your technical skills and focusing a lot on learning programming languages.
I was that guy and in retrospective after almost 20 years in the software industry there are few lessons it took me years to learn I want to share with you so you can learn them much earlier.

### Improve your social skills
I've always been shy and afraid to express my opinions for fear of being proven wrong and making a bad impression. I tell you what. I discovered that others are not as critical of me as I am of myself. Remember that no one is harsher or more unforgiving than yourself when it comes to what you say or do. 
Nowadays, I speak up more frequently because I enjoy being proven wrong. It means I discovered something new. I discovered that when I participate in a community, I learn more, gain trust in myself, and have the opportunity to help others, which is something I enjoy doing. So, my advice is to express yourself and don't be afraid to be proven wrong.
Join one or more communities that interest you and interact with others. There are a lot of them, and they're easy to find on social media.

### Improve your writing skills
At my computer science class in school during my assignments  I have always underestimated the importance of doing a good and clear written analysis of the problem. My focus was only on craft a beautiful and compact pseudo-code and translate it in a programming language. The teachers pointed out a lot of times I was not paying enough attention to let others understand clearly what I wanted to achieve. You know when you are teenager. You don't listen, you think others are not as smart as you are. Why words are needed when they can just admire your craft and perfectly understand what you want to do?
Today writing an effective Design Document, Technical Strategy,  Programming language evolution proposal or a Technical Vision make sure your ideas are well understood from your peers and from decision makers. It is easier to make your idea to move forward and having people jumping on your idea when you clearly express what you want to do and why you want to do it. It is very important if your idea is big and complex and needs funds, maybe a team or if it is important that gets prioritised among other great ideas.

### Improve your presentation skill
It is important to be motivated, it is equally important to be able to motivate others. What is more effective of a good presentation or talk with a good mix of humor and suspense to capture the audience and keep the attention high?
When I started to give presentations at work, they were not so effective. Slides full of wall of text that I was basically reading without any emotion. I was fortunate enough to attend some nice talks and learn from very talented people that even spent time with me to improve my presentation skills. A good presentation plants a seed in others, get people excited about an idea. The result is that you will witness people starting building on the message you presented some time ago

## Conclusion
It might sounds counter-intuitive to work on skills unrelated to the software engineering to be able to better solve complex technical problems. The effort to learn them pays off more than you might think, not only to succeed at your work but they will greatly help you in life also.