I was recently asked to interview two developers as part of a “Programming for Non-programmers” course. I chose two close friends of mine who are both developers, and happen to be married. The questions asked revolved around their history with coding and expectations in a development teammate. I found their answers enlightening and the differences in their responses fascinating.
Jennifer, my first interviewee, learned to code C++in high school from a book. She took a computer science class, in which they were simply handed the material and told to do it. She said this helped her learn some basics, but very little actual methodology. In a new developer and coworker, Jennifer would look for someone really wanting to learn, because she would like to be able to pass on the joy she gets from coding to others. She also would want to see someone with problem-solving skills. Her advice for new coders is to practice.
Daniel was the subject of my second interview. Like his wife, he learned to code in high school, but taught himself creating games on TI calculators. He also believes problem-solving skills are a must for programmers, citing the use of logic problems in interviews to test a candidate’s processing ability. Daniel said that anyone new to coding should be willing to learn and ask questions, wanting to understand the why or why not of a problem. Daniel looks for a personality that works well within a team for someone to add to his own team. He recommended thinking about “how data flows together” when preparing to learn to code.
I took away from these interviews the fact that there are basics that need to be in place before any language is learned: the ability to see a problem and figure out how to solve it, being able to work well on a team, and a willingness to learn and be okay with not knowing the answer.