Three Niche Trends In Software Engineering For 2020

Forget about the clichés: some real options to diversify your career in the short term

Omar Rabbolini
Level Up Coding

--

Photo by Austin Distel on Unsplash

You need to keep learning to survive and stay current in software engineering. In my previous article Stop Feeding the Ego, we looked at why this is the case and how to go about it. However, one question was left unanswered.

How do you choose what to focus on from the wide range of new frameworks and technologies that come out almost every day?

Software engineering is a wide and open field, there are hundreds of frameworks one can spend countless hours on learning, some relevant and in demand, others less so. Therefore, it’s no surprise that choosing what to focus on can be a daunting task, especially for somebody just starting out in the field or looking to change direction after several years spent in a specific sector.

Today, we are going to look at three niches that I found worthy of exploration to expand one’s skill set. They are inspired by current industry trends, yet are specific enough to be immediately actionable. I purposely went specific here. I didn’t want to talk broadly about AI, AR / VR and Blockchain when there are plenty of articles online on these topics. I wanted to provide some useful information to help you start learning something new today.

Enough with the introduction, let’s jump right in!

Quick note before we start: I have added a references section at the end where you can find links to all the frameworks and technologies mentioned throughout the article.

Voice assistants

Photo by Thomas Kolnowski on Unsplash

Voice assistants are everywhere these days. Google Assistant, Siri and Alexa have become household names in the past five or so years, especially thanks to the rise of smart speakers and other home-bound devices, with or without screens. And they’re getting better and better every day.

Work in this far and wide field ranges from improving the actual assistant technology, to integration of existing services and development of new assistant skills, giving you a wide range of choices depending on your preference and ability.

Advancements in the technology behind these assistants are driven by Artificial Intelligence and Deep Learning, covering various aspects such as Text-To-Speech, Speech-To-Text and sentence analysis and recognition. If you decide to go down this route, you likely want to start getting familiar with Recurrent Neural Networks and the latest developments in the field before applying for a job at one of the big players in the space (Amazon, Google, Apple, Baidu, Microsoft, etc.). Alternatively, you can experiment with some open source implementations such as Mycroft.AI.

Aside from core assistant development, there is also much opportunity in integrating third party services into these assistants. SDKs for Google Assistant, Siri and Alexa are readily available and well documented. Their operation is technically not any different than using other SDKs / APIs, although familiarization with the specific concepts of voice interaction will no doubt give you an advantage when seeking work in this field.

Passwordless authentication

Photo by NeONBRAND on Unsplash

The password is obsolete. It’s the weakest link in any authentication strategy and the most frustrating aspect of the login workflow for an end user. Who wants to remember an extensive list of credentials for their various online identities? Password managers can help, but they can also introduce an extra layer of risk.

The good news is that passwords can be replaced by alternative means of authentication which are harder to crack, such as biometrics validation performed directly on the end user’s smartphone of choice. These include fingerprint, facial and iris recognition, used alone or in conjunction with predetermined passphrases to further confirm the user’s identity.

As the world moves away from cryptic passwords, there’s an opportunity for engineers to specialize in either the validation aspect of biometrics, or the implementation / integration of this authentication method with third party services.

Again, your options vary depending on whether you want to be on the producer side or the consumer side of the authentication equation. For the former, as we have seen for voice assistants, most of the work involves AI / Deep Learning, this time covering both Recurrent and Convolutional Neural Networks. The latter is especially true for Facial and Fingerprint recognition as image classification is involved in both cases, and research is fervent in this area.

In terms of potential employers in the biometrics field the choice is fairly wide, ranging from Google and Apple with their smartphone-based solutions, all the way to Crossmatch and Identity Automation for specific markets such as medical and law enforcement.

On the consumer side, the obvious place to start is the SDK documentation from both Apple and Google on biometrics for iOS and Android, respectively.

Static website generation

Photo by Pankaj Patel on Unsplash

Perhaps less glamorous than the previous two, the creation and management of content-rich websites is nevertheless in high demand, as more and more companies use content to market themselves to their desired customer demographic.

Traditionally, Wordpress has been the platform of choice for creating this kind of sites, and it’s still going strong today. However, Wordpress is a complex CMS system powered by PHP, requiring ongoing maintenance and updates to manage potential security threats.

An alternative that is gaining traction recently is the programmatic generation of static websites. These have the advantage of being fast and highly scalable as they can be served through a CDN, and decrease the security risk as they do not require PHP or the execution of any other server-side code beyond the web server itself.

Some popular tools to generate this kind of websites include NextJS, GatsbyJS and Hugo.

Whereas the first two are based on React, the popular web development framework by Facebook, Hugo is based on the Go language by Google.

The frameworks themselves are pretty straightforward to learn, especially if you have a background knowledge of the underlying technologies (Javascript / React or Go), and can be combined with pure frontend frameworks such as Bootstrap and Typography.JS to quickly turn around a professional-looking website.

My favorite of this lot is GatsbyJS, thanks to its React foundation, GraphQL data querying and vast array of plugins available, including one that allows you to use Markdown documents as a source of data for your web pages.

In fact, I think GatsbyJS is also a very good introduction to React and GraphQL for somebody coming from a traditional front-end web development background, making it a valid choice for an engineer looking to upgrade their skills, to maybe eventually move into complex web app development.

A parting thought

I hope you found this quick read useful, and that you feel inspired to learn something new today.

Regardless of what you choose to learn, from this list or otherwise, the important thing is that you have fun while doing it. There’s nothing worse than to specialize in a field in which you have no interest, perhaps because of the allure of a good salary either now or further down the line.

Eventually, you will get bored and your code quality will suffer, and maybe that’s why you are reading this article now. If that’s the case, I don’t blame you as I have been there myself before, but I have one provoking thought: what are you waiting for to turn your career around?

“Education is our passport to the future, for tomorrow belongs only to the people who prepare for it today.” — Malcolm X, 1964

Till the next article, keep on developing your passion!

References / Further Reading

Voice Assistants

  • Recent Advances in Recurrent Neural Networks, Hojjat Salehinejad et al. [ PDF ]
  • Mycroft.AI, An open source voice assistant [ Website ]
  • Siri for Developers, Apple [ Website ]
  • Alexa Voice SDK, Amazon [ Website ]
  • Actions on Google, Google [ Website ]

Passwordless authentication

  • PoreNet: CNN-based Pore Descriptor for High-Resolution Fingerprint Recognition, Vijay Anand and Vivek Kanhangad, IEEE [ PDF ]
  • Android biometrics SDK, Google [ Website ]
  • LocalAuthentication, Apple [ Website ]

Static website generation

  • NextJS — Production grade React applications that scale [ Website ]
  • GatsbyJS — Blazing fast modern site generator for React [ Website ]
  • Hugo — Hugo is one of the most popular open-source static site generators [ Website ]

--

--

Writing about life, technology, software engineering practice and startups | Website: https://drilbu.com