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!
DISCUSSION (32)

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.

That is a routine “let’s prohibit knives because people kill each other with them.”

ML is hardly connected to gathering user information in the first place. If you feel controlled by ads shown to you, I have a bad news: this has nothing to do with ML, neither with how much intelligence was put into what and how show to the user. You are either suggestible, or not. That simple.

OTOH, if you don’t, and your best intent would be to safe other stupid infantile users all around, the news is even worse: we don’t need your care on that subject.

And please, don’t blame knives for the murders.

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).

Maybe still not quite as high-level as you want, but Baker has some promising ideas.

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".

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.

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.

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.

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

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

I wish I could upvote ❤ this 1000 times.

That is so true: nowadays people have so narrow specializations that we cannot bridge the gaps between disciplines anymore. I believe we already have many brilliant discoveries sitting there and waiting while one bio-engineer knowing what will talk to another mathematician knowing how.

Or vice versa.

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.

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).

What are the jobs that seem to be the most in demand and will continue to grow?

That simple job that is called “The Professional.” Experts in ML, bioinformatics, DevOps, Go/Ruby/Elixir/PHP/Javascript developers, builders, cooks, poets, bartenders, janitors—all are in the huge demand when they do their job at high level.

And having 3 PhDs in ML, bioinformatics and rubyonrailing leaves anybody out of demand unless they love their job and do it perfectly.

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

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.

Devops...

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

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

Classic DEV Post from Mar 29

10 Ways to Become a Better Developer

Become a better developer by putting these principles into practice. Readability, maintainability, performance, security and clean code are all important, but don't forget about communication, teamwork, and passion.

READ POST
Follow @praxentsoftware to see more of their posts in your feed.
Ben Halpern
A Canadian software developer who thinks he’s funny.
More from @ben
Job title: Full-time Open Sourcerer
#opensource #career
The Right Idea Becomes the Wrong Idea Over Time
#webdev #javascript #career
Trending on dev.to
Do not be this kind of developer
#career
Developer is the next blue collar job
#career #discuss
Why is Creating a Learning Environment Essential for Technical Teams?
#learning #leadership #career #productivity
I quit my job and why should you do it too
#career
Goodbye
#goodbye #career
Find someone to mentor
#productivity #career #devto
Developer burnout is real
#productivity #beginners #mindset #career
Asking Better Questions
#career #beginners