3 min read
Photo Credit: Allison & Rupert PhotographyStarting software engineering can be a pretty daunting experience, and if you transitioned from another career later on, as I did, it can be even more nerve-wracking.
You could go to university and study computer science, you could do a bootcamp, or even be a complete self-starter and learn from free online resources. I am not going to debate which is best.
What I wanted to touch on, was the direction in which you go
I am someone who likes front-end, to me, the creative freedom of making something from nothing and seeing it on screen can be like an art form. You are free to express yourself visually any way you like. However, the stimulating reward given when solving a puzzle in the back end can be equally rewarding, so where do you go?
The natural answer would be to try all of them. Explore, be creative, expressive even. Try all of the different shoes on so to speak and see what fits well. Then, as we grow and we learn, different options become available to us. What is important is that you don’t confine yourself to one area and not explore others. It can be scary to put your neck out and do something you really don’t know how to do, but as the great master Shifu from ‘Kung fu Panda’ said: “If you only do what you can do, you will never be more than who you are now.”.
The truth is, with companies switching from a monolith architecture (whole site in one app) to a micro-service one (The site is broken down into many apps and services), developers are now moving to implementing tasks in a vertical slicing. This is prevalent mainly with a full stack role but what that means is, a developer now picks up a task and see’s it through the entirety of the process. So knowledge of the working in the service (back-end), app (front-end) through to writing tests and running this through the testing pipeline in the CI/CD process. Knowledge of AWS will also greatly help with understanding how your companies app runs feature deployments. Running canary builds with traffic splitting means only a set amount of users will see the new feature, allowing for monitoring and a less risky deployment.
This article isn’t about top resources to use for helping you learn. But I have tried