Forums

 Hi,

 
One of my interview questions is:
 
What are the last 2 or 3 job related books that you have read?
 
If they supply a list I then pick one the books and ask:
 
What are 2 or 3 points you learned from book X?
 
I have been dismally disappointed in the replies I normally get to this simple screening question. So far I have not even been able to ask the second question. One candidate told me "books are for beginners"! One said "I have never read a job related book. My manager tried to get me to read a book once but he eventually gave up."! 
 
I am hiring a software developer. Most claim that they keep up by reading blogs or working through online tutorials to learn new things. Some seem to believe that books are obsolete for the field of software development.
 
Should I stick to my guns or cave in and start considering software developers who don't read books?
 
Thanks,
 
Matthew

donm's picture
Training Badge

It has been ages since I've been tasked with writing actual code, but I happen to agree that coding books are mostly fluff and a waste of time. When I have to learn a new programming language, I'm interested in basic syntax, reserve words, arguments, and overall structure. Most programming books first go into about 100 pages of "object-oriented programming vs structured programming," or compilers vs interpreters, numbering systems, variables vs constants, etc.

I don't need baby talk, and that's what the vast majority of programming books are. I prefer going to online forums, web searches, or tutorials, depending on my depth of knowledge, and the type of question. It is much faster and more efficient than reading some tome which is thick enough to act as a billboard on a B&N bookshelf.

Now, if you're looking for how the job candidates keep themselves up-to-date, I think a behavior-based question would do you more good. For example: When writing code, programmers often come to a point where a block or statement doesn't seem to compile the way it is expected. Describe a recent coding problem you had, and how you went about solving it. What resources did you use? Which resources would you use the next time? I obviously included some follow-up questions that might help.

I think for coding, books are mostly for beginners as one of your candidates suggested, and that online resources are probably better, faster, and easier to use, if done properly. Basically, the overall algorithm should be worked out (even "as you go," sometimes), and then specific coding questions researched using the internet.

Disclaimer: I don't do much hands-on coding, so some of my "chapter examples" might be dated, specifically the OOP vs Structured programming comment. The point remains intact, however, as this is exactly what you're up against. How many times do I have to be told that computers only work with 1's and 0's before it becomes a waste of time for someone to describe bits v bytes v words v double words v user-defined data blocks/blobs?

rgosden's picture
Licensee Badge

If you are looking for people to just cut code,  you are going to have trouble finding an experienced person who doesn't use the Internet to learn.  For more business-related topics,  however,  they should be reading books.  Examples would be in the area of project management,  supply chain fundamentals,  people management,  effective design,  etc.  That said,  asking them to list two or three things out of a given book may not work if the person is like me and is reading several books on overlapping topics at the same time -- exactly which book you got something from can be a bit blurry. Better to ask about the reason they choose the books they are reading, and what they hope to gain from them. 

Gk26's picture

 I have been asked this question in my past two sets of Director level interviews.

pucciot's picture
Licensee BadgeTraining Badge

Here's a little thought challenge from a Librarian ... 

In today's age of multiple media delivery your question may be too specific.

What are you trying to learn from it ?

 

What do you mean by "book" ?  

Do you mean a single monographic works, ink marks on paper, bound between two covers around 200 - 400 pages ?

 

Is this really what you want to know ?  If they sit down and read monograph paper materials ?

I listen to audiobooks - does that count ? I have listened to every M-T Podcast and keep up every week -- does that count ?

Regular PodCast listener ? Wall Street Journal ? Magazines ? Scholarly Journals ?

Did a webinar on recently ?  Went to a conference ? Did a workshop ?  Do any of these count ?

 

I would recommend that you rephrase the question to get at what you really want to know.

* How do you keep up with your field ?  Tell me me something you have learned recently from that.

* How do you keep up with the industry in a big picture way ? Tell me me something you have learned recently from that.

* What kind of things to you do or read for personal and professional growth do you pursue ?  Tell me me something you have learned recently from that.

 

 

How would this approach work for you ?

 

TJPuccio

macfarmw's picture

@donm: I use online sources myself if I want to learn a very specific coding skill. Sadly I do that less and less now. I read a book a couple of years back called Continuous Delivery. It was awesome and led to all kinds of good things. I doubt I would have learned those same ideas from a shorter format. Therefore my stubborn insistence that books be an important part of professional development.

Thanks for your input,

Matthew MacFarland
Manager of Software Development
Dril-Quip, Inc. Houston, Texas

macfarmw's picture

@GK26: Tell us your answer. Did you get the job?

Matthew MacFarland
Manager of Software Development
Dril-Quip, Inc. Houston, Texas

macfarmw's picture

@RGOSDEN: We definitely require a mix of skills beyond just writing code. The best developers are theones who show an interest in all aspects of software development. I have had pure coders in the past and was never thrilled with the results. They were very efficient at coding things the users did not want.

Matthew MacFarland
Manager of Software Development
Dril-Quip, Inc. Houston, Texas

macfarmw's picture

@PUCCIOT: I agree a mix of media are available and useful. We have other questions about blogs, conferences, user groups, etc.. Most candidates always name a few websites. Other media and resources are rarely used by the vast majority of candidates I speak with.

Here is the problem from page 11 of the book How to Recruit and Hire Great Software Engineers - Patrick McCuller "...the simple reality is that at this time [2012] the majority of developers are not at all competent and will actually hurt your business." Yikes! Maybe a book or two would help.

BTW: I had to look up monograph to be sure what that was. Ha :-)

Thanks for your input,

Matthew MacFarland
Manager of Software Development
Dril-Quip, Inc. Houston, Texas

rgosden's picture
Licensee Badge

I understand the sentiment being expressed by the book's author. I think that what he is hinting at is that you want to hire people that have an active interest in improving their craft.

For software development you should find out what the hot-topics are right now (e.g. system security, cloud computing, mobile). Then ask candidates how they are keeping current and see what they have to say. In fact, you can ask them what they believe are the emergent issues in computing, why they believe that, and what they are doing as a result. 

You'll also need to have a way to validate they have the basic skills to do the job they are hired for: Do they write clean, maintainable code? Are they good at process decomposition (a critical part of debugging skills? Do they have an appreciation for how their work relates to business goals? Etc.

 

Rick

 

brianr5's picture

I have the same frustration and hear the same from candidates I have interviewed about using online resources.

Most of our top performers do read books.  And if you ask them what their favorite book is on a coding topic they can identify one and clearly explain why it is their favorite.  

I disagree with books being only for beginners.  Books like Exceptional C++ and Modern C++ Design are not usually considered beginner books.

I recently read the Steve McConnell's Software Estimation book.  You could learn some of the concepts from online tutorials, but I don't think you could gain the breadth of knowledge or understand all the trade offs.

Having said that, what I am looking for is as Rick said, someone with an active interest in improving their craft.

If a candidate could demonstrate a few projects they did in conjunction with their online reading/research I would consider that as having an active interest in improving their craft.  Writing a gaming and coding some flocking and path finding behaviors, something that demonstrates they understand data binding in WPF well... and answer some questions about their projects and what they learned, that would help demonstrate this.

Brian

 

 

 

 

 

 

leanne's picture
Licensee Badge

Being a software developer myself... Sorry about jumping in so late, but here's my take:

For learning a single specific skill one doesn't know, online is useful. It's great, in fact. One of my favorite sites is www.letmegooglethatforyou.com, which I only use when feeling *very* snarky about how often someone comes to me with a basic question that two seconds of typing into google would resolve.

For learning a new language, I find it does help to read a book...as long as you skip over the REALLY REALLY BORING (why the heck do they put these into EVERY SINGLE LANGUAGE BOOK?) section about the history of the language. I don't care about the history of the language; I want to know how to use the language. Gimme a line at the front that says 'this covers <language> <version>' and I'm good to go.

For learning other skills, I also think books are good. Software engineering - including estimating, requirements gathering, project planning, project tracking, configuration management, various types of automation, and concepts to improve one's coding (refactoring and patterns being two basic examples) - is something that's very hard to learn from a website. You can; but the nature of websites doesn't involve diving in deep.

What many developers are missing is this: Books provide a much more *complete* view of things. Online leaves you able to do only this or that or the other and generally doesn't expose you to *all* the possible facets. Or even a lot of other facets, since most current languages you can't get exposed to *all* the possible facets in a single book unless it's the size of the Empire State Building (that would be Java at least).

Example: I have this book about language X. Every so often I get a question, 'do you know if X has any way to do Y?' I open to the index of functions and say 'why yes, there appears to be a function called doY()', which I already knew because, well, it's a function I learned about from the book. And yes, I literally mean that the name of the function was almost exactly what they had called the action they wanted to perform. I didn't bother with reading the *descriptions* of the functions for the most part; I just skimmed the index of functions (it's nicely organized by type of object acted upon, generally). This particular book is about 7 or 8 years old, maybe older - I forget. I still have it at work because people still ask me questions about basic language features that have been in the language for 7 or 8 or more years.

Keep using your question, as long as you're willing to ask 'what other ways do you improve your skills, since you don't read?' as the second question when they say they don't read.

I'm considered a top performer at work. There's lots of things I do that are different from what other people do. Reading books about software engineering - as opposed to specific language books or whatever - is one reason. The reading is of course not what makes me a top performer; it's what I *do* with it. I do a lot more with stuff I've learned from a thorough treatment than stuff I've gotten spottily and only when I had a specific problem I didn't know how to solve.

amanchauhan's picture

People mostly prefer internet rather than reading books. I have read many of books during studying on companies project management, people management, company’s fundamentals etc. I have learnt a lot from them.

Normal
0

false
false
false

EN-US
X-NONE
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}

carl-k's picture

I am a manager at a large software company that takes great pride in its interviewing system. This idea of asking what books a person has read would never get asked. Unless the person's job is reading books. 

The other responses got the first part of the problem: "books" is very limited in a media sense. I myself don't read many books. But I devour a number of blogs and meta-blog sites. I code in my spare time, but again that's not something we care about. Some of our best people code 8-5 then walk away and don't code outside work. 

But the second problem is what are you really trying to find out? Trying to find out how they keep abreast of their industry and craft...ask that. They may attend local meetups or listen to podcasts. Books is an indirect measure of professional interest in their craft. 

As for how we interview (and we are really good at it, I think) we use the STAR method. Give me an example where you "Had to deal with multiple high-priority tasks?". And then use follow-up questions to understand how the interviewee thinks and talks. Can they lay out the situation, the action they took, and the result? Is it coherent, does it make sense? I have seen no better way to elicit a person's ability to comprehend and solve problems which may or may not be code-related.

But back to my original assertion: You have chosen an indirect measure for something else. I presume you don't actually care about whether you and the employee like the same books and that you actually want to know something else. I personally would be annoyed to be asked what I consider a trivial thing but that the interviewer apparently cares about.

 ----

My concrete suggestion: Keep asking yourself "why would I want to know that?" until you get to the root question you care about, and try asking that. It will likely lead to better answers and more interesting conversation between you and the interviewee. 

 

macfarmw's picture

CSCHARENBERG

Thanks for your thoughtful reply. I have not heard of STAR method for interviews but I will look it up. I'm always looking for ways to improve the hiring process and get the right people for the job. It's never an exact science but at least we can improve our odds with some extra care and effort.

I see you are a new member. Welcome and thanks for contributing!

Regards,

Matthew MacFarland
Manager of Software Development
Dril-Quip, Inc. Houston, Texas