If you’re up-to-speed on the latest programming languages and the newest frameworks—great! You’ve mastered the technical skills you need to write great code. But having solid technical chops isn’t the only thing needed have a thriving career as a programmer. To really stand-out you’ll need to possess a variety of traits necessary to do the job — and to do it well. Here’s a breakdown of several qualities that make good programmers, well, great: (We realize this list isn’t extensive, so feel free to share what else it takes to be a great programmer in the comments section below!)
- Be well rounded. It’s great to know one technology in depth, but problems in the real world are never solved with just a single technology. Even if you’re hired as a specialist, you still need to understand how your tech interacts with the other software, hardware, and network that make up the application’s ecosystem. You’ll also be able to contribute to your project in multiple ways, helping out wherever more assistance is needed.
- Enjoy solving puzzles. Building applications is not a straightforward process. Figuring out why code isn’t compiling, what’s causing bugs, and how to solve production problems requires puzzle-solving skills, as well as the belief that there’s always a solution and not giving up until it’s found. If you can solve puzzles under pressure, that’s even better—when the system’s down, you can expect management to be breathing down your neck while you figure it out.
- Love learning. Technology is constantly changing. The tools and languages you work with today are not the tools you’ll be working with next year, let alone next decade. You need to always be developing new skills to be able to contribute to upcoming projects. Your employer may provide ongoing training, but the best developers take time to learn on their own.
- Good communication skills. Working as a developer isn’t just about technology. Developers need to talk with business users to understand what they need from the application. Developers also often need to generate technical documents, so being able to write clearly is also important—even if it’s just to produce a status report.
- Confidence. There’s never just one way to build a system. No matter how good your ideas are, they won’t have value if you keep them to yourself. The best developers have confidence in their ideas and speak up in design discussions to help shape the application architecture. To boost your confidence, start with a small suggestion, rather than proposing an entire application redesign.
- Be interested in the business. Businesses use technology to solve business problems. The more you understand about your company’s business, the better prepared you are to understand their problems and build solutions that help them grow. You should take advantage of opportunities to talk to the business users and ask them questions about the challenges they face in their work. If you get really interested in understanding the business, you can take courses or even work towards certifications in the business domain.
- Be a team player. Movies often glorify a solo coder, and students usually work on assignments on their own, but real-world projects are team efforts. It’s important for developers to be able to get along with co-workers. You need to be able to deal with people with varying abilities and respond to differences of opinion respectfully. If you can, get to know your teammates as people, not just technical staff. Having conversations about other things than the project helps form relationships that make working together easier.
- Understand the importance of deadlines. The best project managers will get their developers’ input when coming up with project deadlines, though sometimes external factors drive the schedule. In either case, once you’ve agreed to do a task, do your best to meet the deadline, even if it means a few late nights. You don’t have to give up your whole personal life for the organization, but demonstrating commitment to completing the project and understanding its value to the business make a positive impression at work.
- Be adaptable. Projects and priorities change for many reasons, and developers need to be able to context-switch to focus on what’s most important right now. The changes may be small and temporary or major and permanent. If they’re temporary, make sure you have good notes that will help you get back to your regular work when things settle down. If the changes are permanent, allow time to understand what the new situation is and how you fit into it. It may present new opportunities to help you achieve your goals. In any case, it’s important to respond professionally and not lash out in frustration.
- Own your product. Technically, your job may be done once you’ve written code that compiles cleanly and passes its test cases. Stand out by following it through the rest of its lifecycle—be willing to help with testing, deployment, training users, and solving production problems. While this helps your business, it actually helps you more, because you see and understand the real-world effectiveness of the code you wrote. Then take that understanding and let it help you make your next application even better.
Luckily, there are a lot of great (and free) resources out there at your disposal to help you become a more skilled programmer. Start by checking out this list of the 8 Best Programming Books to Read Right Now if You Want to Distinguish Yourself.