DEV Community

Mikhail Shilkov
Mikhail Shilkov

Posted on • Originally published at mikhail.io

The Best Interview is No Interview: How I Get Jobs Without Applying

Interviews

I think I'm reasonably good at passing job interviews.

When I was open for a job change a couple of years ago, I interviewed at eight local companies here in the Netherlands. I got job offers from seven of them. Of course, I have enough experience, and the market was scorching and candidate-friendly.

Besides, Dutch interviews are not as extensive compared to major tech companies in the U.S. For me, it took from 40 minutes to 4 hours of conversations to get to offer negotiation. There would typically be no whiteboard coding or take-home assignments.

I had two interviews at the U.S. companies too. I got offers from both of them.

Amazon flew me to Stockholm for a hiring event. Before jumping on a plane, I spent a day or two studying interviews at Amazon and an algorithms book. Amazon hired a hotel room and hosted four 1-hour sessions with me. There was a whiteboard standing, and every new interviewer would give me a coding or design challenge to solve within that hour. I wasn't well-calibrated for such interviews, and couldn't quite tell if I'm performing well. Apparently, I was okay, because I got an open offer for Canada, U.S., Luxembourg, and Germany to work on some Amazon projects.

I also had an interview with Jet.com—Amazon's competitor in retail—for a position in Dublin. Two online live-coding interviews, four onsite interviews with whiteboards: a tad stressful but also fun. Coincidentally, the onsite in Dublin was two weeks after the Amazon interview, and the offers came literally on the same day.

No-Interviews

There's one big problem with this narrative. I declined all of those nine offers.

I didn't feel like these were enough of a step forward for me. Offers from Amazon and Jet were cool, but not revolutionary enough to relocate away from a well-arranged life.

There were more declined offers in the past. In fact, in my whole 18-years (oh gosh) career as a software developer, I only accepted a single job offer after an interview process. I left that company nine months later, despite being already promoted in my role.

How did I get other jobs? Honestly, it felt like they happened by chance.

I got my first paid gig from my father when I was an 18-year-old student. He showed me screenshots of the applications from work and asked me if I can create that kind of apps. He knew nothing about software development but needed a bunch of utilities to calibrate hardware that they were working on.

Sure, I knew Delphi and C++ Builder, so I could make form-based apps. I prototyped one and got my first $100 paycheck. I started working for the company and spent the next three years learning the tech and taking over existing code. By the end of that engagement, I was writing all software in their stack from C code on microcontrollers with directly addressable memory to 60-screen Windows apps.

There wasn't much to learn there anymore. Still being a student, I hopped on a three-week bootcamp organized by a software consultancy company. They were teaching free classes to promote the best students to FTEs. I scored a second place on the overall leaderboard and got hired at the double my previous salary.

I spent five years there, learning from many amazing people. I tried myself in different roles from an individual coder to a technology "expert" to a team lead to a project manager. The company has been doing contracting projects for European customers ("outsourcing").

In the end, I quit the company to try contracting on my own. A friend of mine connected me to somebody in the Netherlands who needed help with his ongoing projects. The guy just gave me the first task, I completed it, he paid. The second task, the first lengthy project, the second project, and I got rolling.

I've been working in my bedroom for the next four years. My contact in the Netherlands got hired by Qualcomm and switched me to their projects. Eventually, Qualcomm decided to hire me full-time, and my family moved from Russia to the Netherlands.

Most certainly, Qualcomm had an extensive process for hiring, so I did fly over for an onsite "interview". The interview lasted 5 minutes: I said hi to everyone and then worked on the project for the rest of the day.

Follow The Passion

The other day, I interviewed somebody for a developer role at Pulumi, where I currently work. They had a screening interview first, and now going through five rounds of tech interviews. Live-coding, design questions, debugging problems, tell-me-about-the-time-when situations. Very common for anyone applying for a software engineering job in the U.S.

Except, I never had a single interview at Pulumi. I jumped on their product as a user as soon as the first beta went public. I enjoyed the product, published blog posts, used it for my pet projects, gave one of the first Pulumi talks in Europe.

When I was in Seattle for the Microsoft MVP summit, I pinged Pulumi Slack and grabbed a beer with Luke, our CTO. Soon after, I started doing paid contracting for Pulumi: writing blogs, docs, examples, then fixing tiny issues here and there. Eventually, I went to Seattle for the Pulumi 1.0 launch and a week onsite. Finally, after 12 months as a user and 6 months as a contractor, I got the contract signed for full-time employment.

I had no interviews. When I first started, I had zero experience with Go and very limited TypeScript, our main programming languages. I'm not a compiler guru, not ingrained into DevOps ecosystem, never worked on developer tooling or open-source SDKs.

However, I thoroughly enjoy my job. It means a lot to me. I love learning from exceptional people, and I have a lot of freedom.

Off The Beaten Track

There were two categories of companies that I interacted with. The first group invited me for an interview, and the second group allowed me to collaborate without a formal hiring process. I consistently chose to work in the latter group and enjoyed my time there. Why?

Every such job meant going out of a local maximum, out of comfort zone. Working on calibration software without any experience with metrology. Jumping between consulting projects, teams, and roles. Relocating to another country to join a multi-national company. Becoming one of the two non-U.S. employees at a DevOps tooling startup without ever seeing bash before.

None of these were "the next logical step" in my career. Maybe I could pass interviews at those companies, perhaps I wouldn't. That's mostly irrelevant because there wouldn't be a sequence of events to land me at a business-as-usual interview at one of those companies.

Expand Your Circle

There's a lot of arguments about the interview process being broken. A candidate spends several hours solving computer science puzzles on a whiteboard to get a job of fixing bugs in a React app. Companies may be too strict at not accepting great candidates and hiring unfit candidates at the same time. Perhaps that's all true.

I'm actually making a different point. A successful job search doesn't have to be centered around an interview. If my experience generalizes to others at all, here are some activities that may help you get the next great job:

  1. Build a strong professional network. And not just a bunch of hiring managers. Diverse connections might perform even better since you'd get access to a broad set of opportunities. You don't know what you are looking for anyway.

  2. Keep learning and be curious, even a topic seems to bring no immediate value. The goal is expanding your surface area of interest, curiosity, and skills.

  3. Take part-time gigs, contracting, one-off apps. They probably won't make you rich on their own. Still, successful low-risk engagement with somebody may lead to longer happy and fulfilling relationships.

  4. Build a public profile. Publish your code, write blogs, share your interests, design, run, and publish experiments. More than once was I surprised about the way this helped me with jobs, networking, learning, or getting a consulting gig.

And if you are wearing a hiring hat, try to give your potential future workers a chance to engage without full-blown employment commitment. Asking me to code a simple but useful real-life application. Running a free class for software engineering students. Hiring temporary contractors from distant countries. Those companies get me as their employee.

Enough about myself! I'm keen to learn about your experience. Whether you can relate to my story or disagree with my take, please leave a comment below.

Top comments (2)

Collapse
 
sfiquet profile image
Sylvie Fiquet

Great post! Getting a job through showing what you can do (and building relationships in the process) is so much better than going through the interview process. Thanks for writing about your experience.

Collapse
 
lohithgn profile image
Lohith

Great post. I am now starting on pulumi bandwagon. Still long way to go but the prospect of writing IaC in C# is lucrative for me. So pushing our company to be on this route.
On a personal front - when you say "Take part-time gigs" - do you have any suggestion where i would look out for low hanging/low risk part time gig. ANy suggestions