What makes a good developer? That’s a question that could define your career. Learn the necessary skills and adopt the right attitude, and you could spend the next few decades happily developing software that has a meaningful impact on people’s lives. Guess wrong about what’s necessary, however, and you could have some trouble landing work.
An Aptitude for Learning
You’ve heard it said that technology is a fast-evolving field. It’s a truism for a reason: What’s cutting-edge today, whether in software or hardware, is liable to become an antique within a matter of years, if not months. Sure, there are programming languages much older than the people using them—but those are the exception, not the rule.
That rapid pace lends an advantage to those developers who not only learn new technologies as they appear, but also keep up-to-date on the platforms they already know well. Take a look at the developers you know: The ones who hang around in forums, ask constant questions, and experiment with every new platform are the ones who’re most likely to succeed in their careers.
Expertise in a narrow collection of hardware and software isn’t enough. A solid developer has at least some expertise in servers, desktop clients, and mobile devices.
Mobile development has become so fragmented, meanwhile, that a developer who wants to launch his or her software on a variety of platforms better learn Objective-C and Swift (for iOS), Java (for Android), C, and C++. And that’s even before you begin to absorb the finer points of e-commerce and marketing.
Bugs and Testing
Soft skills include communication, engagement, flexibility, efficiency, and the ability to observe your surroundings in a way that yields actionable insight. While some developers and programmers might dismiss soft skills as secondary to so-called “hard skills” such as actual programming, it’s unavoidable that a developer will have to deal with human beings on a regular basis—and in that case, it’s best to learn the tricks for making sure interactions run smoothly. Knowing Agile methodology—which dictates the development processes in many offices—also helps.
The mark of a good developer isn’t necessarily extensive knowledge of a variety of technologies and platforms—although that doesn’t hurt. Rather, a strong sense of curiosity and a willingness to learn provide the bedrock that allows developers to evolve into masters.