1. Team leading
Teamwork is a basic and unavoidable facet of doing projects. And chances are that if you are good at coding, soon enough you will face the challenge of leading a team on a project. This is seldom easy for anybody at first, especially if staying in the background is more consistent with your personal preference.
But you can make things easier for yourself and others if you learn the basics of leading a team. To that end, remember to focus on people as much as on technical problems.
You’ll also often learn that you just need to let go rather than be stubborn about things—this may benefit the project even if it bruises your ego a bit.
Speaking of ego, it’s OK to lead and still ask for help or advice. It’s not a know-it-all business—things are changing the way to quickly and the whole affair is immensely complex.
If you want and need advice, you will need to keep communication lines open. Otherwise, how are you going to hear what the others have to say?
No matter how brilliant you are, whatever your head cooks up will have to be presented to others. And sometimes this will have to take the form of an actual, formal presentation.
But fear not, simply keeping in mind just this one point—that good ideas have to be presented and shared—should go a long way in helping you make your ideas more practical and therefore valuable.
And then there are the scores of how-to guides on anything from “how to survive giving the presentation in a job you took so you wouldn’t have to talk to people.” Yes, chances are you are going to have to talk to a lot of people. But hey, at least you are not in sales 🙂
Everybody makes mistakes and it’s a good thing to admit you have made one when it happens. But you are a professional dedicated to your job. You are probably good at what you do, so don’t be afraid to make a point and stick to your guts.
This is not to boost your ego but to press a decision or choice that can benefit your team, client, and company.
This may be quite an unfamiliar territory to you as a software dev. Maybe you prefer to lay low and just “do your job.” For better or worse, though, sometimes making decisions and standing by them when it’s right is precisely what your job is.
So be assertive and you will see your respect levels rise with your colleagues and clients alike.
3. Keeping communication brief
Answering a lot of email is something you must probably do each day soon after you arrive at work and get set up. If you don’t know how to handle it skillfully, email and other channels of communication can quickly become a trap that keeps your productivity down.
But if you play your cards right, email, for instance, can also open the way to brief, efficient communication that demonstrates your ability to get your point across in a timely, professional manner.
Efficiency in getting to the point extends beyond written communication to every meeting you attend and work conversation you have, especially with clients. Under the usual time crunch your clients may easily get impatient, so try to focus on the specifics and essentials. Be articulate, avoid jargon and communicate in plain English.
especially towards clients.
The point about communication connects to your ability to practice empathy. If you think empathy has no place in a competitive business environment, you may have a conception of empathy that is a tad too simplistic.
As a software developer, you will need empathy to notice that your colleagues need help or advice. Empathy is also necessary to understand what your company’s clients require, even if they don’t know how to describe or specify it. Finally, you need empathy to properly interpret feedback from others, especially when that feedback is offered implicitly, through gesture, body position, and tone of voice—as happens very often.
With enough focus on developing empathy, you’ll become the inquisitive, helpful and friendly colleague that others look up to and want to be around.
Even though the skills just listed may sometimes be given short shrift as “soft,” they are the constant background and context of a software dev’s work. This is why they deserve your serious attention.
Maybe you currently find yourself in the following confusing situation: Your coding work is going well and has been for some time but you still somehow get stuck and are having a hard time adapting to your company’s rhythms and clients’ expectations. Does the way the company operates seem disorienting? Do client demands seem invariably vague and difficult to negotiate? Some of the problems might lie with your non-coding skills.