Get All Access for $5/mo

15 Characteristics of a Good Programmer Finding a person with solid skills who is the right fit for you and your team is a challenge but here is how to do it.

By John Rampton Edited by Dan Bova

Opinions expressed by Entrepreneur contributors are their own.

Business leaders are often challenged to find talented, experienced programming staff, especially if salaries must fit within certain budget guidelines. The fact that most of a programmer's work is conducted in front of a screen makes the hiring process even more complicated. Over the past few months I've been hiring a bit of tech talent for my latest startup This has been a big challenge as I live in the heart of Silicon Valley and talent is hard to persuade to leave big companies with large paychecks to work for a new, hip startup.

With everything I've been going through, I decided to write a post about some of the characteristics in the best programming talent that I've been able to attract to my startup. Beyond knowing the programming languages necessary to do the job, there are certain requirements that are essential in hiring the right programmer.Here are 15 characteristics that can signal an applicant would make a great addition to your programming team.

Impressive technical skills

One mistake many hiring managers make is hiring from a checklist of requirements. Instead of requiring three years of C++ and one year of Java, look at the big picture. A programmer who has worked mostly in an older language but has recently added a new language to his certifications may be the perfect fit, since his years of experience give him a great foundation in other areas of programming.

Sample interview question: Describe your experience with different programming languages.


Willingness to learn

Technology is always evolving and the skills and abilities a programmer has today will likely be outdated in a few years. It's important to find a programmer who has an interest in following the latest trends and is eager to participate in any continuing education opportunities that are available.

Sample interview question: What do you do to keep your programming skills current?

Related: 5 Effective Hiring Tips for Early-Stage Startups


Debugging skills

Creating code is only part of a programmer's job. When software doesn't work as expected, a programmer is expected to get to the root of the problem quickly and effectively. Instead of spending hours blindly making changes, search for a programmer who prefers to carefully investigate his code and research possible issues until an answer is found.

Sample interview question: How do you handle bugs in your code? (next, I would give them a trial run to debug code)

Work environment match

Some programmers require complete silence to concentrate, while others thrive in chaos. A worker's personal preferences are an important part of his productivity, so it's best to be clear about your office environment up front to avoid problems after the person is hired.

Sample interview question: Describe your ideal work environment.

Problem-solving skills

For those who have never attempted to create an application from scratch, programming can best be compared to solving an extremely difficult math equation. A good programmer thrives on finding ways to make something work, despite the odds. Otherwise, you may be hearing the phrase, "That can't be done," every time you propose an innovative new project.

Sample interview question: How would you create (insert near impossible task for your organization)?

Passion for the work

While some programming staff can simply serve as nine-to-fivers, many hiring managers are interested in finding someone who will gladly put in long hours when the situation merits it. Often these employees can be found during the interview process by their outside interests. True programmers are self-proclaimed "computer geeks," spending their time gaming, building servers, or creating apps for friends. While this passion isn't a necessity, it's often a way to find top-shelf candidates.

Sample interview question: What are your hobbies?

Grace under fire

It may not seem like it to the outsider, but programming can be an extremely stressful profession. When deadlines are tight and nothing seems to be working, it's easy to freeze up. The ideal programming candidate will be able to handle even the most stressful situations calmly and, most importantly, be able to continue working.

Sample interview question: Describe a time when you were under extreme pressure and your application wasn't working. What did you do?

Related: 10 Signs Not to Hire the Person You're Interviewing

People skills

Programmers generally aren't expected to have heavy-duty customer service talents. It seems to be understood at the outset that they'll mostly be sitting in front of a computer all day. Yet programmers are regularly expected to interact with managers, co-workers, and clients, so the ability to work well with others is a must. This is especially true if your programmers are occasionally asked to participate in client meetings and explain how a system works.

Sample interview question: Explain how your favorite application works in a way a layman would understand.



Larry Wall, the original author of, The Perl Programming Languages, describes three good qualities in a good programmer: laziness, impatience and hubris. Laziness may sound like a bad trait for any employee to have, but IT managers have said that if you want to find the best way to do something, ask a lazy person. Chances are, that person will have found the quickest, most efficient way to do it. A company's programming staff can often find a way to automate processes, saving time and money.

Sample interview question: Tell us about a time when you saved time by automating a process.

A business perspective

It's easy to lose sight of the big picture while focusing on creating one piece of software. The ideal programmer has a business focus that allows him to move beyond the current application. A business-focused programmer will suggest ideas for new applications that can improve operations.

Sample interview question: Have you ever made a suggestion that improved a business's processes?

Ability to plan

Rather than jumping into a new assignment, a good addition to your programming staff will first learn as much as possible about the desired end product. Once he's completed that analysis, the programmer will first design the program structure before typing the first line of code.

Sample interview question: Explain your approach to a new design. What do you do first?

Ability to handle failure

Programmers rarely get everything right on the first try. In fact, failure is almost a certainty. It's important to find programming staff that sees errors and bugs as a challenge rather than a sign of defeat. Persistence is important, as well as the ability to start over if necessary, even after hours of work.

Sample interview question: Have you ever spent hours on a code, only to find it was the wrong approach? What did you do?

Teamwork mentality

A programmer rarely works alone, even if he's the only developer in a company. The ability to work with programmers, business users, marketing and sales staff, and fellow programmers is essential.

Sample interview question: Share a rewarding team experience.


Willingness to research

A programmer's language is only part of the picture. A good developer must learn about specific industries in order to design programs that work for its employees or customers.

Sample interview question: Tell us about a time you had to learn about a particular business? How did you do your research?

Respect for deadlines

Most programmers work on projects with deadlines. While it's important that managers understand a reasonable turnaround time for coding a new application or repairing an existing one, programmers should also show respect for deadlines. It's important to determine that an applicant will do everything possible to meet assigned deadlines.

Sample interview question: Describe a time when you had to meet a tight deadline.

It isn't easy to find the right programmer, especially if your knowledge of programming is limited. One way to improve your hiring experience is to invite a member of your programming staff to participate in the interviews. They help to ask the questions that you won't know how to ask.

Related: 10 Questions to Ask When Hiring Your Company's First IT Support Person

John Rampton

Entrepreneur Leadership Network® VIP

Entrepreneur and Connector

John Rampton is an entrepreneur, investor and startup enthusiast. He is the founder of the calendar productivity tool Calendar.

Want to be an Entrepreneur Leadership Network contributor? Apply now to join.

Editor's Pick


Are Your Business's Local Listings Accurate and Up-to-Date? Here Are the Consequences You Could Face If Not.

Why accurate local listings are crucial for business success — and how to avoid the pitfalls of outdated information.

Money & Finance

Day Traders Often Ignore This One Topic At Their Peril

Boring things — like taxes — can sometimes be highly profitable.


Want to Be More Productive Than Ever? Treat Your Personal Life Like a Work Project.

It pays to emphasize efficiency and efficacy when managing personal time.

Business News

'Passing By Wide Margins': Elon Musk Celebrates His 'Guaranteed Win' of the Highest Pay Package in U.S. Corporate History

Musk's Tesla pay package is almost 140 times higher than the annual pay of other high-performing CEOs.

Growing a Business

He Immigrated to the U.S. and Got a Job at McDonald's — Then His Aversion to Being 'Too Comfortable' Led to a Fast-Growing Company That's Hard to Miss

Voyo Popovic launched his moving and storage company in 2018 — and he's been innovating in the industry ever since.

Starting a Business

I Left the Corporate World to Start a Chicken Coop Business — Here Are 3 Valuable Lessons I Learned Along the Way

Board meetings were traded for barnyards as a thriving new venture hatched.