What programming sub-disciplines seem to be trending up in terms of career options?

Which types of roles are gaining momentum in our field? What are the jobs that seem to be the most in demand and will continue to grow?

You don't have to know for sure, but I'd love to hear any thoughts.

Did you find this post useful? Show some love!

Unfortunately, Machine Learning.

Everyone here mentioned Data Science and honestly, I see it happening but makes me pretty sad nonetheless. ML has been able to do some pretty cool things but the question I keep asking is: has it been worth it? Google has been one of the biggest proponents of ML and I'll be honest; apps like Maps being able to give directions and projects like Watson at IBM are revolutionary and fantastic. However, on the other hand there are problems the industry has "solved" that didn't need solving in the first place imo. Things like YouTube recommendations and super targeted advertising. A lot of my problem with ML comes down to the data itself. Users are using a service with the intent for the service to do its job, not decide what we want to do. The rise of ML has put the algorithms in control instead of the user, and that's not tech I like using.

Thanks Sean for this input.

Besides buzzwords in tech these days, I may be wrong but, I guess you understand that differences between Data Science(along with Data Mining/Info retrieval), ML/Deep Learning, NLP and classical applied statistics are razor thin. Which means having a good training in one of those fields can get you a job in another.

Not to mention that in order to learn our preferences they have to gobble up lots of data about us.

DevOps or whatever you'd like to call it; 'site reliability engineer' seems to be the hot new title from where I'm at as a newly-minted one of same, although it seems really to be the latest iteration on "make our app & data infrastructure work" previously known as 'release engineer'. I think that's in large part down it having become more than possible for a solo developer to run enterprise-grade kit for free or nearly so with minimal effort: servers and databases (AWS, Google Cloud, Heroku) version control (GitHub, BitBucket), next-gen build tools (Travis, CircleCI), even metrics (Coveralls, PackageQuality). That's done a lot to bridge the gap between development and administration and made the synthesis of the two a compelling specialization for organizations big enough to need specialists. System administration as a separate discipline is never going to die out but more companies will be trying to hold off on investing in it when they can farm that out to the platforms and hire people who can work on the core product too.

Functional language development is having a moment and I'm hoping it lasts. Odds seem good, but it's still not as easy to find jobs working with these as it is to turn up the old standbys of Java, C#, and PHP.

Data science seems like a gold rush with some really neat things happening and a lot of really stupid things happening. I'm not outright bearish but I wouldn't be surprised if demand for analytics-at-scale were to recede some in the medium term.

Blockchain is an outright bubble. It's about to run into the NoSQL issue of "really, you need to know why you want to use this if you're going to commit" but much, much harder.

I wonder if and how serverless computing will change the role of DevOps. I'm already tired of the docker and kubernetes trend :D

I agree with you with blockhain, if it was ever useful Bitcoin and its creator have not exactly demonstrated how or why. My favorite article on the subject: Blockchain is not only crappy technology but a bad vision for the future

Projects based on the elimination of trust have failed to capture customers’ interest because trust is actually so damn valuable. A lawless and mistrustful world where self-interest is the only principle and paranoia is the only source of safety is a not a paradise but a crypto-medieval hellhole.

I think serverless (aka "someone else's server") isn't really a departure from the trend -- more cloud management, more automation, more build & deploy, less and less straightup administration. I don't see container orchestration going anywhere, I'm afraid ;)

I've seen a handful of compelling use cases for blockchain. One involved a distributed database of 3D models/CAD stuff where licensing, authorship, and versioning were all concerns. A peer-to-peer append-only ledger makes sense for something like that, but it's pretty specialized.

Blockchain seems like an inherently specialized tool. The grand generalizations seem really steeped in a capitalist gold rush.

Yeah, my naive hope is that serverless would make container orchestration another "auto" layer. You (as in devops) would still need to know how to operate on that layer if needed but you wouldn't really need to write Dockerfile(s) or figure out a way to monitor containers at scale.

Regarding blockchain... I agree, they marketed it (to companies and even consumers) as the next revolution in tech WAY before they actually had something revolutionary to corroborate such statement.

And if you cry wolf too many times... :-D I am sure there are people out there tackling problems the blockchain would indeed solve, I'm not sure replacing PayPal is chief among those (except if greed is your compass because you're not actually solving the trust problem nor helping the user experience).

Data Science. Data Engineering. AR/VR. Crytptocurrency and blockchain.

If I were in college now getting a degree in CS, I'd be looking at those paths for "things I should be thinking about besides just passing my courses".

Ben Halpern DEV.TO FOUNDER

Hey there, we see you aren't signed in. (Yes you, the reader. This is a fake comment.)

Please consider creating an account on dev.to. It literally takes a few seconds and we'd appreciate the support so much. ❤️

Plus, no fake comments when you're signed in. 🙃

SF seems to have a lot of demand for "data scientist", whatever that means. At a recent meetup that was hosted at github the host made sure to emphasize they were hiring "data scientists". I personally don't understand why a source code repository tool needs data scientists.

I think the need for data scientists is because we're collecting so much data (storage is cheap) that we need someone trained to analyzing it on a big scale.

I know that is the perception but I'm not convinced any of the collected data is actually useful. It feels like a weird AdTech fetish to me to be honest. By necessity AdTech works on volume and frequency so their decisions have to be data driven but almost no other industry has those same requirements.

You can collect much less data at a much slower pace and still make good decisions.

I wouldn't say any, but yeah, we collect too much data with the premise that one day it might be useful. Since storage is cheap we also tend to keep it for a long time if not forever.

I personally see a huge growth in data science / data analytics.

And this probably will grow. Amounts of user data, IoT metrics are growing and data driven business decisions will be made even more frequently. Also, this drives ML, AI too.

Testing
I think, with more number of people vying for jobs in the field of Data Science ( And other closely related fields such as Machine Learning ), the number of people who specialize in testing has reduced. Thus, there is ( according to me ) a huge demand for testers / QA engineers.
Also, I feel that testing does not get as much limelight as the other fields do. A lot of times, any role in testing is viewed as a role that is not very challenging. As more emphasis is being given on TDD, and more programmers are being advised to use it, more people need to be made aware of the importance of testers ( and testing ) in a tech team.

Company I work for deals with many different physical products that need tons of testing. The testing and QA teams truly do work very hard to accomplish their work. Although I am technically part of that team, I work as an engineer developing automated solutions for testing, and the amount we can automate is very limited compared to things that can be done manually. There really should be no stigma against testers; they're an essential part of the development lifecycle for both software and hardware.

Bioinformatics! or more broadly speaking being able to merge computation and noncomputational disciplines - especially in chemistry, biology, and physics.

Depends on how you classify programming sub-disciplines, but demands also follows trends in technology:

  • DevOps: this is perhaps the biggest and fastest growing programming sub-discipline, especially to manage things like (cross-)cloud infrastructure, CICD pipelines, container orchestrators ...etc

  • Machine Learning: perhaps the second fastest growing programming sub-discipline, because data by itself is useless. You need Data Scientist/Engineers to make sense of this data.

  • Application Security: I may be biased on this one, but many organizations are realizing that they not only need to invest in Information Security teams, but also attract Application Security Engineers that have strong mastery of both verticals (software development and information security).

ML/AI & Big Data Engineer
Blockchain - Contract (ethereum&others) developer
DevOps specialization in Cloud
More C++ switch to Rust, the others to Golang :))

Web performance optimization. People's attention spans are getting shorter and shorter, while the work required of servers is getting harder and longer. Having good caching strategies, small assets, and fast servers is more important now than ever for SEO and positive user engagement, and having people dedicated to building fast, reliable web experiences is really important. This is a large reason why static site generators have really started to explode over the past couple of years.

Machine Learning, Front-end/UI Dev, blockchain, Clojure, JavaScript everything, Rust.

Devops...

Specifically, asking for devops engineers without knowing exactly what they are asking.

While my experience is limited and pure anecdotal, so take this with a grain of salt. The conversations that I have with employers, recruiters, and on a limited number of interviews surround a number of roles expressed here. Addition to those already mentioned there seems to be a lot of interest in experienced database developers; embedded device experience; and functional programming.

Titles that have gained traction lately, are embedded systems engineer; DBAs; and data engineering. Being from the Midwestern United States at a company with a lot of technical debt, I have also seen a need for folks who can support and adapt more mature technologies, so I could see a trend-up for people who know legacy systems.

Also from the Midwest here and I’ve noticed a similar trend. There are a handful of companies that went with “modern” (read: trendy) ideology and architecture, but a vast majority of them still stick with what has been known to work in the past. They stick with what skills local talent has in abundance and the local talent develops those same skills in order to find a job, or move to a different area.

It seemed like a downward spiral to me for years, but I think it has recently begun to evolve and challenge the status quo of “it always worked before”. Was it due to Agile becoming tried-and-true, the economic downturn of 2008, or maybe something else triggered a primal fear and need to change in order to survive? In any case I’m glad I’m around to see it.

Speech processing and speech analysis.
Computer Vision processing and analysis.

As already mentioned: Artificial Intelligence, Machine Learning, Data Science, Blockchain, DevOps.

Classic DEV Post from Aug 2

Changelog for developers?

Potential way to help teams work together on projects

READ POST
Follow @scottharrisondev to see more of their posts in your feed.
dev.to is now open source!
View Announcement Post View GitHub Repo
Ben Halpern
A Canadian living in New York, having a lot of fun cultivating this community! Creator and webmaster of dev.to.
More from @ben
What part of your first dev job were you least prepared for?
#discuss #career
What are common myths about software careers?
#discuss #career
Trending on dev.to
RIP Side Projects
#graveyard #career #opensource
With These Tips You Will Rock Every Technical Job Interview
#career #interviews #job #tips
Sometime ago I changed my life and you can change yours, too
#career #productivity #routine
Open Source Has Not Failed. Don't Cover Up Corporate Abuse of Open Source
#opensource #technology #career #rant
I Failed as a Developer. And so did you.
#opensource #career #webdev #discuss
What's your origin story?
#career #learn #webdev
SHE CAN CODE!
#womenintech #shecoded #career #discuss
You deserve better clients, maybe I can help!
#career #webdev #discuss