Posts Tagged ‘business’

SoftwareBloat TV – Episode 1

Thursday, January 7th, 2010

“Physicists analyze systems. Web scientists, however, can create the systems.” — Tim Berners-Lee

SoftwareBloat TV – Episode 1

Please enable Javascript and Flash to view this Viddler video.

Video review of Gary Vaynerchuck’s (@garyvee) Crush It!; Jerry P. King’s Mathematics in 10 Lessons: The Grand Tour; Joseph Mazur’s Euclid in the Rainforest; Woopra; and StaticMatic.

Book Report: The 4-Hour Workweek

Thursday, April 2nd, 2009

I just finished reading this book by Timothy Ferriss so of course I needed to write down my thoughts and comments. This is a quick and enjoyable read and you definitely owe it to yourself to pick up a copy. (more…)

Book Report: Reality Check

Sunday, February 15th, 2009

“Many receive advice, only the wise profit from it.” –  Publilius Syrus If I could choose a life coach for this stage of my life, it would be Guy Kawasaki. In his latest book Reality Check, Guy has done an awesome job of covering all the bases. (more…)

Cream of the Crop

Saturday, November 15th, 2008

In a book called Good to Great, Jim Collins and his team of researchers built a list of 1,435 companies and identified the top 11 to determine what makes them tick. One of the principles of effective businesses is that they manage to get “the right people on the bus”. I believe this is especially true in the software industry.

Paul Graham had this to say about the variation in productivity between commoon programmers and truely spectacular ones in his essay Great Hackers: “Productivity varies in any field, but there are few in which it varies so much. The variation between programmers is so great that it becomes a difference in kind.”

So when you’re hiring, how do you identify a great programmer? Joel Spolsky has written an article The Guerilla Guide to Interviewing and it is a definitive contribution on this topic. The book Programming Interviews Exposed is another fantastic resource. You should definitely read these and apply their wisdom.

I recently fielded a question on stackoverflow (a software development Q&A site) which related to this topic, so I’ve decided to republish my answer to this blog. Here is my interview outline to help you craft specific questions to fire at your candidates. I’ve tried to list these topics in order of importance.

General Intelligence (brain teasers/logic puzzles)

Computer Science Knowledge

Programming Exercises

Tools, Technique and Methodology

Security

Basic Mathematics

  • Numeral systems (convert from one base to another)
  • Probability Theory
  • Distance between two points on Cartesian plane (Pythagorean theorem)
  • Square root (Heron of Alexandria, successive approximation)

Cryptography

  • Public key cryptography
  • Symmetric-key cryptography
  • Hash functions
  • Cryptographic protocols (secret sharing, zero-knowledge proofs)

Discrete Mathematics

  • Logic
  • Set theory
  • Graph theory
  • Information theory
  • Combinatorics
  • Proofs (like existence of irrational numbers, infinite primes)

Anyone has conducted a significant amount of interviews in this industry knows that the majority of potential recruits won’t last through the first 30 minutes of the interview, so much of this list will be unnecessary most of the time. Before you dismiss my more complex topics as overkill, just keep in mind how expensive and emotionally taxing it can be to recognize that you made a poor hiring decision and to later correct it. Good luck in building your team of awesome developers!