The job market is weird. It seems there are more and more candidates on the market. However, whenever I recruit for senior roles, it seems the candidates are less and less skilled.
This is highly anecdotal. The job post is the same: sr. java developer. Everyone has 5+ years of experience.
I need someone who can:
- explain in depth how a HashMap works
- verbally pseudocode a program that solves a problem, where an adequate solution involves loading a file into a HashMap<int, HashSet<string>> and then filtering the results.
This is not rocket science. It's not trivial, but anyone calling themself a senior programmer should be able to do this. Out of 135 candidates in my last round, 5 performed well on this interview, and 10 more did OK-ish.
It seems the candidates mostly have experience with loading data from one data source, doing some transformation with no regard for performance, calling APIs, and storing data into another data source. Using proper data structures or understanding the performance of an algorithm be damned.
Don't mean to be rude, but does the job posting list a competitive salary?
Now that they're required to list salaries in coastal states I filter for that while searching and don't even consider jobs paying under $[threshold]k.
This explains it! Ive been doing the same, if job postings aren’t in the range Im looking for, Ill skip over the posting altogether. This is fantastic, saves time for both.
I wonder if it goes both ways. Low numbers repel the competent engineers but will certainly attract others for whom the salary represents an upgrade.
> It seems the candidates mostly have experience with loading data from one data source, doing some transformation with no regard for performance, calling APIs, and storing data into another data source.
You may not like it, but for the vast majority of programming jobs globally, that is pretty much the whole job.
Let me add a note for for you - the onus is on you find if someone can learn the task. That is what is a great interviewer does.
As masterj pointed out, a really large portion of jobs ( more than three forth) out there won't be nearly anywhere near the complexity of the task you mentioned.
Huh, I find it interesting that people calling themselves senior would not know how a HashMap works, at least in general (Java implementation-specific details could even be reasonable if you specifically need a strong Java engineer and not just a strong engineer). I feel like there's a lot of title inflation going on and people being handed titles as a way to internally justify to HR someone getting a promotion or raise.
Out of the 200 or so people I interviewed where I posed this question, only one went with Multimap.
You’re hired. :)
Kidding aside, going with a map of string lists as a first iteration of a solution for this is perfectly fine. The followup is to optimized the algo for space and time, and there are intuitive steps if you implement it as a map of lists.
This is highly anecdotal. The job post is the same: sr. java developer. Everyone has 5+ years of experience.
I need someone who can:
- explain in depth how a HashMap works - verbally pseudocode a program that solves a problem, where an adequate solution involves loading a file into a HashMap<int, HashSet<string>> and then filtering the results.
This is not rocket science. It's not trivial, but anyone calling themself a senior programmer should be able to do this. Out of 135 candidates in my last round, 5 performed well on this interview, and 10 more did OK-ish.
It seems the candidates mostly have experience with loading data from one data source, doing some transformation with no regard for performance, calling APIs, and storing data into another data source. Using proper data structures or understanding the performance of an algorithm be damned.