Predicting the future with any accuracy is a nigh-impossible feat. But when you want to start learning a new technology that will help you in your career, you have to do your best to determine if it’s just hype, or if it will endure. Analysts at companies such as Gartner and Forrester put out lists of new technologies that they expect to grow; at Dice, it’s also possible to see spikes in demand for professionals skilled in emerging hardware, software, and processes.
The following aren’t brand-new technologies; rather, they’ve grown considerably in the last year or so and are showing great promise for the long term. If you’re looking for something new to learn to move your career in a different direction, these could all prove beneficial:
Internet of Things
Yes, “Internet of Things” is one of those marketing buzz-terms, but there really is a technological movement behind it. For the uninitiated, IoT refers to small devices connected to the Internet, such as “smart bracelets” or Wi-Fi-enabled smoke detectors; and hype aside, many segments of this sub-industry are enjoying slow-but-serious growth that will require expertise in 2015 and beyond. Cars are now connected to the Internet; factories have robots that can be controlled remotely from engineers in other states; your watch can monitor your heartbeat and send the information to anyone you choose.
Yes, the idea isn’t exactly new: Internet connectivity and embedded systems have both existed for a great many years. But big companies are bringing the elements that undergird IoT together in new ways that could become mainstream hits among consumers and businesses. The time is ripe to see whether your skill set overlaps with the needs of this expanding market.
Parallel programming has been around for some 50 years, give or take. In the 1990s, as processors really took off in speed, parallel programming wasn’t very important, outside of a few select users in a limited number of industries. A few years later, though, the tech industry hit a collective problem: processor speed was getting maxed out. Instead of boosting speed, processor-manufacturers began to focus on expanding the number of cores, from dual to quad and beyond.
We now have technologies such as Intel’s Many Integrated Core (MIC) and Nvidia CUDA. Multicore programming is a much-needed discipline by software shops that want to create high-performance software that runs on desktop computers or even smaller devices.
But multicore programming isn’t the full story. As CPU technology grows, so does the size of the registers. A technology known as vectorization (not to be confused with the mathematical term) allows for SIMD programming, whereby an atomic operation can perform calculations across an entire array of numbers stored in a single processor register. Bottom line: Jobs requiring knowledge of parallel programming are becoming more common.
While early versions of 3D printing drifted around labs for decades—a company called 3D Systems launched in 1986, on its way to building some core components of the industry a decade ago—the last two years have seen a huge boom in 3D printers, as the hardware’s become more affordable to startups and individuals in addition to huge companies with a lot of cash to burn. These smaller firms will all need programmers and engineers willing to explore (and monetize) the limits of printing three-dimensional creations. Experts in both software and hardware for 3D printing devices will certainly be in demand in 2015 and beyond.
Right now a site called ProgrammableWeb is tracking over 12,000 Web APIs. Many of these are RESTful APIs that can exchange data in JSON or XML. Why would you need these? Mobile apps and Web-based software need to communicate with different services. Want to add Dropbox integration to your app? There’s an API for that. Want to integrate with Google Maps? There’s an API for that, too. Need something more niche, such as integration with a database of scientific literature, or want to embed funny animal pictures from cheezburger.com? Yep, APIs again.
Certainly there’s nothing new about the idea of a Web API; but as technologies such as the “Internet of Things” become increasingly mainstream, the potential uses for Web APIs will only increase. If you want to build the app that connects or changes the world, you’ll need to learn more than a few APIs.
One of the big things we’re seeing among makers (besides the growing popularity of Maker Fairs) is System-on-a-Chip technology. New “prototyping systems” such as Arduino, which allow people to tinker with ideas before building dedicated circuit boards, include SoC technology sophisticated enough to permit controlling, monitoring, and networking devices without the need for a full-fledged operating system. Much of the work with embedded systems is still relatively nascent, but expect it to explode in coming years.
We’ve become inundated with new technologies, but not everybody has the time or patience to learn them. Maybe you don’t want to learn the Internet of Things, parallel programming, 3D printing, Web APIs, and embedded systems. What do you do? Improve your skills with “old” technologies, to the point where you’re indispensable. Old technologies tend to stick around for quite some time.
- 5 Programming Languages Marked for Death
- Unpopular Programming Languages That Are Still Lucrative
- 5 Programming Languages You’ll Need Next Year (and Beyond)