What Makes a Great Developer?

shutterstock_246127807

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.

Broad Knowledge

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.

Want to develop for the Web? Prepare to know JavaScript, HTML, CSS, SQL, Node.js, PHP or ASP.NET, and much more.

Is developing games more to your liking? Not only will you need a firm grasp of C++, but also knowledge of UX, modeling, AI, and so on.

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

It’s one thing to build a new piece of software; you also need to know how to make it as perfect as possible. While you don’t necessarily have to specialize in quality assurance (QA) as a career, you should know how to solve problems quickly, especially within teams. QA testers are generally knowledgeable in the most popular programming languages, such as JavaScript; in addition, they have a range of soft skills, because solving software problems often necessitates interacting with a diverse crowd of people.

Soft Skills

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.

Conclusion

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.

Image Credit: ronstik/Shutterstock.com

Comments

One Response to “What Makes a Great Developer?”

July 20, 2015 at 12:03 pm, Dan Sutton said:

That’s a very good article – especially the part about breadth of knowledge: this is true in all things, not just programming.

I’d also add Dijkstra’s observation: that the most important language for a programmer to know is his own: an English-speaking programmer must master English, for example.

This reasoning stems from that fact that (as an adult, anyway: small children think in pictures) you can only think what you can say, and if you can’t express a thing, then you can’t think it.

Incidentally, there’s a bug in this page: you can’t post comments from Internet Explorer – it just throws an exception.

Reply

Post a Comment

Your email address will not be published.