I've had positions at a few different sized companies (big public company vs small startup) working on different types of products (B2B/enterprise vs B2C), and it doesn't matter. After an initial honeymoon phase, I'll get hit by a strong combo of frustration/boredom/cynicism and want to quit.
It could be that I'm burning out or just have a short attention span, but this seems like this is a pervasive issue among DS positions. Almost every DS I talk to (coworkers as well as those in other companies) is unhappy or disillusioned about their role. There are plenty of employees at these companies that genuinely enjoy their work, yet there isn't a single DS I know where I think "I can envision this person doing this work for a couple decades and making a full career out of it until they retire". Everybody is trying to transition to a different type of role (engineering, product management, people management) or just dropping out of tech completely to become a beekeper or something.
I have lots of theories for why this specific role seems so unhappy, but I wanted to take a step back from that and get some broader takes on whether this phenomenon is real. Are DSers -- the job title billed as the 'sexiest job' a few years ago -- generally unhappy in their work? Or is this my own confirmation/sampling bias?
I think:
1. The average data scientist thinks they are too good to have a reproducible build, use version control responsibly, or use software engineering practices to put their practice on wheels. You can get them to make a report but they hate the thought of making a system that makes reports. I always hear things like "I don't want to get my hands dirty"
2. I tell people (especially those who would hire or supervise a data scientist) that they need to make a training set of 1000 to 10,000 examples if they want to train a model. Often that's the last I hear from them. Otherwise I hear some guff about they are too good to do that. Good luck getting data from Kaggle to fit your business problem.
What anecdotes do you have?
Over time I found that I love coding/delivering useful solutions to users - so I gradually positioned myself onto progressively more pure dev projects. I'm starting my first "real" software engineering role in a couple weeks, and I couldn't be more excited. :)
One huge challenge for many Data Scientists is that they have a lot of incompatible expectations from all the different teams they work with. The stakeholder wants a model in 3 weeks, but doesn't understand what a model is what it means to build one. The executive wants to see ROI on their Data Science Investment because it's built into their 12 month financial plan. The Data Engineering team provides access to the data, but don't have the resources to help with all the data issues you are seeing. The Subject Matter Expert is trying their best to help, but they don't understand why you can't easily implement what they are saying. The project manager wants an estimate, but you have no idea how fast any of these other parties are going to move or issues are going to be resolved.
Then there is your manager. How do they evaluate your performance exactly? Models deployed per month? Reports per week? Data Issues fixed a quarter, even though nobody but you seems to understand why those issues need to be resolved?
What if you do a lot of great work but the model sucks anyway because of stuff out of your control? As a Software Engineer, your manager can still say "great job" when you ship, even if it fails with users. Nobody blames a Data Analyst if a report they create shows something is bad.
It's hard to feel satisfied in a job where you face these conflicting expectations. I think in other roles (e.g. Software Engineer, Data Analyst, Data Engineer), the expectations are more consistent because you intersect with fewer people and your work is better defined. Even if the metrics are crap (e.g. Lines of Code), at least they are consistent.
I'm not unhappy in my current Data Scientist job. I'm also a bit older and jaded, so to me "not unhappy" is pretty good. One of the big reasons I'm not unhappy is because my output is code and not slides/reports.
I've seen plenty of roles out there where it's more data analyst style work which appears to be more plug and chug work. None of those appeal to me as well it takes the scientist bit out of the role. No real exploration, you know? Analytics companies sit somewhere in-between and seem to have some similar grinds, but once you get to the level where the data becomes very complex the problem space becomes humongous. At that stage things are more limited by where management decides they want to have things explored than the role itself.
The general domain has problems and can be an ethical minefield, but it's at least interesting enough that I plan on sticking around for a while under various job titles in the same space.
I feel the same way as a software dev.
I'm a beekeeper. You can't really make enough to support yourself with beekeeping alone. Bulk honey prices are garbage, mostly due to imports. You can make decent money selling locally as an artisanal product, but depending on the region and distribution channels the ceiling for your sales might be pretty low. In my region, I would probably need 4 yards with 20 hives each, several miles from each other, and in areas with good natural features (nectar sources, water, accessible) to make revenue of about $40-50k. I've heard people say it takes 3 years to break even. I think that's true as hobbyist beekeepers, but probably more like 5 years as a large scale operation. Local pollination services can be another option to make money.
So basically you're working on a team without much autonomy (there's only so many ways to fit in your contribution or your model), there's very little connection to the end product even though you worked hard, and most of the time you're working alone just coding something out.
So: 1. Little autonomy 2. No grand physical end product 3. Little deep social interaction