How to be a successful software developer
Be of service.
This is simple to talk about, but difficult to practice. The key is to adopt service focused approach to your profession. This technique is powerful because most developers spend all of their time thinking in a “nerd technical” way as opposed to a “how to serve people” way. To put it another way, if you want to become successful, you need to start solving a different set of problems. You need to use what you know about software to solve other people’s problems.
Thinking of service first, and the task at hand second is a time tested approach for success for almost any type of profession. Good professionals are “of service”. They begin with service and end with service. Their clients (users, bosses, other developers, other departments) all depend what they produce. So your first and last task is to make yourself of maximum use to your users. A developer can raise the quality of their output by focusing on “being of service” to their clients. Simple right? No, not really. In real life this is really hard. But if you do it well, the service oriented approach will make you indispensable to your clients or employer.
Being of service requires listening skills. This is something that developers usually struggle with. We’re just not trained to focus on the end users experience. We usually focus on details of implementation. I mean, it’s hard enough getting the program to work like the specification states, when are we going to find time to get all ‘touchy-feely’ with users? This is where the rubber meets the road. Your task is to train your technical brain to see things the way your users see them. If you can accomplish this superhuman feat you’ll know exactly where to laser focus your efforts on your product. To look at it another way, you are making sure than not a single moment of your precious time is wasted on details that will never matter in the real world. At some point in our careers most of us worked really hard on the ‘must have’ feature that was promptly discarded on launch day.
Software nerds like to think of their brains as powerful equipment capable of solving complex problems. We rarely take to time to think about how our efforts directly impact the people we serve. In reality, we’re usually so busy solving problems that we rarely get to see our work in action. If we were to spend more time thinking about how our contributions affect users we would have more insight into how to make more meaningful contributions
If you’ve been a developer for very long you’ve certainly experienced a user saying something like “Wow, this makes this my day so much easier!” When you hear this you feel proud of your accomplishment and might think to yourself, “glad it worked out, it wasn’t much effort, I just added a simple function.” But don’t discount your efforts so quickly. When the recipient of your effort expresses gratitude then you’ve just accomplished one of the most basic and difficult to master tasks of human endeavor, which is to “be of service”.
By focusing on the service aspect your profession you’re leveraging a part of your brain that developers aren’t really trained to use. You’re focusing on the client first and the task second. Doing this will lead to success because you’ll always be focused on meaningful work. This means starting with the simple idea “how can I directly serve another person” and ending with the implementation of what service means to the client. This is a simple equation but it’s difficulty lies in the discipline of getting out of bed everyday and asking yourself “how can I be of service today”. If you can do this consistently you’ll never be out of work and you’ll receive plenty of gratitude for all your hard work.