You might be the best programmer with an unbeatable logic, but there are some skills that you must obtain before it is too late.
As your age picks up, it is a bit difficult to catch up with so many technical advancements and languages that you can do when you are young. But as your grow up, your preferences would change and so would your likes towards programming and development. You slowly will look at managing than developing. You would aim to become a Project Manager or a Delivery Manager or a Vice President of a corporation. At this level programming skills become less relevant and other managerial skills become more important.
Once you reach that level, it is necessary to have some managerial skills to prove yourself in the area of management as well. Following are the skills that I feel that every programmer should aim at to grow up the corporate ladder.
1. Communication skills
Once you become a manage or start to lead a team, having good communication skills is very important. Both written and verbal. Communication is a two way process. You should learn to speak effectively and also listen. The first step is to improve your English language skills. Read this article on How to learn and improve English
2. Inter-personal skills
Inter-personal skills is the manner in which you deal and interact with others people. These people could be your clients, team mates, colleagues, seniors or your friends.
I have been a programmer myself and understand what it means to have an ‘Ego’ and ‘Shyness’. Shed these two attributes and treat each individual as you would want them to treat you. This will not only help you gain more friends, but you will also be easily accepted in various groups.
3. Time Management Skills
Like all other skills, this is also important and cannot be left aside. Every individual has 24 hours in a day. The key part of that skill is how to manage those 24 hours. We are always bombarded with work and family responsibilities. The skill is how to manage the show properly and stike a good balance to achieve all priority tasks.
I personally recommend reading the section on Time management from 7 habits of highly effective people by Steven Covey. He mentions that you should learn to schedule your priority rather than prioritize your schedule. A must read.
4. Task management skills
This skill becomes very important once you elevate yourself from being a programmer to a manager. You should learn to keep track of various tasks, not only for yourself but also of your team members.
The first step is to manage your tasks well when you are a programmer. To manage tasks you should take notes when you are given a task. Maintain a book/calender where you jot down your tasks and prioritize them. Once you complete a task; strike it off. Follow this process and it will automatically become a habit.
5. Presentation Skills
Another important skill to possess is presentation skills. As your experience grows and you start designing applications, your corporation would want you to present development ideas to clients or members of another team. You could also be asked to train internal people in skills that you are good at. In situations like these you should have good presentation skills.
Presentation skills does not get improved in a day. It requires a series of miserable failures to succeed. You should feel comfortable standing in front of a large group of people to deliver a good presentation. I would recommend that you seek opportunities withing your corporation to train people and help improve your presentation skills.
I recommend reading this article on How to power your presentation.
All these skills mentioned above require a considerable amount of time, practice and failing to master. I would recommend that you start now. If you feel shy or are nervous standing in front of people and presenting, then I recommend that you seek opportunity with your current company to present an idea to a group of people or seek opportunity to train internal people; which will help you eliminate your fear of public speaking.
No matter what, don’t worry at all of what your friends or colleagues would think about you. They might mock at you or insult you, don’t worry at all. Over the next 5 years you probably wont meet them at all… so what are you scared of.
Learn, practice and improve… Best of Luck!!!