6 ms·
I'm a Senior Dev. I dabbled in some coding in Jr. High, but go more involved in my early 20's. I'm now 60. I've interviewed many engineers. My process involves
by kutenai 5y ago
I'm a Senior Dev. I dabbled in some coding in Jr. High, but go more involved in my early 20's. I'm now 60.
I've interviewed many engineers. My process involves asking open-ended question about important topics, and let them explain.
Write down about 20 or 30 tidbits about the language you expect them to know. Include a range of simple, medium, hard, and, hard-core expert stuff. See where they fail, or where they struggle to explain or discuss.
You can't "practice test" your way into that, and it's always obvious where someone is knowledgable, and where they struggle, or don't know anything.
Further, I ask probe them for their 'problem solving' approaches. How do you learn new things? Name some of your favorite books on programming/development/design.
Oh, that last one, that may date me, cause I come from a time when they had these things called books. We would buy them, and read them. I've found so many developers that just say "oh, I google for it". Sure, that's great, and I google the crap out of things also.. but, here is the fundamental issue with "learning" that way.
"You only get the answer to the question you knew to ask."
The other answer, the one that says "oh, there is a totally different, but superior approach" you learn from reading and getting a solid background on the capabilities of the language/library/module/environment. Books (and online courses or comprehensive material is equivalent) teach you that stuff.
The best programmer I ever hired read books. She (yes, she) was far younger, and unlike her peers, had discovered that reading and keeping some books in your library is valuable.
My advice, ask them what they read. If they "just google it", kick them to the curb. "Next".
- justin_oaks 5y agoYou've described a solid method to interviewing. I think your point about people who read books could be better described as people "intentionally learning" and using "self-directed learning". The sources of that learning are extensive and not limited to books or online courses. You could learn from a mentor, by trying out things yourself, by reading source code of open source projects, reading programming blogs, etc. The underlying theme is that the person is intentionally trying to learn and doesn't require hand-holding or pressure to do it.
- kutenai 5y agoI agree with you @justin_oaks. I overly simplified that point. My main point is that learning should be as comprehensive as possible. Learn what your tools can do, then apply that to the problem, realizing that multiple approaches are possible. Know the tools well. It does not matter so much how you get there. I've worked with engineers that do things a certain way because this is what they learned at some point, or saw, or googled. I show them "did you know you could just do this", and they are blown away. I too am blown away that they don't even know the capabilities of a language they have been using for years in some cases.