I've been interviewing for the past month and I made a rule that I won't be doing any algorithm interviews. I didn't have time to study; some friends questioned whether this was a good idea or not. I ended up submitting code samples when recruiters or managers would try to go through that kind of phone screening. Not only am I interviewing at better quality firms, but it's not nearly as stressful.
Anecdotally there is a high correlation between firms that tell me they're freezing hiring, etc and algorithm interviews.
In my experience the higher quality non-FAANG firms who aren't wildly popular places to work and also need to turn a profit to survive tend to be more appreciative of qualified applicants and waste less time getting them started
Both are signs of companies that treat employees as ammunition rather than assets.
There is https://github.com/poteto/hiring-without-whiteboards , but there aren't many larger companies on the list
Companies that have high standards are far more interesting places to work at and with more interesting colleagues. They all require whiteboards and leet code.
It's definitely true that not all companies that use these algorithm interviews are worth working for. But, at least in my experience, companies that don't require them at all are pretty awful places to work. It demonstrates that management doesn't care who they hire.
Without exception the companies that weighted academic algorithm skills over practical architecture skill and implementation experience had some of the most confident and brazen mistakes in security or scalability and some of the poorest work-life balance.
I understand most people will say "this is too much work". The problem is that it is all too easy for someone to say "in my experience, X is correlated with Y" ... but that isn't very believable if the observer didn't even write things down.
I don't like asking for everything to be quantified, but it does seem in this case you probably have the data in your head and just need a nudge to write it down.
But it was his comment you chose to "suggest he show the work".
Also, I didn't say it didn't apply. I'm not a perfectly consistent machine you know.
The industry is at a point where there are plenty of clueless cookie cutter companies cargo culting Leetcode just because those interesting companies engage in it.
As far as interesting companies that don't require that, there's at least Stripe, famously, and surely more from this list:
> Programming/debugging phone screen + on site with your own laptop/setup and full access to internet, systems design discussion and talk with hiring manager about team alignment.
That seems to me to be a technical interview. I'm not sure what makes this different from a Facebook or Google.
I have quite high standards when I hire, which is why I don't use leetcode to assess. :)
I can get much better data more quickly without it. And, indeed, the best places I've ever worked with the smartest people I've ever known have not used these types of problems in the interview.
I've personally solved hundreds of them for the problem-solving challenge, but it's a horrible way to determine if someone is a good fit for a job. It's like interviewing a mechanic for your auto shop by seeing how well they can change a tire using only a screwdriver.
How would you go about checking if somebody is qualified in an interview?
Using his past experience may help but too often it can be embellished or flat out lied about. That's why these algorithm interviews became popular in the first place, to my knowledge.
It depends on the job, but for coding I've had great luck asking them to bring some code they were proud of in to the interview. Language doesn't matter, subject doesn't matter.
And then in the interview I ask them to teach me how it works. It becomes apparent in no time if they don't know what they're doing (or stole it). And if they can tell me about it, I learn how well they understand their own system--do they only understand it well enough to code it, or do they understand it well enough to teach it? I also learn if they're a good communicator. And if they're a good culture fit. And if they're enthusiastic about coding. I can also ask probing questions about design decisions and shortcomings.
That covers the "how well do they code" part, but falls a little short on the problem-solving part. But I can come up with on-the-fly questions (often about the code they brought in) that exercise those muscles. "What would you do if this data weren't available?" "What if you needed more guaranteed uptime?" "What if you needed to process 1000x more data in the same timeframe?" These are more relevant questions.
I'm after someone who learns fast. I'll take someone who knows a little and learns fast over someone who knows a lot and learns slow 9/10 times.
(Once I had someone bring in a device driver written in C for a JavaScript gig. They were hired. Another time we hired a dev with zero experience in the platform, language, or framework. Worked out great.)
If they ace leetcode-style challenges, I know they're good at _that_, but I don't trust it as a proxy for the other things I want to know, above.
The parent commenter wasn't saying we shouldn't have "high standards"; just that filtering for maximal prowess at leet code grinding does not serve as a useful instance of such, in their book.
Further, this distinction seems basically quite obvious -- there's no other way to read their text, actually.
Other industries don’t hire this way for anyone but fresh grads, and most don’t even do this for them.
Same thing happened in March 2020, when investors panicked over COVID-19 and flew to US treasuries. Stocks went down, crypto went through the floor.
I wish it were the same as March 2020. You had a big drop and then almost an immediate reversal that lead to an explosive bull run to many new all-time-highs until April 2021.
Instead this time it's had the big drop and been very anemic for months since, with no clear end in sight. Could easily drop more. Starting to look more and more like the two year crypto winter back in 2014. Course if I was buying a coin a month that entire time it was $200 a coin I would have been retired by now. Or at least semi-retired.
Looking back, it would appear I got lucky since we all know new blood is the first to be dropped come a downturn. Well, maybe potentially not lucky since I recently jumped ship anyway, but it is not crypto or startup so risk level is lower.
To your point, I agree. As an applicant, I would be really aggravated if I passed on an offer, because I received and accepted offer from another place ( and that another placed rescinded offer afterwards ). Can I assume there will be some lawsuits over this ( in that case there seems to be an incurred loss )?
So let me get this straight: now, we're not allowed to ask people if they can perform an __essential function of the job__, without being labeled "inhumane" ?
You interview for sanitation work, I want to know that you can sling a heavy bag of hot garbage.
You interview for SWE, I want to know that you can throw a sling a heavy bag of hot garbage!!!
I think there's a simple solution to the problem of algorithm testing and Leetcode problems in hiring: every company should run their hiring technical test on their current staff, at random, on a regular basis. If the current staff can pass then the test is a valid one. If they can't then it isn't, and they should update it to be a more realistic task that the current staff can do.
A healthy way would be bringing your current talent pool up to a higher level through training, even if that's maths (if that's what your current problem is).
An unhealthy way is introducing a bunch of new talent that is tested on one niche domain of software engineering and pretending everyone needs to do that while also trying to improve fundamental skills that help them with their day to day job.
- you've got people working crazy hours and learned on the job. Are they supposed to spend extra time on this stuff when they're barely keeping up?
- the existing people have developed all sorts of niche skills of their own. I'm not trying the new folks on that stuff because... we don't need more of it right now.
All I suggested is using the team's existing skillset as the measure to hire new people for the team, rather than some sort of arbitrary test that doesn't reflect the work they do.
“we need someone who can help us write our yet another SaaS CRUD app using an MVC framework. But to get the job you have to reverse a binary tree while riding a unicycle on a tightrope juggling bowling balls. We also offer below average pay and make up the difference in statistically worthless ‘equity’ and only want 10x developers who are willing to work for 60 hours a week”
If you really need to hire someone you can't assess internally then you should seek help with hiring them. This is one reason why networking and mentors are so helpful. Other people can help with this sort of problem.
I didn't get the job.
Me: “This is a domain I’m familiar with because I spent 9 years working in the bill payment industry. Here all of the corner cases you have to deal with. You’re much better off using these USPS certified CASS solutions instead of writing it internally for these reasons and went on to explain all of the drawbacks of writing software that didn’t give you a competitive advantage.”
The middle level developer interviewing me wasn’t impressed. The director was and I got the job and soon became the lead.
Please tell me of companies which ask about essential functions of the job? That's become infinitesmially rare.
Instead, interview are about memorizing algorithms and perfecting a theatrical delivery where you pretend to discover the fruits of years of research in 45 minutes.
In order words, things you will never ever do in the actual day to day job after getting hired.
But DS&A style interviews don’t come anywhere near testing the type of work that most developers will be doing day to day in 2022.
If someone has code samples, years of experience building things and can make it clear to companies that they can do the job, I don’t see the problem.
It’s a two way street about finding a good fit, I think a lot of employers don’t see it that way. Maybe they should.
I’m making in the $200s now. But I found a job at $BigTech that was permanently remote.
They needn't get furious. They need to get a lawyer.
Stranger here. Just want to suggest that getting furious over things outside of your control, or the world not being as you would like it to be, is optional.
If you don't like being enraged, you can quit that pattern with some practice in learning to notice your emotions as they come and go, and then learning to interrupt the chain of events that leads to the state of being furious and brooding.
Yet a lot of people get angry easily, and being an easily-triggered person works against a person's life. No one wants to constantly have to walk on eggshells around another person in order to be their friend, partner, child, etc.
Personally, I don't enjoy the emotion of being angry. If you do, more power to you.
Getting angry is optional. With some practice (largely, mindfulness) people can learn to notice their emotions and not become strongly identified with whatever is happening in the moment, and choose to do something more productive than simply stewing or ruminating in the unfairness of life.
Thanks for engaging.
no one cares
Don't hire me if you need me to lie to your staff.
That means an updated resume, career document of accomplishments and talking points, an active network and “fuck you money” in the bank. If you live in any major city in the US, and are a software developer with experience, you should be making in the upper quintile of income for your area. There is usually no excuse not to have savings.
Good advice on the other points.
https://sf.curbed.com/2019/2/25/18239828/report-middle-class...
The average software developer in SF makes more then twice that.
https://www.builtinsf.com/salaries/dev-engineer/software-eng...
https://www.census.gov/quickfacts/fact/table/sanfranciscocit...
And that's of 2020 so out of date.
These are the numbers from the census bureau. It still says $119K
https://www.census.gov/quickfacts/sanfranciscocitycalifornia
Median isn’t some obscure statistic that’s hard to calculate.
I can't imagine many professionals would do something damaging to their employer on the way out. Facing legal troubles right when you are looking for a new job seems very shortsighted.
Also, if you treat the people you are letting go as humans, they will be less likely to retaliate. Ironically, trying to prevent retaliation by treating them like they will retaliate is more likely to cause them to do so.
However, if you are laying someone off simply because the business if struggling, you presumably think they are trustworthy enough to employ. If you trusted them enough to give them the power before letting them go, you obviously trust them. If you are worried getting laid off will make them abuse that trust and use their access to cause damage, how could you trust them before you laid them off?
If your personel has an exit period of a few months, they can take their time to process what happened, grieve, and find a new job, without losing the house or healthcare. There simply isn't that much of a reason for revenge.
But bigger organisations give extra insurance. This covers e.g. avprivate or 2 person hospital room instead of multi person rooms. Or private care without waitung lists
Also, as healthcare is getting more expensive, the core package gets smaller. E.g. dental care was a victim in my country, preventative care is still covered but restorative probably not.
Sounds soulless, and for some it is, but there is no place for drama when the day comes.
Being good hearted will eventually backfire - that one employee who feels its very unfair to him, with right access can do so much damage to already faltering company it can even bring it down.
So its a precaution, because 1 (or 5) percent of people are vengeful assholes, and you often find out only when right buttons are pressed.
Severance package is always generous, ie my bank gives in such case 1 salary for every year worked, on top of mandatory 3 ones mandated by Swiss laws.
Those who were connected to the right bosses knew more than others. There were a couple leaders who already had new jobs lined up when the news became public while others were stuck scrambling. There was a lot of anger and resentment compared to other layoffs I’d been through.
On the other hand, there were layoffs more of the form of directors making “objective” decisions without the bottom two layers of management knowing much of anything beyond that layoffs were probably going to happen. There was more shock. People had a bad time still but there wasn’t the same toxicity to it.
Other than in the mafia, what is an underboss? [1]
It is not-improbable that the GP intended a mafia reference for how the layoffs were handled. Your choosing to infer instead of learning produces incorrect results. i.e. It's best not to assume.
Whatever I don’t usually expect business to be honorable or empathic, but don’t be surprised if I start lying to you too.
Now, this requires you to run your business responsibly from the start. If you’re already on the edge of your runway you either cut back or die. But if you have the cash in the bank you’re a better person for spending it on the employees than doubling down on your war chest.
All the stock that the executives dumped could easily pay the salaries of all the people they screwed. And by resigning, they would open up some nice corner offices for all the people who they hired while fully knowing they were going to need to fire a lot of people soon.
https://cointelegraph.com/news/coinbase-insiders-dump-nearly...
>Coinbase insiders dump nearly $5 billion in COIN stock shortly after listing
>After an edict to remain "mission focused," Coinbase executives have succeeded in making themselves a fortune.
>Insider activity reports for Coinbase’s COIN stock indicate that multiple early investors and executives sold billions in equity shortly after COIN’s direct listing. While the filings initially indicated that multiple executives sold a high percentage of their stake in the company, a representative for Coinbase told Cointelegraph that the sellers maintain strong ownership positions.
>Data from Capital Market Laboratories and confirmed by filings on Coinbase’s Investor Relations website shows a total of 12,965,079 shares were sold by insiders, worth over $4.6 billion at COIN’s $344.38 per share Friday close.
>Notable transactions include Coinbase CFO Alesia Haas selling some 255,500 shares at a price of $388.73 (though her Form 4 states that she retains options), while CEO Brian Armstrong sold 749,999 shares in three transactions at various prices, netting a total of $291,827,966.
>According to his Form 4 disclosure, after the sale Armstrong retains 300,001 shares worth over $1 billion. In a filing prior to the direct listing however, he was reported to have 36,851,833 shares, indicating that he sold just over 2% of his stake in the company.
As someone who’s been on both sides of the proverbial desk, I’ve come away frustrated but enlightened in some way almost every time.
Those affected will gain access to the company’s “generous severance philosophy” and “a talent hub to allow them to opt-in to receive additional support services.” (The details surrounding the severance package are unclear, but some affected workers on Blind alleged they would receive two months worth of base pay; a representative from Coinbase did not provide further comment.)
That’s more than most jobs.
I don’t know how you can determine what the minimum is without knowing the severance and etc.
Isn't hiring excessively sloppy? In tech when times are good, everyone's desperately throwing warm bodies in chairs. I'm sure many have thought to themselves, "I'm glad I'm getting paid, but is my job really that necessary? Do we need a six-person Button Component Team?"
So firing people who have actively worked on the vision is better than firing people who haven't started working yet? You seem to be taking things backwards.
This option is quite a lot better than the alternative.
Which are the companies from the dot com crash you remember doing this very well, and very wrong?
not sure how you can do it humanely. what does "humanely" got to do with business decision?
https://blog.coinbase.com/coinbase-is-a-mission-focused-comp...
I've been through the dot com crash and several hard economic downturns. It really puts your company's humanity on full display. It's the real test.
Preserving cash flow is important. But you also have to do things carefully, openly, and with genuine care for the people who've believed in your vision.
People will respect the hard decisions but not sloppy or careless execution.