Category Archives: Management

How To Fail My Interview

It is very easy to fail my technical interview. Yet, if you need some tips on how to do it fast and easy, please read on.

1) “I was responsible for …”

This is the phrase I often see in technical resumes. And it has a big meaning for me because I value ownership and responsibility in the team. However, if you put this phrase in your resume, then please be prepared to answer not only “what?” questions about the project but also “why?”. And please don’t answer that “I don’t know why we did it this way, I was not making this decision, the architect/team lead/some other random guy did”. It is perfectly normal to have someone else make some decisions on your project. Either because the decision was made before your time, or because the level or scope of the decision is above or below your pay grade, or because the way things are setup inside your company. However, I strongly believe that a true owner of a project/product/system/subsystem should very clearly understand and agree with every decision made in his/her area of responsibility. If you don’t understand why things are done the way they are done and just follow the directions, then you are not probably qualified to make other decisions in this area at all. And you are definitely not responsible for your project. The other guy who makes and understands the decisions is. Worse, it also shows me that the candidate doesn’t know his/her limits or doesn’t understand the limits at all. Thanks, I’ll pass.

2) “I rate my experience in X 10 out of 10”

During the interview, I try to ask questions that match the candidates overall experience as well as his/her experience in a particular technology. I want to ask you a question that will challenge you. Thus, a candidate with 10/10 knowledge of PHP will get a question I would ask Rasmus and a candidate with 10/10 rating for MySQL will get a question I saved for Monty. The bar will be set high and a very few candidates are able to meet it. The more important part is that I actually do not expect every web developer I hire to be 10/10 in PHP, MySQL, and every other technology we use. There are always things to learn. And there is always Google to find details and more information when needed. The 10/10 candidate who failed the question is just a sign of an “inflated” the resume. Thanks, I’ll pass.

3) “I have experience with A, B, C, D, E, F, …, X, Y, Z. And many other related things.”

For any technology I define a “minimum equipment list” that anyone with even a basic exposure to this technology should know and understand. This is indeed a “minimum” list: for Java you need to know about garbage collection; for SQL databases – about joins and transactions; – you got the idea. If you have a technology listed on your resume, then I feel it is a fair game to ask questions about these basic things. And if a candidate has no clue what I am asking about then the only logical conclusion for me is that the resume have been “inflated”. Thanks, I’ll pass.

4) “I know you use technology X but I think you should actually use technology Y”

As an engineer you should understand that there is no silver bullet technology that works everywhere and all the times. Each technology choice is a tradeoff. One solution gives you one set of pluses and minuses. And another solution gives you another set. To make a decision, you have to compare the pluses and minuses of each solution against your priorities and objectives. And then find the one that works best for you. It is great to be passionate about technology, but I don’t believe that after minutes or even hours of the interview, a candidate knows and understands the tradeoffs behind the technology choices made by myself, my team and my company over the years. Thus, a candidate just shows his or her lack of ability to make rational technology decisions based on facts. Thanks, I’ll pass.

BTW, I am hiring 🙂


What is your goal?

A couple days ago I’ve had coffee with a couple non-technical startup founders who were interested in my opinion on how to run an engineering team. They already hired Director of Engineering and half a dozen engineers, but were not sure if they are doing the right thing or not.

“How should we implement Scrum?” was first question they asked. If you haven’t heard about Scrum, then you only need to know that it’s a modern project management technique based on iterative approach. Some call it the ultimate solution for all problems. Some think it is a complete BS. The truth is probably somewhere in the middle.

“Why do you need Scrum?” immediately I knew that this will be a fun conversation.

“All startups use Scrum,” they replied.

“But what is your goal? Use Scrum? Or build the product and the company?”

The two founders made a common mistake – they mistakenly thought that the “tool” is their “goal”. There are many ways to slice the pie. There are some requirements for slicing it (e.g. the number of slices) but the end goal is not to slice the pie but to eat it. If you spend your time designing the best way to slice the pie, then you probably will go home hungry. Focus on the “tool” and you will miss the “goal”. The tool is just a tool at the end.

Another common question I often get asked is about choosing the best programming language, framework or database to build a new project or a product. My answer is typically “it’s irrelevant”. Unless you make a big and obvious mistake choosing C++ for building a CMS-like website, you will do fine with any tool. You should look not at the “best” tool but at other factors, for example, what kind of experience and knowledge your team has. This is way more important than 10% performance gain of language X vs. language Y.

It turned out that the two founders didn’t need Scrum just yet. Their engineering team had some issues but they were delivering mostly on time with acceptable quality. Their Director of Engineering was using an Excel spreadsheet for project management and it was completely enough for the size of the team and the current project complexity. Instead of discussing Scrum implementation, we discussed how the project management system in their company should evolve over time as the startup grows; what metrics they should watch for to make sure things are under control; and how to minimize the project management costs because it is also just a tool.

Good luck, John and Tim! I’ll see you for coffee in 6 months or so.




Resource Curse

There is a popular theory that countries blessed with rich natural resources (oil, minerals, …) tend to be behind in innovation and economical development. There are multiple reasons for this ranging from the increase in the number of internal conflicts to the talent concentration in the natural resource industry due to higher salaries.

Not surprisingly, exactly the same processes happen in the business and this is the corner stone of the startup ecosystem: big companies rarely innovate, startups must innovate to survive. I happen to observe this problem first-hand these days. A very profitable company that grows 20-30% year-over-year  simply because of the overall online business growth struggles with internal and external innovation. People are just afraid to change things  (“it works, don’t touch it!”) and a lot of great business opportunities are missed or ignored.

The recent announcement about the end of Google Wave is yet another example. Do you remember any successful products from Google in the last 5 years? Analytics came from Urchin acquisition; Earth – Keyhole; Picasa – Idealab; Android – Android; … And many would think that Google should be different!

It is a big challenge for any executive to figure out how to fight the tremendous risk-averse inertia and get the big organization to try new things.  And very few executives get it right.


Very interesting comment on this post from DS:

“Another common observation on resource-rich countries is that they tend to slide to dictatorship or another sort of autocracy with lack of political freedom and excessive bureaucracy. Compare to all these odd corporate policies and multiple layers of middlemen.”

Another common observation on resource-rich countries is that they tend to slide to dictatorship or another sort of autocracy with lack of political freedom and excessive bureaucracy. Compare to all these odd corporate policies and multiple layers of middlemen."