5 min read

Web and application development can change quickly. Much of this is driven by user behavior and user needs – and if you can’t keep up with it, it’s going to be impossible to keep your products and projects relevant.

The only way to do that, of course, is to ensure your skills are up to date and constantly looking forward to what might be coming. You can’t predict the future, but you can prepare yourself.

Here are 5 key skill areas that we think web and app developers should focus on in 2020.

Artificial intelligence

It’s impossible to overstate the importance of AI in application development at the moment. Yes, it’s massively hyped, but that’s largely because its so ubiquitous. Indeed, to a certain extent many users won’t even realise their interacting with AI or machine learning systems. You might even say that that’s when its used best.

The ways in which AI can be used by web and app developers is extensive and constantly growing. Perhaps the most obvious is personal recommendations, but it’s chatbots and augmented reality that are really pushing the boundaries of what’s possible with AI in the development field.

Artificial intelligence might sound daunting if you’re primarily a web developer. But it shouldn’t – you don’t need a computer science or math degree to use it effectively. There are now many platforms and tools available to use machine learning technology out of the box, from Azure’s Cognitive Services, Amazon’s Rekognition, and ML Kit, built by Google for mobile developers.

Azure Cognitive Services for Developers

Learn how to build smart, AI-backed applications with Azure Cognitive Services in Azure Cognitive Services for Developers [Video].

New programming languages

Earlier this year I wrote about how polyglot programming (being able to use more than one language) “allows developers to choose the right language to solve tough engineering problems.”

For web and app developers, who are responsible for building increasingly complex applications and websites, in as elegant and as clean a manner as possible, this is particularly true. The emergence of languages like TypeScript and Kotlin attest to the importance of keeping your programming proficiency up to date. Moreover, you could even say that they highlight that, however popular core languages like JavaScript and Java are, there are now some tasks that they’re just not capable of dealing with.

So, this doesn’t mean you should just ditch your favored programming languages in 2020. But it does mean that learning a new language is a great way to build your skill set.

Explore new programming languages with eBook and video bundles here.

Accessibility

Web accessibility is a topic that has been overlooked for too long. That needs to change in 2020.

It’s not hard to see how it gets ignored. When the pressure to deliver software is high, thinking about the consequences of specific design decisions on different types of users, is almost certainly going to be pushed to the bottom of developer’s priorities. But if anything this means we need a two-pronged approach – on the one hand developers need to commit to learning web accessibility themselves, but they also need to be evangelists in communicating its importance to non-technical team members.

The benefits of this will be significant: it could be a big step towards a more inclusive digital world, but from a personal perspective, it will also help developers to become more aware and well-rounded in their design decisions. And insofar as no one’s taking real leadership for this at the moment, it’s the perfect opportunity for developers to prove their leadership chops.

Read next: It’s a win for Web accessibility as courts can now order companies to make their sites WCAG 2.0 compliant

JAMStack and (sort of) static websites

Traditional CMSes like WordPress can be a pain for developers if you want to build something that is more customized than what you get out of the box. This is one of the reasons why JAMStack (a term coined by Netlify) is so popular – combining JavaScript, APIs, and markup, it offers web developers a way to build secure, performant websites very quickly.

To a certain extent, JAMstack is the next generation of static websites; but JAMStack sites aren’t exactly static, as they call data from the server-side through APIs. Developers then call on the help of templated markup – usually in the form of static site generators (like Gatsby.js) or build tools – to act as a pre-built front end.

The benefits of JAMstack as an approach are well-documented. Perhaps the most important, though, is that it offers a really great developer experience. It allows you to build with the tools that you want to use, and integrate with services you might already be using, and minimizes the level of complexity that can come with some development approaches.

The Gatsby Masterclass cover image

Get started with Gatsby.js and find out how to use it in JAMstack with The Gatsby Masterclass video.

State management

We’ve talked about state management recently – in fact, lots of people have been talking about it. We won’t go into detail about what it involves, but the issue has grown as increasing app complexity has made it harder to gain a single source of truth on what’s actually happening inside our applications.

If you haven’t already, it’s essential to learn some of the design patterns and approaches for managing application state that have emerged over the last couple of years. The two most popular – Flux and Redux – are very closely associated with React, but for Vue developers Vuex is well worth learning.

Thinking about state management can feel brain-wrenching at times. However, getting to grips with it can really help you to feel more in control of your projects.

Get up and running with Redux quickly with the Redux Quick Start Guide.

Co-editor of the Packt Hub. Interested in politics, tech culture, and how software and business are changing each other.