A while ago, I found myself in the enviable position of having to rapidly grow my team. By then, I had done a large number of technical interviews, so I had an idea of what to look for in strong candidates for Software Engineering positions. However, I felt like I lacked a framework for understanding how likely a given candidate was to succeed if they had joined my team, beyond a very loose definition of “culture fit”.
As I was trying to better understand what I was looking for, I started to think about what I value in the people I work with and to reflect on traits I found to be quite common among some of the most successful people I have worked with over the course of my career.
While I would not expect every person I work with to exhibit all the qualities I list here, I am always positively impressed when I come across someone who exhibits more than a few and equally concerned when I see no hint of any of these characteristics.
Over time, I became quite sensitive to some hints that suggest someone could possess one of the these traits and I learned to probe further whenever I see them.
Here a list of the most important characteristics I learned to value in anyone I work with, regardless of job function.
I visited the Van Gogh museum in Amsterdam recently and, to my surprise, I left the exposition having learned something that matters beyond art.
Summary: accepting objections is one of the most valuable skills a manager can learn, and yet the role models we get fail to highlight this
As many other geeks, I have always been fascinated by aviation and its history. One of the things that kept intriguing me was a simple question: what could cause the dramatic decline in the number of plane crashes attributable to pilot error?
I recently found an answer to that question in a How We Decide by Jonah Lehrer, crediting two different factors for the increased safety.
Looking for a job in the tech sector is a challenge. A lot has been written about the process itself and its quirks, ranging from programming puzzles to whiteboard interviews. However, there are still a few details that are often overlooked by most companies and can make a significant difference for perspective applicants.
Even when recruiters try to do all they can to make the application and hiring process as easy as possible, it is extremely common that the jobs or careers sections of their websites do not contain all the information applicants would need to make an informed choice. And when the information is present, it is often arranged in a way that is not effective or clear enough.
This article contains a selection of the most frequently neglected details; information that is valuable for applicants but, for a combination of good and bad reasons, is often hidden or not present at all.
If your company is hiring, try to figure out how easily a candidate can find an answer to these questions by looking at your website:
How long will it take to get to an offer? Do you accept international candidates? Which openings match my skills? Which openings match my seniority? Which division should I apply for? Which offices are hiring people with my profile? If the answer to any of these questions does not come immediately, the careers section of your website may be cleverly designed and communicate a great image of your company, but it is probably disconnected from the needs of its users: the people you are trying to hire.
I still remember one of the most interesting questions I have been asked last year when I was interviewing for a Software Engineering position:
How would you explain to a 12 years old what an API is?
At first, I was surprised: it certainly sounded like an uncommon question for a Software Engineering interview. And yet I tried to answer as best I could, trying to come up with a concise definition that could convey what I meant, but without assuming any specialist knowledge about computers and software.
As I progressed with the interview, it became evident what kind of ability my interviewer was trying to test.
Conferences are great. Not just because you can (hopefully) learn a lot by attending, but also because they give you the chance to meet great people who share your interests and work on the same issues you’re facing.
Obviously, most of those desirable effects happen during, or maybe after the conferences themselves. (But it applies to conventions, meetings and the like.) Is that really the only option?
Some context: this month I’m flying to Amsterdam to attend User Experience 2008.