cxx
Joined 13 years ago
Joined 13 years ago
When someone comes in and is able to solve the 2 hardest problems I have cold there's no way I can reject this candidate in a debrief. There's people out there who are able to do this, either through practice or raw intelligence, it's just that they're very rare. If I said I'm filtering for top talent nobody would bat an eye. If you think I'm being unfair you can simply become more skilled at these problems so that I have absolutely no reason to say no, or to not interview in these places (the better approach).
With that said, and I know it's a first world problem, I'm looking for a place that aligns with my views and in some specific fields that I find interesting. I'm fine taking a pay cut depending on the company and the position, I don't care so much about money anymore as an employee.
For context, I'm a L6 at FB right now and have more than a decade of experience. I've never seen tech interviews become as stupid as they are now. In the last 3 months I've applied to a few places, including one where I literally built from scratch what the hiring team wanted to do (and got promoted for it at FB), and I've never seen the difficulty of the programming rounds so high as now. In the company I mention I got asked 5 LC hard questions between the 2 phone screens and the first 4 interviews of the zoom "on-site". No relevance whatsoever with what I did before or would've done on that team. I don't know if I passed the first day, but I told them right after I finished I wouldn't be doing the next day of interviews. Other places while not as extreme were more or less the same, they expect the optimal solution in 20-30 minutes max with no hints so that they can ask you a more difficult follow-up question. Many places say they want to know about your "thought process" but it's complete bullshit. Changing jobs is literally a dice roll, depending on who you get as an interviewer: do you get a stickler who's gonna ask you a tricky mathematical problem and expect picture-perfect compilable code because he has a chip on his shoulder and nobody told him it was a stupid way to hire a generalist, or do you get someone who's asking a reasonable problem and mostly looking for signals that you're a well rounded engineer, like choosing tradeoffs, being a team player, helping people around you, and so on. In my experience lately it's been mostly the first type. I don't know if it's simply bad luck or something else, but despite having a pretty good track record these companies are telling me I don't know how to program.
I know it's pretty much impossible for a no-name peon to change the current state of hiring in tech, so in the interviews I conduct I now only ask the hardest possible questions I can find and always put no-hire if the code is not perfect. I've blocked or helped block every single interview loop I've been in except when I knew this person was supposed to join our team directly if they passed, then we just had an reasonable problem and a good talk. My goal is to make hiring slow down to a crawl, make it so hard to find anyone that it hurts the company and is forced to change it. Maybe this is the kind of interviewer I've been finding, someone also fed up with the status quo In that case, I applaud you. The current way we do tech interviews is just idiotic and is absolutely not finding good engineers, it's finding people that lucked out to be in the intersection of "problems they practiced" and "problems you can get asked in an interview".
First of all compared to SV there is no easy access to capital. Want to raise 100k (an insignificant amount by SV standards)? Well you better get a good price for your kids in the black market because there's barely any VC to speak of and banks do not give money to anything more complicated than a clothing shop.
Next is housing. Amsterdam is one of the most beautiful cities in Europe, but it's also one of the most expensive ones. Living inside the city ring (what people typically understand when you talk about Amsterdam) is extremely expensive. A 50-sqm-one-bedroom appartment will easily cost you $1500 (over 1000€) and for the average person that means almost 50% of your netto salary. Go under that and you're not really living in Amsterdam proper but the newer, and much less desirable, outer boroughs.
Finally there's the issue with compensation. Amsterdam is plagued with yuppies in the finance/consulting/sales sectors for one reason: it's what pays. In consulting 60k is almost entry level, and I'm talking about middle of the road companies. A senior engineer, someone with more than 5-7 years of real experience, is lucky to break 55k and will never get a raise once there. Lack of talent you say? Go 120km to the southeast and you have access to fairly hardcore technical guys. If you need more you have Germany right next to it which also has lots of technical talent. There is no shortage of talent here, there is a shortage of pay and of interesting work. And let's not get into the highly unfavorable contracts offered, like mandatory non-compete agreements for up to two years and automatic ownership of everything you make in your own time with your own equipment.
In short, nothing will change unless there's more money flowing around.
One thing I'd like to see is the possibility to run the coroutines in the main thread, without spawning any new threads in the thread pool. It might seem strange but sometimes you just need to do I/O stuff concurrently in a place where you're not allowed to spawn other threads.
Other than that congrats on the release, I hope you keep working on it!