No matter what you do or where you do it, the quest for efficiency is an infinite game. This is the role that software plays in our fast-paced world.
A less obvious fact is that the art of crafting cutting-edge software is in that endless race to efficiency as well. It’s like automating the automator.
Rapidly changing business needs are driving us to find more performant ways (patterns and processes) to solve problems. To stay on top of our game, it’s important to be abreast of top trends. But with software trends seeming to change on the daily, it can seem overwhelming to try to master them all. That’s why I recommend being strategic in where you spend those learning hours. What areas interest you the most?
These are three areas I recommend focusing on:
Web development
They say software is eating the world, I say web development has the widest mouth. Top skills for web development include:
Javascript
If your interest is web development and you do not know Javascript or you only sort of the-2000s-jquery-era-know-it, drop everything you are doing and go learn javascript. Do it now! While you’re at it, learn some Reactjs or Angularjs.
Tooling & DevOps
I grouped this together to signify everything outside of writing the code for your web application. Web development tooling and Ops are super vast, but if you’re not already into CI/CD and containerization, that’s where you should start. Remember all my spiel around efficiency of how we build software? Good! The goal is towards agility and scalability aspects of efficiency.
Data Development
I have a feeling that what gave us the term “DevOps” will very soon give us “DataDev” – the merging of two previously separate fields. A datadev will be a software developer that also has some data science or data engineering competencies.
To ride this tide, here are skills I believe are crucial:
Python: What Javascript is to the web, Python is to data development. The ecosystem around this endearing language is huge, also among researchers and in universities. Python has a lot of great computational probability libraries built for it, and that makes Python a lot easier to use for data science than many other mainstream programming languages. Like Ruby, it’s also a joy to code. I will definitely suggest this to anyone thinking to learn about data sciences.
Swift: It is primarily a language for IOS development. However, some of the leading experts (fast.ai’s Jeremy Howard) in the field believe this language will perform superbly in the deep learning domain. Although it is not prime time yet, I believe the experts. Swift in deep learning makes sense since getting mobile devices powered with embedded AI based models is a contemporary drive.
Mobile Development
This segment’s importance needs no marketing; we’re all glued to our phones. And since there are two major mobile operating systems, there’s the need to release two versions of the same mobile application to reach a wider audience. This costs more money and time, and businesses obviously do not like that. Cross platform application development to the rescue!
Flutter: If you’re getting into mobile development today, I suggest to start with Flutter. Flutter is an open source project by Google, that is used for cross platform mobile application development. It is famed to have deep native integrations with both Android and IOS devices. No more jarring UX and limited access to native APIs.
React Native: This is an open source project by Facebook. It is a Javascript framework that can be used to build cross platform mobile applications. It is however, limited by how much native it could not get. There are limits to the UI/UX and native integrations achievable – think animated transitions and background processes. React Native is still nonetheless, a relevant skill to have especially if you’re already a ReactJS developer.
There you have it friends; top trending tech skills to learn for software developers. Determine where your interests lie, pick any of the technologies we’ve talked about and do amazing things with it. And if any of this sounds intimidating, don’t fret. Lighthouse Labs has an extensive team of experienced instructors who are equally passionate about code as we are mentorship. We can’t wait to hear from you!
Hafiz Suara is Lead Instructor at Canadian tech education leader Lighthouse Labs.