8 ms·
I have had the same experience. Some things I've witnessed: - multiple "senior" data scientists who cannot write a function definition in python - a "senior f
by seanbarry 5y ago
I have had the same experience. Some things I've witnessed:
- multiple "senior" data scientists who cannot write a function definition in python
- a "senior full stack engineer" with 5+ years of web dev experience who took 20 mins to change the width of a div in a web app
- many "mid/senior level" full stack engineers who don't know the difference between sync/async, or have any clue about how the JS event loop works
There are so many candidates out there who have what looks like impressive CVs, but can hardly string a program together.
- vsareto 5y agoYour first two are pretty bad (possibly panic induced), but the last one might not be realistic. You can rack up multiple years of experience working on low user count apps without knowing those things. You can still write Javascript and solve business problems without knowing those things. But also, seniority doesn't determine if someone knows those things. If I asked you for a list of things I should know by the time I get to mid/senior, someone else will have different expectations. Everyone is kind of inventing their own requirements on what someone ought to to know at junior/mid/senior levels.
- seanbarry 5y ago> You can still write Javascript and solve business problems without knowing those things. It depends what the requirements of the role are. For some frontend React work maybe, but the engineers we were trying to hire would be working on APIs and processes that handle high volumes of streaming data. In that context using sync methods over async would significantly impact throughput. When asked "why are you using a sync method here" the answer would often be "I want the code to pause here before the next line executes". It's a fundamental misunderstanding of what's happening under the bonnet that IMO is required for this sort of task. Also - I agree that labels like "mid" or "senior" shouldn't carry a specific list of knowledge requirements, but they are useful to set benchmarks for what a candidate should be able to roughly offer in exchange for the level of comp they are requesting.
- e4e78a06 5y agoIf you don't know the difference between sync and async you're not qualified to solve problems with any realistic level of scale (>10 concurrent users which is a very low bar) or complexity (have you really never had to code logic that uses 2 or more concurrent network calls?). Might be excusable for a junior engineer but definitely not someone who describes themselves as senior.
- vmception 5y agoyou google it and understand it or re-understand it in 5 minutes after trying 20 iterations in the IDE. thats representative of the job, so it should be represented in the interview. open book interviews test for resource finding and implementation skills.
- e4e78a06 5y agoYou shouldn't have to google a basic concept that, if you truly were senior level, you would be using on a daily basis. This is not some obscure language syntax or feature.
- vmception 5y agoThey shouldn't be penalized for it either, using reference should be a force of habit. The main problem with your response is that the threshold for "basic concept" is arbitrary by framework, by language, by time, by interviewer. Revert back to interviewing things relevant for the day to day job, look at what developers actually employed there did over the last few weeks, and interview on that.
- e4e78a06 5y agoKnowing the difference between async and sync is relevant to any JavaScript developer's daily tasks. If you are hiring a JavaScript developer it's 100% a fair question to ask. If you are hiring a generalist maybe not, but if they have JavaScript experience in the last 3 years listed on their resume, I again say it's fair to ask. Asking about async/sync in JS is completely different from asking someone what obscure features like finalizers are in Java. One is used on an hourly basis when writing code, the other one is never used except in obscure legacy code. If you do what you're proposing and just ask about projects I think you'll find it's easy for incompetent people who are floundering around and copy pasting from stackoverflow without understanding what they're copying to pass your bar. I copy from stack overflow all the time but I understand what I'm copying and why it works and when it doesn't work.
- disgruntledphd2 5y ago> multiple "senior" data scientists who cannot write a function definition in python I definitely would have failed this a few years back, because I spent most of my time in R & SQL.
- nouveaux 5y agoWhy would you quiz on language specific syntax?
- wffurr 5y agoDepends on whether the candidate claims to know Python on their resume. If they do so, I'd certainly expect some basic ability to read such code.
- seanbarry 5y agoI should have clarified in the original comment: the roles all had python experience as a specific requirement and some of the candidates apparently had multiple years of experience with Python listed on their CVs.
- khazhoux 5y agoAlmost all big companies let candidates choose their language for the interview, with assumption it'll be python/java/c++ or similar mainstream lang.
- avgDev 5y agoYou can be full-stack with minimal JS knowledge, if you use stuff like Blazor. Lack of knowledge about sync/async would be inexcusable for a mid/senior though.
- throwawaygh 5y ago1: Bad. 2: Could be terrible or totally reasonable... how much of that was "fixed cost of any push to prod regardless of complexity"? I've worked at very few places where I could get a change from my editor to production in less than 10 minutes, except in emergencies. Even at my one person freelancing shop a push to prod took at least a few minutes to go through the pre-flight checklist. 3: Bad but not insanely bad, depending on what's needed for the role. Definitely something they should learn, but not catastrophic especially if they are a huge value add in other parts of the stack.