4 ms·
having worked in tech and now running my own company.. the honest truth is that maybe 10-20% of SWE (at best) are “good”. sure it is harsh but i won't lie. if
by moomoo11 4mo ago
having worked in tech and now running my own company..
the honest truth is that maybe 10-20% of SWE (at best) are “good”. sure it is harsh but i won't lie. if you're good you'll probably relate.
the rest kind of suck.
i’ve never gotten anything lower than Exceeds Expectations in my career so I’ve seen how awful some engineers were. i’ve seen how amazing a tiny minority were and i made them my mentors.
these days i have a simple policy.
if they cannot think, they are fired. why waste resources (time and money) on someone who can’t use their brain? i’d rather give AI credits to someone who uses their brain.
thinking is the humans job. the ai needs to execute on what the human thought of, improved, planned.
- cindyllm 4mo ago[dead]
- satvikpendem 4mo agoIt's the Pareto principle of course, as well as the normal distribution. Many firms have been able to succeed in the market just by hiring only good engineers over average ones.
- moomoo11 4mo agoyeah but these days it is even more important to filter out bads and even at "good" companies you have people who can game the system to get in, and then they struggle to get anything done on time or be responsible for taking on and completing any initiatives bigger than a single task on a bigger scope.
- satvikpendem 4mo agoIndeed. You really need to find people who don't want to play politics and instead get stuff done. I'm still not sure how to hire for these sorts of people in the age of AI, where people even cheat in interviews. Maybe probation programs? Have multiple people work for a month or two and cut those who don't succeed.
- moomoo11 4mo agothis is what I've been doing, and obviously I have a startup so I need to double-ensure that I don't onboard any bads. you can start people off as contractors too. I still think a single in person LC style (doesn't have to be LC per se, could be domain specific) logical thinking/reasoning exercise is useful. I want to ensure the person can actually put 2 and 2 together and think. This is just a fast filter. If they seem like they can think, then I like to do 2-3 systems design interviews. I'll try to give them something related to things I like, such as graph structures, writing a complex query that needs to be dynamically generated, or something related to infrastructure or how they'd do something that I've already done. After all, this is MY project they're joining. So far that has worked well. Few more things - I like to test if they are a humble type (they can work on a team putting ego on the side - the mission is our number 1 priority). if they say they know something that i know and asked, then they can be sure I'm going to drill them on it. if it turns out they lied, i'm not wasting more time. Thanks for your time, take care. This is very important to me. Just say you don't know, it isn't a big deal because ever since like 1994 that has not been an issue. You can just learn things online, and AI makes that even faster. I am never afraid to say I don't know something, and I've asked plenty of "dumb" questions (while doing some due diligence first) so I don't really mind. Can they handle information overload? I am the type of person who has multiple branches in my head of actions I can take next, so while I may appear stressed I'm really not. Can they keep up? Our goal as software engineers should be to come up with solutions that solve the problem in a way that makes building on it simpler in the future. My goal is simplicity and effectiveness. So I'll see if they can keep up, and eventually reduce the work to be done into atomic pieces. This is a fun exercise because it is collaborative and we get to bounce ideas fast back and forth. Finally, I like to let them use their favorite tools, including AI tools (codex, claude, some ppl have esoteric custom stuff which is cool), to solve a problem together. It might be code related, it might not. Really depends on my mood. I like to see how they work and what sort of output they can come up with. This filters out people who only ask AI stuff, instead of having some framework they've already developed to be effective. Honestly I don't know how to scale this process. I'm not really going to feel bad either about firing fast, ultimately this is a business and I don't want customers to suffer because we have some issues internally. At the same time, I wonder if I even need to build out an org with 100s of people. That was an inefficiency (look at all the layoffs), and it is traumatic. If I can find a few great people who can be supercharged and turbocharged and electrified with AI, then they can take on & own bigger responsibilities. My number 1 goal is to ensure they're with me on the mission, and after that all things seem to sort of fit into place.
- bandrami 4mo agoEverybody talks about finding that mythical 10X but in my recent hiring experience it's more like there's a whole bunch of 0Xs and the trick is finding the actual 1Xs among them.
- Ekaros 4mo agoAlso now is it 1x in individual productivity or >=1x in team productivity. As anyone multiplying teams productivity by less than one is bad. Probably lot worse than actual 0x. Someone who produces absolutely nothing and have no impact has cost, but is still better than someone who produces net negative. And the people who solely act as interface between LLM and whatever might fall to later category.
- LandR 4mo agoThis! All my experience in trying to hire developers has been wading through an endless stream of people who were just useless. Me: I want to represent a 2d grid, what data structure should we use? Them: A string? This was someone applying for senior engineer. Others I've had filled their CV with SQL related acronyms. But couldn't explain what a foreign key was and then stubbornly insisted that at their current corp they would never ever use foreign keys in their SQL database! I've had senior engineer when asked how to check if we had a 2d array with an item at x,y tell me if anything is on the same column or row, they couldn't do it, couldn't even verbalise how to approach it. "Web Developers" who didn't know the difference between GET and POST. Web Developers that have never heard of PUT or what it would be used for.
- bandrami 4mo agoI have a question I usually ask which is "How would you convert a Julian yyyy-ddd date string to a military yyyy-mm-dd date string?" (I explain how a Julian date works if they aren't familiar with it.) The answer that almost guarantees I'll hire you is "there's got to be a library function for that, so I look in the manual". Almost as good is somebody whiteboarding how they'd convert ddd to mm-dd (and then account for leap years, etc.) I get a disturbing number of people who say things like "I would communicate with the person asking for this to see what they're really intending blah blah" My favorite answer was on a phone interview where he just hung up and wouldn't answer when we called back.