DEV Community

Ben Halpern
Ben Halpern

Posted on

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.

Discussion (36)

Collapse
nektro profile image
Meghan (she/her)

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.

Collapse
murindwaz profile image
Pascal Maniraho

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.

Collapse
cathodion profile image
Dustin King

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

Collapse
xowap profile image
R矇my
Collapse
dmfay profile image
Dian Fay • Edited on

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.

Collapse
rhymes profile image
rhymes

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.

Collapse
dmfay profile image
Dian Fay

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.

Thread Thread
ben profile image
Ben Halpern Author

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

Thread Thread
rhymes profile image
rhymes

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

Thread Thread
citizen428 profile image
Michael Kohl

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

Collapse
thebouv profile image
Anthony Bouvier

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

Collapse
ganeshtata profile image
Tata Ganesh • Edited on

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.

Collapse
gartboy profile image
Garrett

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.

Collapse
buinauskas profile image
Evaldas • Edited on

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.

Collapse
cathodion profile image
Dustin King • Edited on

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

Collapse
vzg100 profile image
Mark Gorelik

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

Collapse
cjbrooks12 profile image
Casey Brooks

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.

Collapse
greenroommate profile image
Haris Secic

None.

Too much hype about everything like FP - older than OO but too much hype about it just lately and people that give you the job still do not care if it's fully FP or not, even so they only care that you can do some FP in mostly OO language.

ML and AI getting a lot of hype (also existed before just getting now a lot of attention) but also a lot of problems. Data collection being in it's way because everything is free while we process your data. Now people started to complain about it but not many are willing to pay for services. It's great to have it but main part where I think it's getting fastest research are these tech giants that process your data.

And finally blockchain, crypto currency and digital banking. So much fuss before, and now you decide what's left. Is it changing future? Not really blockchain could later on but it was mostly used for cryptocurrency which, lets be real, are a bit down lately. Digital banking, sounds good, expect to see some problems with data collection, and security (maybe to pessimistic for this one).

So what now? Do we actually have anything new that we need or just pull out old stuff that wasn't so popular before? More examples: gamification in schools by using tech - mostly web based games, new languages, new frameworks...

Btw some companies are now leaving behind technologies and sub-disciplines out of job posts and mainly focus on how you behave as they don't need another dev that thinks he's Linus by just being rude. Now let's think about that.

Collapse
bgadrian profile image
Adrian B.G.

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

Collapse
pbnj profile image
Peter Benjamin (he/they) • Edited on

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

Collapse
papaponmx profile image
Jaime Rios

VR/AR. Specially for the web.

Collapse
ljbrehm profile image
Jim Brehm

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.

Collapse
thelonelyghost profile image
David Alexander

Also from the Midwest here and Ive 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 Im glad Im around to see it.

Collapse
juz501 profile image
Julian Chan

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

Collapse
newtorob profile image
Robert Newton

Devops...

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

Collapse
rhymes profile image
rhymes

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.

Collapse
lschultebraucks profile image
Lasse Schultebraucks

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

rhymes profile image
rhymes

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.

Thread Thread
jochemstoel profile image
Jochem Stoel

You're right. I call this digital hoarding.
Wikipedia: Compulsive Hoarding

Collapse
xowap profile image
R矇my

Java-fucking-script

Collapse
ben profile image
Ben Halpern Author