It's tough to be a programmer.
You are always under pressure to finish your work within limited time.
Even when you are not programming, all that's running across your mind is how to solve that critical bug before the day ends.
So you may wonder if you really need these business skills to succeed as a programmer. That too, when you have so much to do. The last thing you want to learn is a bunch of non-programming skills.
That's why, before we start, I want to make this clear. If you want to improve as a programmer then the most important thing to do is to program as much as you can.
So, if you are bad at programming, the first thing to improve is your programming skills. Make no mistake about that.
I insist you to improve your business skills, only because I know how important they are from my own experience. Not that I am great at programming, but I have seen programmers with lesser capabilities, advance in their career by just polishing their business skills.
Some even manage to get better promotions, by pleasing their superiors, even though they are terrible at producing anything.
But I don't want you to be one of them. I really appreciate good programmers who actually get the work done. But, it makes me sad to see good programmers getting unnoticed in their organization, just because they lack some basic business skills.
Once you think you have the capability to produce great things on your own, then you will realize your limitations as a programmer, and why having only programming skills isn't enough to succeed in the tech industry.
That's when having a few business skills comes in handy.
So what business skills do you need to succeed as a programmer. Here are the most basic, but without any doubt, the most important ones.
It requires good, if not great, communication skills to express your ideas and opinions to others. Whether they are your team members, junior programmers or your project manager, they must understand what you want to say.
There is a simple art of being humble and talking clearly with everyone. More importantly, be yourself and communicate confidently using a simple tone.
If you want to be professional, learn to write like one. Even if you are a great programmer, but your email feels like a poorly written block of text, the person who reads them is likely to feel that you are an immature programmer.
Write professional emails and come directly to the point. See how your superiors write emails to your team members and senior managers. If necessary, copy their template. There is no need to reinvent the wheel. Sometimes, a little tweaking works just fine.
If you aim to become a project manager, learn to assign responsibilities and manage people. In a team, every member has unique skills and a unique personality.
Creating a great product requires great effort from every member of the team. Your job is to make sure that everyone gives their best shot at work. Read management books and learn from other project managers in your organization.
Nobody listens to a manager who lacks conviction and fails to inspire. You have to lead by example. If you never take shortcuts and do quality work, your peers are likely to recognize it and respect you for doing so.
Once you gain their respect, it becomes easier to give instructions and delegate responsibilities.
Be a great team member.
Having all the above skills won't matter, if you fail to be a great team member. Help junior programmers, listen patiently to senior programmers, and try to reduce conflict between team members.
In short, be that guy who everyone wants in his team. Be a great coworker and make your presence known to everyone by your positive approach and dedication towards work.
Armed with these basic business skills, go ahead and show your programming expertise to the world.
Let people know you, not simply as another programmer, but someone who actually solves important problems for the organization.