40

Why you hire bad programmers – finding better programmers

 5 years ago
source link: https://www.tuicool.com/articles/hit/MJ3Mz2U
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

This post is all about why you hire bad programmers. When companies hire someone, they stress on functions and third party code. Most of the questions are related to array and string functions, modules and frameworks. For them, if someone is a programmer, they should be working in a framework. Worst case scenario, he should remember all the functions. Before we understand your psychology behind hiring bad programmers, we must understand who is a bad programmer and who is a programmer .

Who is a programmer

Programmer is not a coder. There is a significant difference. Programmer is not a software engineer either. Coder can code, programmer can program. Engineer can engineer. See… Its easy to understand the terminology this way.

Coder

A coder can write code. But he can’t program. Most of the time, a coder will write some code with simple logics. His code will heavily be dependent on third party code or frameworks. He probably misinterpreted the famous saying, “Why reinvent the wheel” and thinks there should be something already available to help him out. He never comes up with own code. To learn something, he takes screenshots of code. Worst, he takes videos of code.

Engineer

To be an engineer, one must get a degree. But that degree is in no way a gauruntee of good code. Engineers are taught computer science from the bottom up and how a software should be made. But then it depends on the person to actually learn industrial level skills.

Programmer

A programmer is someone who can write code and can solve problems on his own. He was a coder but he learnt some of the engineering. He writes good code. Not beautiful, but good enough. Most of the time, his code is pretty much usable in production. He can be a self taught or maybe a degree holder engineer. This is the person you are looking for.

Psychology of bad programmers

Many will disagree with me but programming is a motor skill . Like any other motor skill, programming skill can be made better by keep practicing. Code is about solving problems. We often start with big problems, break it into smaller problems. So small that without thinking, our fingers start writing. Consider a for loop that runs 10 times exactly. If you are a programmer, you can always come up with the same code always. That is why programming is a motor skill.

There are two ways of learning a motor skill. Blocked learning and random practice. In blocked learning, a programmer repeats a process until he completely understands the topic. Such programmers may seem really amazing as they can recall something instantly, but most of them are limited to a one or two technology. A programmer who practices several technologies out of random is more capable. He can cope with many technologies. He is more experienced and you should hire him.

Psychology behind why you hire bad programmers

I have faced many interviews. Instead of trying to get the job, I spent time understanding the interview procedure.

  1. On the phone interview
  2. Face to face interview with HR
  3. Technical interview with some senior, later with HR
  4. Technical written interview followed by technical face to face interview, later with HR
  5. Practical test on machine followed by face to face interview with HR
  6. IQ and technical written tests followed by face to face interview with HR
  7. IQ and technical written test, practical test followed by face to face interview with HR

When you hire someone on the phone, you don’t really care about your business. In a face to face and technical interview, most of the questions asked are regarding some specific function or some keywords related to the language or some framework. Such questions are not always a good way to find a good programmer. When you or your programmers take technical interviews, you are mostly focused on your own workflow and capabilities. It might seem a good strategy but it mostly backfires. Instead of hiring someone capable, you often end up hiring some robot that can work according to your workflow but fails to adapt other technologies. Now you should already know why you hire bad programmers.

Conclusion

As I told before, good programmers often learn lots of technologies but they cannot remember everything. They are good with adaption. They pickup something new, use it, forget it and when needed again, pick it up easily again. You are looking for these kind of programmers. To spot these programmers, you can try the followings:

  1. Instead of asking questions, give them problems to solve.
  2. OOP concepts and syntax keywords are better questions than function names
  3. Don’t waste time taking IQ tests
  4. Ask about unit testing and documenting code
  5. Take a practical test, if not possible, take a written test
  6. Ask for portfolio

Also read: 17 programming tips to write better code


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK