r/cscareerquestions • u/tits_mcgee_92 • 1d ago
Experienced I've become a jack-of-all-trades, but a master of none. How desirable is that in the current U.S. job market?
I'm 33 years old, undergrad in CS, grad in data science. I have worked in data analytics for over 6 years (SQL, Python, Tableau, basic data pipelines), teach data analytics to undergrad/grad students as side-gig (adjunct professor), and been software development for almost 2 years (React, Vue, mostly front-end stuff). I also help less experienced data analyst in our division with queries, and lead data analytics workshops at work.
My career journey has been weird, and it's mostly been chasing connections that has got me to where I'm at. A lot of my co-workers and ex-bosses have wanted me to tag along, and I've been chasing money and benefits without really think of much anything else.
The problem is: I've never had to work very deep in any of this. My React App is a very barebones. We have only just started using ADO for version control (I'm a solo dev there and out EIT department is just now requiring it).
My data analytics projects have never been complex SQL. I know CTEs, windows functions, and enough to get the job done.
I've built a few regression models that have gone nowhere. Companies are slowly finding out that "simpler" analysis brings much more realistic results than a fancy model.
I've built very small data pipelines (Data scraping with Python -> clean in python -> SQL) to clean data and have built some very barebones schemas.
But I look at the job market and everything is progressing at a much faster rate than what I know. I'm afraid I'm being left behind with my age, new technologies, and knowing many tools but not being great at any of them.
Thoughts on this? Thanks for listening.
130
u/EnvyLeague 23h ago
I expect all programmers with 2-3 years of experience to have your level of experience. Mastering either backend or frontend is sufficient and a jack of all trades is better at that. Personally I despise engineers who know one technology really well because they suck at everything else and in today's micro service world, collaboration is the name of the game. Understanding SLAs is critical.
68
u/Hog_enthusiast 22h ago
Also people who specialize in one thing are always trying to shoehorn that thing into projects even if it doesn’t belong. My coworker won’t shut the fuck up about Rust.
48
3
21h ago
[deleted]
1
u/LaOnionLaUnion 19h ago
Yup go too. I like both but as someone who specializes in cyber Rust is the more obvious choice for things where security matters.
2
-12
u/salamazmlekom 22h ago
Maybe you despise them because they are an expert with that technology and when companies are looking for contractors to get shit done in that specific technology they will get paid a lot more than a generalist.
10
u/EnvyLeague 22h ago
lol, no. Its because they have zero skills in other areas once the project is done. Its a good way to find yourself out of a job in the future. also, "expert" is vague term these days as frameworks and technologies change very quickly.
-14
u/salamazmlekom 22h ago
Experts don't need jobs. They work on contracts. Once done you just move to another gig.
12
1
26
u/callimonk Web Developer 20h ago
The full quote, to be clear, is a jack of all trades is still more valuable than a master of one.
And it holds true. I’d pick one thing to get depth of knowledge on, but most seniors and above tend to have one area of depth but a lot of breadth. It’s just much more valuable than only knowing one thing.
You will be fine with being a jack of all trades. But keep in mind the market sucks, so don’t consider that a reason if you can’t get a job.
Also, 33 isn’t that old - not old enough for fears of being left behind. I’m 2 years your senior and also had a less than normal background. I have a lot more depth in front end and react, but I can still muddle my way through other things. And my focused areas for depth of knowledge has changed as the industry does (nobody needs the depth of knowledge I do about CSS or mixins anymore lol), but that’s fine. Understanding data pipelines etc is something I believe is very valuable if that is what you’re interested in, and I’m always grateful to have other devs on the team with some understanding of what I do (React) because it means we can articulate needs ro one another easier (which is why breadth is so important)
5
u/thisisjustascreename 17h ago
The full quote, to be clear, is a jack of all trades is still more valuable than a master of one.
*Oftentimes more valuable.
When you're writing firmware for a pacemaker or a fighter jet I'll take the C guru over the guy who knows seven languages and four databases.
3
u/Kyanche 15h ago
When you're writing firmware for a pacemaker or a fighter jet I'll take the C guru over the guy who knows seven languages and four databases.
Sometimes I'm not sure it's even possible to become a C guru. Especially not a C++ guru. Every now and then someone shows me a new family of C++ tricks I'd never seen before lmao.
It's like exploring the depths of the ocean...
9
u/InternetArtisan UX Designer 20h ago
I feel like a lot of smaller companies and startups welcome people like you. They don't have the resources to staff specialists in every single thing the way a big company does. So they need people that can wear many hats.
21
u/likwitsnake 18h ago
The full quote is: "A jack of all trades is a master of none, but oftentimes better than a master of one."
So you're good OP
5
u/Won-Ton-Wonton 19h ago
Neither undesirable or desirable, I would think.
If a job needs someone who knows PHP like it's their native tongue, you aren't going to get away with being a jack of all trades who can maybe pick up PHP in the next week or two to solve some basic PHP issues. The company has 3 major versions, and 12 minor versions, with compatible and incompatible libraries in 38 services, and issues popping up weekly that need to be addressed. Your experience in other tech is cool, but not directly applicable to the needs.
Conversely, if a job needs someone who can solve some microservices problems in Golang, TypeScript, C#, and Java, with occasional database management work in MySQL and MongoDB from their early startup days, then a jack of all trades is going to be nifty. Especially now that someone wants to add Python and R to the mix for data stuff, and you're experienced in picking up new things to get the ball rolling until an expert is needed.
The real problem is proving you have any skills worth looking at in the first place. Which comes down to networking these days.
3
u/Ok-Advantage-308 20h ago
Jack of all trades is fine, but I would say be a T-shaped developer with a jack of all trades. By T-shaped have one area of deep expertise that everyone needs you for and then be a jack of all trades in the rest.
11
2
u/ExpensivePost 15h ago
We call this a "generalist" and good ones are invaluable. You have broad exposure which allows you to see integration issues that specialists might miss. Assuming your fundamentals are strong a lead can assign you to areas of need that don't justify dedicated headcount. Generalists tend to be the best curators of tribal knowledge and are often the first and best resource for random questions when we don't know who to ask.
Generalists have the most freedom in their career tracks too. They make the best leads. They can transition to TPMs or any other production role.
Don't focus on your lack of depth, lean into your breadth. It's an asset that few have.
1
u/vintage_user 3h ago
As a generalist that transitioned from an engineer, to a lead role, manager role (eng. manager, head of) and crafted own business ideas myself, I'd agree with this comment.
Tho generalists will find it hard to pass the hiring processes because companies generally do not see value in this and are really bad at hiring. E.g. they want a insert language expert that knows X of other stuff deep, too. So a deep tech dive for a generalist is a nightmare, been there done that. You'll feel like s*it and undervalued, just don't project it back to yourself because you'll end up ruining your career and future over incompetent hiring managers that look for non-existing unicorns (experts in literally everything) and would not be able to see value in you even if you hit them with it over their face. Seek collectives that see value in this and know what they look for. It's hard and rare to see that plain written, but I don't see any other way.
1
u/lhorie 20h ago
Two types of gaps to consider working on:
Can you go deep on things such that your director can say “hey I need you to put out this fire in [random area of the org]”
Can you put it all together in a impact statement such that your director says “yep that sounds great, you lead that”
1
u/Much-Gain-6402 19h ago
This is similar to my experience, except I'm focused on audience-facing data viz and less on the data science side. I also have some ML/NLP experience, but this is a skill I've been building incidentally. In addition to my full-time, React-focused viz work, have side-work clients leveraging low-code tools that require lots of SQL that isn't necessarily complex but needs to be performant, often trying to unify a bunch of gnarly data models supplied by non-technical stakeholders.
You could be someone who architects data infrastructure/models and builds internally for nontech companies without a big technical team. I have seen it described as a solutions engineer — tech platforms will have this role for sales, big SaaS agencies will also as well. I wouldn't say stop learning technical skills, but try to get closer and involved understanding the business logic of your company/prospective clients.
1
u/locaf 19h ago
I get the fear of being left behind. But your mix of data analytics + dev + teaching is a strength, not everyone has that. I use Zippia (free) to research how those roles overlap, Sonara (free) for background auto-apps, and Huntr (free) to stay organized. It kept me confident I wasn’t too scattered.
1
u/mckirkus 18h ago
Become a Technical Product Manager and get experience with dev AI tools (very hard for non technical PMs).
1
u/Ab_Initio_416 18h ago
Generally, the smaller the company, the more being a jack-of-all-trades is valued.
1
u/Shot-Addendum-490 17h ago
The higher up you go in your career the less in the weeds stuff you’ll be doing. If you are smart and curious, and can stay on top of good practices, I think you’ll be fine.
1
1
1
u/pavilionaire2022 13h ago
I think it's in demand in startups where you wear many hats. They are unfortunately more volatile.
1
u/That_anonymous_guy18 9h ago
You would be a perfect candidate for SDET jobs. There are more SDET jobs I feel because what you know is easily transferrable.
-7
u/salamazmlekom 22h ago
If you want to stay at junior/mid level it's fine. If you aim for senior and higher titles master of none won't get you there. Pick an area you like more and specialize in it.
-1
u/21_12user 19h ago
This is just wrong. You become a senior through your experience. Not through specialization. If your job is highly specialized then you can become a highly specialized senior.
-1
u/salamazmlekom 17h ago
No you become a senior through problem solving and if you're only a generalist it tells me you can get basic stuff done but as soon as you face a harder problem that requires in depth knowledge you will need to be held by your hands. No serious team will place a person like that into a senior, lead or higher roles. That's why I said you can only be a good mid developer with skill like that. Prove me wrong and tell me what kind of complex problem did a generalist solve and what kind of solution did he come up with.
2
u/21_12user 17h ago
I work at a f500 currently brother, and I can tell you that you are wrong dude. At least for my company. Your right about the problem solving, seniors need to be good at that. But the higher you go the more generalist you become. Architects at my company which are making 400-500k a year are the most generalists I know.
1
u/vintage_user 3h ago
He mixes positions up. Seniors must be specalized yes, you need experts to go deep and solve complex problems. But, a lead is not there to execute complex solutions. Lead, hm, leads :) delegates and organizes people. The upper you go, the less technical you actually need to be. Your domain expertise shifts and you then become an expert in delegation, organization, people management, process optimizatiom, etc. hard skills up to senior dev, soft skills from that point up.
-4
u/Ok-Attention2882 9h ago
Jack of all trades -> Doesn't have the grit to power through when things get difficult and switches to a new topic. The good news is you only share this trait with 99.999999% of the population. NPC.
1
1
89
u/eric_he 21h ago
If you know SQL window functions you know SQL enough for the vast majority of SQL tasks. Add pipelines, python, and dash parsing experience and I think you’re perfectly suited to any mid level analytics job