I keep hearing how there's a war for technical talent. I guess I don't have any.
I keep hearing how there's a war for technical talent. I guess I don't have any.
I do think the need for technical talent is there, though - I've had a very different experience from what you describe.
I agree with your perspective. I also think there are issues on the recruiting side. Sometimes it seems like they don't know what they need and they just list a ton of unnecessary stuff in the list of required skills.
It took me about 2 years after college until I got steady employment. I think I had sent over 750 apps and interviewed at over 100 companies. Most of the time they were trying to get a senior software engineer (5+ years xp) but considered me because I was probably one of the only people who had applied to their place. My interviewing skills were/are still garbage compared to the competition though.
> I keep hearing how there's a war for technical talent. I guess I don't have any.
When I left academia, I struggled for 6 months to get a job. Then, 6 months into my first data scientist role, my company had to downscale and the whole data science team (me included) laid off.
I got three offers in two weeks following that, even though I was more or less the same candidate as 6 months earlier. That one line on my CV of having a modicum of commercial experience made such a big difference.
I had many friends who over-indexed on grades and had 0-2 internships. Many of them were really smart, but couldn't get the foot in the door for an interview.
Experience (including internships at legitimate companies) will get you past the the resume screen and recruiter call. From that point on, it's your interviewing skill that counts most.
There are still plenty of jobs that require excellent technical skills.
(Solve the Towers of Babylon with recursive algo).
So, yes. Somebody calling himself a programmer or engineer should be able to produce this.
No more, no less. Doing so will get you paid for the activity of programming.
Along the way if you don't know anything, because you can't know or remember everything, you just look it up.
The end.
You learn it in highschool level programming classes & first semester intro to CS college courses.
Even if they won't specifically need to use recursion in their next job it marks them as someone not serious or about programming.
Just like I'd expect a moderately senior developer to be able to program in procedural, object oriented & functional styles even if they strongly prefer one to the others (and how would they know if they haven't tried all of them?).
I mean, I would be worried if a candidate is not shy to use recursion that this will blow up software perfomance. (But then probably after hire the senior will tell: dont use recursion here)
Of course I will be embarressed soon, when it is only me who doesnt use recursion in production. :-)
Regardless, yes, I doubt many people write a lot of recursive functions, since the data structures people use tend to either be flat, based on arrays, or neatly hidden away in libraries.
Generally, developer interviews are just stand-ins for IQ tests since it is illegal to give a candidate an IQ test. Seeing if someone can easily write a recursive function is a pretty good IQ test.
If n == 0
Return
Log(“std rec ex ” + n)n -= 1
Hip(n)
}
On phone (so untested pseudo code), but this is my standard way of thinking about it. I think implementing bfs and dfs also helps to get it a bit more.
And I have needed to do recursion on web dev, because it’s the easiest way to deal with trees on your own.
I actually like fizz-bang interviews - just don't expect me to have algorithms memorized in a formal way. They give an interviewer the ability to see how the candidate translates the requirements into code, what their process is, how they think about the subject matter.
I agree about the shoulders-of-giants statement. That's sort of what I'm was getting at with my comment about using standard libraries. If I'm using pandas dataframes, there's no reason for me to build an algorithm/code to join multiple dataframes. If I were the interviewer, I would certainly view a candidate in a better light if they bring up this point rather than just jump into coding duplicate functionality.