Six Tips on Becoming a Better Software Developer

Software engineer at computer.Looking back into the dim recesses of my mind, I cast my gaze upon the short period in which I thought I was going to be a programmer. (We didn’t call ourselves software engineers at my college, I think because we didn’t want to be identified with the engineering college, which was in a building with a massive crack in its foundation and a developing tilt.)

Back then, I was just learning what it meant to code. I didn’t have too many problems with writing code, though my instructors said I did tend to do everything the hard way. (Maybe I did have problems, hmm?)

I guess I really could have used a lot of tips on being a better software developer. So today I’ll share a few tips that I’ve read, heard and even discussed with some “real” software developers.

Keep Learning More: The software industry has as many updates to the many and varied programs and tools as developers make to the applications they are creating and debugging. Never stop learning, or you’ll watch the industry – and your job – leave you behind. Even if you just stick to the software used in your current job, there’s always much more to learn. One of my brothers has been in the industry for years, and he always seems to be teaching himself new skills or refreshing his memory on older skills – and learning how those languages have been updated since he last used them.

Stay up to date with your technology stack and have at least a passing knowledge of its most popular new aspects. You don’t need to be an expert, just visibly competent. Larry O’Brien, SD Times

Learn to Solve Problems: Many people can code and have the experience and/or education to back it up. But how many can actually solve problems?

Develop a Broad Expertise: Today’s work may require .NET, C# and JavaScript. But tomorrow the company may need someone working on another project as the budget runs out for your original contract. If you have the skills for that other project, which might require Python or Ruby or another programming language, you might keep that job, or find another position with another company.

Manage Your Own Career: Few of us ever find a mentor to help guide us through the muddy waters of our lives and careers. Don’t wait for one to find you. Take charge of your own career, starting out by continuing your education. (See above.)

Work on Your Interpersonal Skills: As an adult member of the workforce, you can’t hide behind your computer screen. You’ll need to learn to work well with the rest of the development team. And as you may need to speak with customers to help them integrate your company’s applications, these skills need some additional polish. Knowing your subject matter is the first step to learning how to communicate, but it’s only the first step. You’ll need to know how to explain how problems can be solved, and why your answers suit the project the best.  And you’ll need to be able to explain it clearly enough for non-technical people to understand, too. (What if you have to – heaven forbid – hold a conversation with an end user of your company’s application?)

Understand Business: Most software developers work for a business, but even non-profits have budgets. Your job is to provide more than enough value to the company to justify your salary and position. You’ll need to understand why the company must expect a high ROI, why time to market is so critical and that perfect code will never be created. Understanding what’s important to the business will help you understand decisions that are made that directly affect your work.

Most engineers (especially the really talented ones) tend to waste a huge percentage of their time making improvements to things that won’t make the slightest bit of difference in the grand scheme of things. Slava Akhmechet, Founder at RethinkDB on Quora

What is your best advice for your fellow software engineers?