LinkedIn emplea cookies para mejorar la funcionalidad y el rendimiento de nuestro sitio web, así como para ofrecer publicidad relevante. Si continúas navegando por ese sitio web, aceptas el uso de cookies. Consulta nuestras Condiciones de uso y nuestra Política de privacidad para más información.
LinkedIn emplea cookies para mejorar la funcionalidad y el rendimiento de nuestro sitio web, así como para ofrecer publicidad relevante. Si continúas navegando por ese sitio web, aceptas el uso de cookies. Consulta nuestra Política de privacidad y nuestras Condiciones de uso para más información.
• Hiring is especially important for companies in
• A Google recruiter once said to me:”At Google A-
players hire A or A+ players. But at normal
companies: B player hire B- or C players.”
• Important: Invest in recruiting as much as big
corporations but don’t copy their process.
“Prestige is just fossilized inspiration.
If you do anything well enough, you'll make it prestigious.”
- Paul Graham (Essay "How to do what you love")
Show what you have
• Cool tech-stack
• Great opportunity to contribute and grow
• Reply fast to inquiries of engineers
• Academic Programmer: Candidates have spent most of their career in academia, programming as part of
their Masters/PHD research. They have very high raw intellect and can use it to solve hard programming
• Experienced Rusty Programmer: Candidates have a lot of experience, and can talk in depth about
different technology stacks and databases, explaining their positives and negatives with ﬁne detail. When
programming during an interview, they’re a little rusty. They usually get to the right place but it takes a while.
• Trial and Error Programmer: Candidates write code quickly and cleanly. Their approach seems to involve
a lot of trial and error, however. They dive straight into programming problems and seem a little ad hoc but
their speed enables them to ultimately solve the problems productively.
• Practical Programmer: Candidates solve practical programming problems with ease, even very abstract
programs. They aren’t comfortable with computer science terminology though (e.g. data structures,
algorithms) and don’t have a deep understanding of how computers work. They are not comfortable with
level languages like C.
• Child Prodigy Programmer: Candidates is very young (e.g. 19 years old) and decided to go straight into
work, skipping college. They’ve been programming since a very young age and are very impressive in their
ability to solve hard technical problems. They’ve also been proliﬁc with side projects and are mature for their
age. It’s likely they’ll found a company in the future when they’re older.
• Product Programmer: Candidates perform well on technical interviews and will have the respect of other
engineers. They’re not motivated by solving technical problems, however. They want to think about the
product, talk to customers and have an input into how product decisions are made.
• Technical Programmer: Candidates are the inverse of the Product Programmer. They interview well and
communicate clearly. But they aren’t motivated to think about the user experience or product decisions.
They want to sink their teeth into hard technical problems.
Where to get engineers?
• Blog (https://medium.com/@iwaninzurich/eight-reasons-
• Employee referrals
• Crack the right combination of automation and manual work.
• Right now, we’re recruiting *manually* for companies in Zurich (Munich is
• We use Python-based tools to connect IT-companies with software
engineers: We match text of job-ads to CVs, integrate Twilio to call people
• Phone interview (either depth or breath)
• Look at existing code
• Code something small onsite (algorithms / data
structure / practical)
Software engineering resume
• People read resumes on autopilot.
• Don’t list every project you’ve worked on (page
• Contribution >> technology/frameworks.
• Explain in simple but detailed language.
1. “Designed software application including: data modeling, software
architecture design, software- hardware integration, user interface
design, and database management“
2. “Created and launched a service that collects product opinions and
recommendations from Twitter. The service ﬁnds related tweets,
removes spam, analyzes sentiment and creates a structured database
of everything that was said about particular products [link to demo].
The service is exposed as a consumer website and as widgets that
can be embedded in online retail websites.“
3. “Developed [product name], using Python and Django, for marketing
and allowing end-users to experience [another product name]“
4. “Evaluated and identiﬁed [OS name] network stack performance
bottleneck in latency, per-packet processing overhead, and scalability
of different network IO models through various system measurement
and proﬁling techniques“
Good or bad?
• “Cracking the Coding Interview“ et al.
• Learn to communicate what you did
• Ask companies how they will assess you and prepare
How to interview your interviewers: The Joel Test
1. Do you use source control?
2. Can you make a build in one step?
3. Do you make daily builds?
4. Do you have a bug database?
5. Do you ﬁx bugs before writing new code?
6. Do you have an up-to-date schedule?
7. Do you have a spec?
8. Do programmers have quiet working conditions?
9. Do you use the best tools money can buy?
10. Do you have testers?
11. Do new candidates write code during their interview?
12. Do you do hallway usability testing?
How to interview your interviewers
• If possible, ask for the opportunity to view the source code.
• If possible, ask for the opportunity to go with the guys for a beer.
Bonus (if you feel comfortable):
• "What is the most costly technical decision made early on that the
company is living with now?"
• "Where do product / feature ideas generally come from?“
• Don’t ask engineers about beneﬁts/salary/vacations/process – you can
get those answers later from HR or whoever.
Salary negotiation - how to make 5000 EUR in 2 minutes
• Don’t disclose your current salary. This can be used as a benchmark against you.
• Postpone discussion about money to the end.
• If HR insists that you name a number, tell them that you feel uncomfortable talking
about this at that point because you want to ﬁnd out how you can add value ﬁrst
before you know how much to ask for.
• If HR still insists, tell them that the number should not be a benchmark for later
• If they suggest you a number …
• …shut the fuck up.
• Always ask for more: “How I negotiated for an additional $15,000 at
• It’s a business relationship. For them, you are a resource…
Long-term engineering career paths
• True “very senior” engineering roles exist at larger
• Other ﬁrms unfortunately allow growth only by
going into management
• We believe, we cracked the right combination of automation and manual
• Right now, we operate in Zurich and Munich.
• We use Python-based tools to connect IT-companies with software