28 comments

[ 1.9 ms ] story [ 71.8 ms ] thread
These all seem like things you can figure out during the hiring stage. You could be losing out on some really talented employees by simply distrusting all junior candidates due to some prior incidents.

I've worked with some absolutely top-notch candidates straight out of college, and some mediocre ones which plenty of experience.

There is always some exception to the rule. Frankly the issue is more the number of topics one needs to learn to actually add value as a data-scientist. Junior data scientists need a hell lot of supervision compared to analysts or data-engineers. Most of what it takes to be a data-scientist is acquired on the job rather than something learned in class. And yes some of that could be checked during the interview, but that would also mean a very low pass rate and a lot of time spent hiring on these roles. I would rather hire these people straight out of college in role where they would have much more chance to excel, and would need less supervision. If they are good enough then give them more modeling tasks.
Junior anything needs a lot of supervision, it's probably the defining trait of a junior.
"Junior anything needs a lot of supervision, it's probably the defining trait of a junior." - yes, but I would argue that junior data-scientists requires much more supervision than the same person doing a junior analyst or engineer role.
What's wrong with chaining try/except?
One or two try/except is usually fine, but when you are nesting 3+ more try/except with the same error, the code becomes quickly unreadable.

Often you would be better off having a first look at the input to figure out which case you should tackle, decompose the nested try/excepts into separate function or at the very least keep it to two nested levels.

If Julien Kervizic offers you a job, don't take it.

Noted.

That's essentially the tone I for from the article. I'm not sure where he thinks his "seasoned" data scientists come from but you can either:

- Train them yourself and then pay them a fair market value (that means actually giving them a raise!), or - you hire them from elsewhere.

Saying that you don't put effort into training tells me there are worse underlying issues, and I certainly don't want to work for you.

I work for a company that puts a lot of effort in training and education into their workforce (they paid for my BS and paid my salary while I got my MS). For gripes that I have about working for them, they take care of their own, mentor their, and make sure they are fairly compensated (to include raises). I have been working for them for the past 8 years, and I intend on working for them for the foreseeable future. That doesn't even mention that they also give me a great work life balance, and want to see me work up the ranks internally.

Seeing articles that only reenforce that I have it pretty good where I work.

Hey - I am not saying not to hire or train junior people, rather hire them as analyst or data-engineer. There is much less of learning gap in these positions, and from there they should have a path forward to a data-scientist position. This rather than hiring them as junior data-scientist and essentially just paying for their education.
Is this targeted at junior data scientists? Is the intent for them to know that their code is inefficient, unformatted, overly specific, weird ass, and wrong?

I don't disagree that large amounts of people graduating from computer science programs are under-equipped to enter the workforce, but maybe focus on the shortcomings of the educational system than the people coming out of it.

Frankly the issue is more that a lot of them are dreaming of a position that they are not ready for, and want that from the get go.

They are generally ill equipped, but do not regard position such as analyst and engineers which would give them the foothold they would need to enter that position after a couple of years.

What they have to learn goes far beyond coding and entails getting a sense for data, the business sense that goes with it, an understanding of how to put models, etl code etc.. into production...

Most is fairly hard to teach in a classroom and rather requires practical experience in a business context, so I think the issue is more of an expectation issue than an educational issue. Although it is partially exacerbated by programs such as "Msc of DataScience", that makes student believe they would be ready for these positions straight after graduation.

The degree should get you to a point where you can actually learn the job.

You hire juniors and give them as much work as they can do with supervision.

"The degree should get you to a point where you can actually learn the job."

I think the question there is "how fast"?

"You hire juniors and give them as much work as they can do with supervision." - Agree to a large extent, the main problem there is that their expectations don't usually match what they are ready for.

It's not a shortcoming of the educational system. People need experience to be good at things. Engineers take years after school, doctors take years after school.
I agree that people need experience to become good at anything, but I actually see this as a sort of shortcoming which is attributable to education. i.e. the system will give you the building blocks of success without context and you can fumble around with them once you enter the workforce - learn on the job.

I believe that we should be focusing much more on pragmatic application of knowledge through apprenticeship in the later years of school.

The goal being to alleviate the feeling that you need to immediately train someone who just got done with 4+ years of training.

And I don't hire data scientists who can't be bothered to proofread a blog post.
There should be a follow up article "Why I don't work for Julien Kervizic"
Did You read the article fully, before going ad hominem?
It's a job you grow into by not working at the job.

If you can't grow people at your company then no one should work for you. That simple.

It's a job you grow into by not working at the job.: Agreed! There are quite a few paths which makes it easy to grow into, such as analyst or data/software engineer. There is however a mismatch of expectation that you can just start as a data-scientist out of school, which represent a steep learning curve and that people are usually not ready for.
Oh we disagree entirely. I am openly mocking the idea that you should learn the job by not doing it. That data scientists are just oh so special that no one can be a junior at it.

It's ridiculous. If you can't mentor someone at the job, then that speaks to your failures. It's not the job that's the problem.

You can have junior position for everything, so long as you revise your expectations.

A lot of firm, rebrand analysts jobs to be junior data-scientists position to essentially attract candidates, so yeah you can be "junior" at it, but it's essentially a different job.

It seems like what op is trying to say is that being a data scientist is a cross disciplinary position, so you can't really start off as a data scientist, rather you become one through other positions. However, their complaints feel more like either an inability or unwillingness to make the team a place for its members to grow. Ideally, members would be doing code review, so issues with ugly/inefficient code can be addressed and learned from. Getting up to speed on the organization's systems, which system to use situationally, general philosophical thinking behind what the data is, which problems to solve and how to solve them are definitely things that come out when a mid-level mentors a junior, which should be a thing that happens on the team, because it not only helps the juniors get up to speed, but it reinforces the mid-level member's knowledge. I think that speaks to real structural issues in how the team is set up, and if op's the head of a data team, I wouldn't want to work for him or for a company he works at in that capacity.
There is no issue hiring juniors, they have a lot to learn and they should be coached through it for sure. That mid level, help coach juniors, is also not an issue. But I would rather hire a junior analyst or a junior engineer than a junior data-scientist. The breadth of what they need to learn before actually delivering value is quite vast.

I can hire an analyst or engineer and quickly they will be able to learn, get good at something and deliver value. After 2 years they can easily grow into a data-scientist with the good base they have had from their previous positions.

Some organization essentially rebrand analysts positions to "junior datascientist", but I believe this make it a mismatch of expectation for graduates getting out of school.