5 ms·
I am also doing lots of interviews, and I try to stay away from theoretical questions about SOLID, OOP , the difference between a GET and a POST, what is an inn
by nomemory 3y ago
I am also doing lots of interviews, and I try to stay away from theoretical questions about SOLID, OOP , the difference between a GET and a POST, what is an inner join, or similar.
Most of the seniors I interviewed were acing questions like this (they probably answered them tens of times before), and there's no way to differentiate them, once you get perfect answers. As the author of blog post mentioned, some of them don't even listen the question till the end before reciting manual phrases about Single Responsibility.
Some people would disagree but for us there are a few factors that predict if the candidate would be a good fit:
* The ability to solve easy and medium leetcode-like challenges and explain his choices. Nothing fancy, no dynamic programming or graph theory. This tells us if the candidate knows how to write code, which in most cases is at least 50% of the job.
* His academical record. It's a good predictor, because people who actually did good in school and finished their homeworks have a good work ethic. Of course, we are not recruiting PHDs to do backend work, but people who did decently well in school are usually nice to work with. There are brilliant dropouts, of course, but they are not the norm.
* We test how opiniated the candidate is when it comes to technology by asking outrageous questions (relative to the Status Quo): Why dependency injection is bad. We like people with opinions, but we find difficult to work with "evangelists".
The rest is commentary (at least in our case).
- DinaCoder99 3y ago> It's a good predictor, because people who actually did good in school and finished their homeworks have a good work ethic. Wow, you actually ask for their transcript? I don't think I've run across this after my first job (an internship), thank god. The main issue with this, of course, is that people are generally much more motivated by pay than by grades and foisted requirements, so you're going to get a very noisy signal from this.
- michaelrpeskin 3y agoI’d rather have people who are internally motivated to do good work. I don’t look for people who get good grades for the sake of getting good grades. But people who have good grades as a byproduct of just wanting to do well. I think it’s a pretty good signal for me.
- DinaCoder99 3y ago> I don’t look for people who get good grades for the sake of getting good grades. But people who have good grades as a byproduct of just wanting to do well. What is the distinction? Surely a "internally motivated" person would be driven to learn regardless of grades. Anyway, I'm fairly certain nobody will ever work for you out of simply "internal motivation".
- michaelrpeskin 3y agoI'll use an example outside my field. I have a friend who's a mechanical engineer. He's smart and pretty talented, and is a real hard worker. But the reason he's a mechanical engineer is that he wasn't good at theoretical physics and by going "down" a step, he was able to apply all the physics ideas to mechanical engineering. So he was able to do well in the field. But it's not what he "does for fun". There are also people at his small company who spend every weekend building race cars just for fun. They have barns full of engines and tools (I'm jealous of how much space they can afford out in the rural areas!). The reason that they are such good engineers is that they find it fun. They do it in their spare time for fun. They find solving these kind of problems fun. So when they go to work during the week, they're having fun which makes them really good at what they do. My friend said it to me before that "you can't beat someone who does it for fun" and that's just about for everything. If you look at the best hedge fund managers, sure they had more money than I did to get started. But they also find it fun to do (what I think is) the drudgery of learning the space that they're working in. So back to grades...if you find someone with good grades who sounds like they worked for the good grades, that's fine, they're a hard worker and you probably won't go wrong with them. But if you find someone with good grades who just was having fun solving problems and happened to get good grades, then you have a real winner. And I think you need to just talk to people and see what they say. You can tell the "grinds" from the others. I'm also careful to keep in mind that lots of it is luck: having interest (finding it fun), talent (also being good at it), and value (someone willing to pay for it) doesn't make you a better person, it just makes you good at the one thing that someone wants. For example, the things that I find fun are related so solving certain kinds of mathematical problems with software. I was able to find a company that needs that, but there are very small number of places that need what I love. If I had to work for Big Software Co, I'd be ok at it, but wouldn't be a 10x developer. I guess I'm just saying that luck plays a lot into it.
- nomemory 3y agoWe live in a small country with few decent highschools and universities.
- uraniumjelly 3y ago> * The ability to solve easy and medium leetcode-like challenges What about Fermi estimation problems? The internet seems to have turned on them in recent years, but they are a good test of intuition and general problem solving skills.
- TrustThrows 3y agoIn four of the last five jobs I have held over the last 30 years, I have been the "last resort", the one who can find a creative, elegant, cost-effective solution when everyone else is hitting dead ends or just sitting there spinning their wheels in the mud. And I go utterly blank when confronted with a Fermi problem. People who are good at Fermi problems may be good problem solvers. But people who are good problem solvers may not be good at Fermi problems.
- pavlov 3y ago> “His academical record” Here at the General 1950s Engineering Corporation, we hire clean-shaven men who did well in college, are dedicated breadwinners for their family, and killed at least five enemies in the war.
- nomemory 3y agoI get the joke, but it's not like that. We have a few metalheads in the office. They did kill their fair share of dragons in video games.
- pavlov 3y agoI appreciate the ambiguity of your reply because I was expecting it to be “It’s not like that, we do hire women” — but instead got: “It’s not like that, we do hire metalheads.”
- nomemory 3y agoI do get your point, but are you under the presumption there are no women metalheads?
- handoflixue 3y agoBeing a woman who attends metal concerts, the scene in the USA is 90% guys. It's significantly more gender-skewed than programming is
- sokoloff 3y ago> theoretical questions about SOLID, OOP , the difference between a GET and a POST, what is an inner join, or similar. The last two of those don’t strike me as particularly theoretical.
- bckr 3y ago“Theoretical” only applies to the first item in the list. The list is generally about questions related to recalling the meaning of terms.
- matwood 3y ago> We test how opiniated the candidate is when it comes to technology by asking outrageous questions (relative to the Status Quo): Why dependency injection is bad. We like people with opinions, but we find difficult to work with "evangelists". This is a great point. The more senior someone is, the more often their answer should end up, 'it depends'. Evangelists often end up not following the standards set in an existing project causing all sorts of maintenance issues later. They also often to seem to always be arguing for rewrites because it doesn't fit their opinionated view of the world.
- russfink 3y agoAcademic record? I’ve worked with a 4.0 from Cornell that couldn’t follow simple instructions and a 3.5 high school student who maybe quit college later ask a critical question that shaped the end game of a research project.
- koliber 3y agoIt does not mean that people who did well in school or college are guaranteed to do well in a particular job. There is a correlation though, as well as many exceptions. I’ve hired in multiple organizations. Where we could hire quickly and fire quickly, we were willing to take more risks. Where it was hard to let someone go or the work had little risk tolerance, we’re were a lot more cautious and depended on a lot of signals when making a hire decision, including the academic record.
- mynameisvlad 3y ago> * His academical record. It's a good predictor, because people who actually did good in school and finished their homeworks have a good work ethic. Way to inadvertently eliminate basically anybody who is neurodiverse. Most of the great engineers I know, myself included, had absolutely shit university records because brains don’t always do what they want to and university is rarely a motivating factor for people As the other commenter mentioned, rarely are the motivators the same between university and a job. > Of course, we are not recruiting PHDs to do backend work, but people who did decently well in school are usually nice to work with. What does someone’s grades have to do with how nice it is to work with them? I know people that aced their classes and are complete sociopaths, and I know people that dropped out of high school and are lovely to work with. > There are brilliant dropouts, of course, but they are not the norm. You say they exist, but you’d never consider them according to the rest of your comment.
- koliber 3y agoAs much as I hate looking at colleges and grades, and try not to let them influence my hiring decisions, I see a correlation between both quality of school and academic record and job performance. Correlation does not mean causation, and it’s a heuristic and not a rule. Many individuals are exceptions to this heuristic. However, when hiring and faced with a lot of applicants, we need to make decisions based on whatever signals are available. One example is sloppy resumes with grammar and spelling mistakes. What does spelling have to do with coding? Both require care and attention, and your resume reflects how much care and attention dedicate to things.
- mkbosmans 3y agoI do agree about the virtues of a resume that shows that it has been put together with care and attention. But don't forget that while coding, the IDE, compiler, or whatever will correct your spelling mistakes in a very short feedback loop, with hardly any penalty for your output rate. That might mean that your dyslexic super programmer has never learned the value of carefully going over each text before submission.
- jghn 3y ago> His academical record. It's a good predictor Two things: 1) I graduated from college nearly 30 years ago. How is what I did in the 90s a predictor of what I'll do for you today 2) It could be "Her" academic record. Just saying.
- nomemory 3y ago1) it's not black and white. 2) English is not my main language, hard to explain, but we use the masculine form when we refer to "the candidate" (which is a masculine noun). Sometimes I do a bad job at translating my thoughts into English and I get to sound like that.
- latency-guy2 3y ago> 1) I graduated from college nearly 30 years ago. How is what I did in the 90s a predictor of what I'll do for you today Thats what the remainder of the next 30 years of history are for. > 2) It could be "Her" academic record. Just saying. It can be "His". Just saying.
- dehrmann 3y ago> medium leetcode-like challenges People here like to hate on it, but if you can't solve a problem where a good enough solution uses standard data structures in a halfway obvious way, you're gonna have a hard time in the job.
- Scubabear68 3y ago“His academical record”. I dropped out of college young, for complicated reasons. It has never, to my knowledge, been an issue with any potential employer. And I also disagree with wanti g someone with a “good work ethic”, as you say. People with a good work ethic will grind out mediocre code year after year. I want a creative lazy coder who will find a smart solution or piece of automation to save himself work down the road.
- _dark_matter_ 3y agoI've worked with lazy coders and it sucks. It really does. They are not diligent about listening to users, about following standards, about testing, or being thorough. It works in the short term but only for them, not for the team. I despise this trope of lazy coders. The best engineers I've ever worked with were thoughtful, efficient, and hard working. They got things done I didn't know were possible, and then did it again the next day. They write books, develop open source libraries, and speak at conferences. Lazy people don't do that.