Too much to learn. Overwhelmed, incompetent, and behind
I'm in my early 30s and an aspiring data scientist. I minored in CS in college, and was able to pick up a lot at jobs in my early 20s, including Python, R, and Oracle. I'm back in grad school now for a masters in statistics, and am hoping to transition away from Oracle programming (my last job) to data science.
I'm feeling overwhelmed by the sheer number of technologies out there that I "should" learn: Python and R (and their libraries), Spark, Hadoop, TensorFlow, and pytorch. You also need to know how to productionalize things: Docker, AWS, distributed databases, the latest web stuff (sockets?), etc. I could spend all the time in the world learning the new tech, and by the time I'm done, it'll be outdated by the new stuff. It's exhausting, and I don't know if I have the drive (or mental health) to commit to a career where I could be replaced when I'm 50 by a young lion fresh out of college who knows the latest stuff and is willing to work for pennies on the dollar.
When I was 21 I felt confident in my abilities; 10 years later, I don't at all. I feel like an idiot for how short a distance I've gone in my career. At this point in my career, I've never made over $75k and I'm jealous of my peers who are making close to $200k, and of kids out of college making over $100k. I think I know less than the undergrads at my university, and I think I give up on things more quickly now than I used to. At my first job, when my peers started to move on to grad school or higher roles other companies, I admired what they were doing, but I was afraid of the unknown at the time, in a toxic relationship, and had some decision paralysis about whether this was the right career fro me. Now I feel light years behind them. They're all in "senior this" and "senior that" roles, getting very highly paid, and I'm nowhere.
I'm not sure where to go from here. 30s are old in tech, and I don't think I can catch up.
19 comments
[ 5.0 ms ] story [ 61.0 ms ] threadBullshit... quit buying into that crappy old meme. At best, that might be sorta true IN Silicon Valley Proper, for a subset of companies. In the rest of the Real World, there's nothing particularly special about being 30 in tech.
If you're in SV and you buy that, then my advice would be move somewhere else. If you're not in SV, then quit worrying about being 30.
I'm feeling overwhelmed by the sheer number of technologies out there that I "should" learn: Python and R (and their libraries), Spark, Hadoop, TensorFlow, and pytorch. You also need to know how to productionalize things: Docker, AWS, distributed databases, the latest web stuff (sockets?), etc.
You don't have to know all of that stuff. A given firm, for example, probably uses Python OR R, but probably not both. Learn one or the other, you'll be fine. And not all roles require you to do everything from writing Dockerfiles to writing Map/Reduce code in Hadoop, to working with Tensorflow or PyTorch. Which bits of the stack you need really depend on the specifics of the job you wind up going for. But don't put that much of a burden on yourself to think that if you don't know every single thing on some "list" that you aren't employable.
I mean, you can never be sure, but I can just say that, being well into my 40's myself, and working on the East Coast (RTP, NC area), and having worked for everything from tiny startups to giant multi-nationals (in tech and out of tech), I haven't seen the kind of rampant ageism you hear described on here. And I have friends who work at Microsoft, Google, etc., and I haven't heard anything from them to suggest that it's rampant either.
I get the sense people won't take me seriously if I'm starting in a junior role at 30+ years old
People change careers all the time, for various reasons. And yeah, maybe some people will look askance at you for it, but not all will. Now, if you're betting the farm on working for ONE specific company (let's say Google) than the reality is it might not happen. But it might not happen for lots of reasons. But if you take a broader view of things and don't hang your self-worth up on working for a "FAANG", you should be fine. Work for an insurance company, or an auto parts retailer, whatever. The world is a lot bigger than Apple, Google, and Facebook.
Nobody is saying that "age discrimination in tech is bullshit." What is being said, and what I believe is supported by the weight of the evidence, is that in most of industry (eg, outside of Silicon Valley), it is not the case that "30 is old in tech."
The "tech scene" is a lot more than just SV, and the kinds of things you hear about as common-place in SV just don't seem to be so common elsewhere.
What's your perspective on this: it seems like the field has exploded in the past 10 years. As I've been programming for a long time, and following tech blogs/etc, it seems like 20 years ago, you could do well learning Java and maybe one or two other things and you'd be set. Nowadays, it seems that's not enough.
If you can do meaningful data science in one language, and nothing else, you’re ahead of a whole bunch of curves. Get solidly good at one thing.
You’ll pick up a bit here and there about other techs in the course of the job. That will a) help you pick the highest leverage next thing to learn, and b) anchor you when you start learning them.
Stick to a theme. You don’t need to know web sockets to do data science.
For followup learning, pick complementary technologies (instead of Python and R, which compete; or R and and Docker, which are virtually unrelated; try either Python plus tensorflow or R plus tensorflow — because either of those pairings can be used together to increase your capabilities.)
As for the salary comparisons. Look at people at your location and with comparable skills for your reference. Large discrepancies are likely to be due to location and employer factors rather a reflection upon your true value.
Regarding salary, I think I didn't choose my employers well. I live in a large northeastern metropolitan area, and people with my comparable skills make upwards of $100k (in fact, someone who was interviewing to be my replacement when I left my old job wanted twice what I was making).
A developer with 10 years of experience should be able to command upwards of 150k/yr in NYC even at a small startup; somewhat less in a smaller city in the northeast; somewhat more at a larger company.
Also note that salaries listed on Glassdoor and such tend to be below market for current hires because salaries have been inflating so quickly that someone hired 3 years ago is making way less than someone hired for the same role today.
Knowing inside out about all the tools is useless if you can't figure out how to apply them to the problem at hand. So I would suggest rather than running behind technologies, seek interesting problems to solve or interesting/better ways to solve already solved problems. Once you have catalog on what tech applies to which problems, you'll be much more valuable resource to a company and to yourself.
You can't fix a clogged drain using a hammer or that really fancy drill machine with twin battery pack. You can only solve it using a Plunger. If you know that, you can then go figure how to use one and after add it your resume not just saying 'you know how to use a Plunger' rather 'you solved a clogged drain using a Plunger', sounds better to potential recruiters.
I don't have many answers for you on tech. But I can tell you that anywhere outside of tech companies, coding is a superpower. From this perspective, it helps to move away from thinking about tools, to thinking about what you want to achieve with them. Forget about others and their paychecks? What gives you a kick? Start noticing which types of problems you enjoy solving, a narrative will grow out of that.
(As someone who's been coding in python for years and still is nowhere near as good as a proper good pythoner, I see no point of investing any time in R. It's one or the other. Same for Tensorflow and PyTorch. I try and work with PyTorch because smarter people than me have chosen to, and you just have to pick a road to start walking. But I don't see myself as any form of authority on tech issues, so...)
When you'll be 40, you'll think 40 is old and 30 was young. At 50, you'll think 40 was young and 30 was practically a baby. Why wait till then? Might as well start thinking it this way now - you are young.
And lastly, keep reminding yourself: Comparison is the thief of joy. People earning twice as much as you are not happier, not at these pay scales.
I'm not based in the US and salaries here, even for experienced developers, are nowhere near the numbers you see thrown around.