Through my own job, my network, and my other activities, I’m exposed to the industry a lot. I have the chance to talk to other insiders, enterprise/bank IT leaders, and many many more. I also consult as a side hustle and build one or the other website from time to time. I don’t do this full-time, yet, but it may give me some credibility.
This section is here to showcase scenarios, skills, and business ideas that I view as opportunities for someone who wants to make a change and go the entrepreneur route or simply upskill themselves.
Upskill Yourself - Improve your testing skills
Many tutorials and courses are just awesome. They enable you to go from zero knowledge in a language or framework to an implemented and working app. But most of them lack one thing: They don’t focus much on testing. The same holds true for bootcamps and universities. If you got a degree, did you also have a separate course on automated quality assurance like I did? I heard and saw the same at bootcamps. Testing is usually viewed as something separate. In reality, however, it is or should be deeply integrated into the software development process. Many candidates I interview show a similar picture to me. They view testing as a necessary evil and not as one of our main tasks.
The job of a software engineer/developer is to create a working solution (or a part of it) for a particular problem. Ensuring that the result works is partially a job of the creator of that code. Writing code is too abstract and too complex as that anyone could always foresee whether the solution they created within their mind and then put into code really works as expected, in every scenario. The other thing is that tests are a safety net. If you change a particular piece of code and five tests break, you know that you either did something wrong or did something right as this was indeed intended to happen. Without tests you wouldn’t even have those indicators.
Being able to properly test code can make the difference between an average developer and a high performer. The more used you get to integrating and accepting tests as a part of your daily job, the more you’ll notice how much more productive you become. The more productive you become, the more you’ll be able to accomplish. And at the end of this chain, there might be a highly desirable raise for you, or even a promotion.
If you want to advance even further, take a look at Test-Driven Development. It’s not a necessity but it’s one way to incorporate testing into your work. It has some great advantages and also some drawbacks but I, e.g., am hugely in favor of TDD, as it benefits me a lot.
Upskill Yourself - Learn Serverless
Enterprises are currently doing a lot to move to Kubernetes workloads in the cloud. Serverless, however, might be the next step in this evolution. I personally think that you can put nearly every workload you can put on Kubernetes on a serverless platform. Many startups realized this and focus more on serverless approaches instead of dealing with the operational complexity Kubernetes brings to the table. I think that enterprises will soon start to experiment more with this and do a lot to move some of their systems over, as the benefits often outweigh the costs.
This is a perfect opportunity to set yourself apart and to be ready when the demand rises and we start to see more job ads listing serverless skills explicitly. It also benefits yourself. If you ever happen to have the idea for an SaaS product, you might have a far easier time starting it on a serverless platform than to manage a whole system yourself.
It doesn’t even take that much to get started. A notebook, a credit card, and some time. That’s everything you need to start playing around with AWS, for example. You can even start by deploying your favorite Next.js app to AWS and start advancing it from there on. This should give you the head start you need to prepare yourself for when your own employer or a potential future one decides to hop on the serverless train.