How to Become a Full Stack Engineer in 2023

It’s funny how computer science grads end up in coding jobs. I mean, for all the science that we know (compilers, databases, ASSEMBLY LANGUAGE!), we mostly just end up coding, which is not too bad actually because essentially it is still problem solving.

A Little Background on Me

I did my BS in Computer Science way back in 2011. And then I worked at one of the top software services companies back in my home country. All that I learnt about coding and building software was at my day job. My education gave me the tools to navigate any learning curve, but once graduated I was on my own. Looking back, I think I could have done a better job at becoming a good engineer. Which is why after my career break I decided to learn things the right way. Also because I had a 6-year career gap and technology had changed drastically while I was away from tech. My husband (who is also in tech), helped me develop a learning roadmap, and now I’m going to share it with you.

So this might not be the perfect guide, but it is a start. Anyway, let’s dive into it.

How Should You Use This guide

Think of it as a rough roadmap. You can learn the basics and cover the breadth of it all, and then come back to each topic and dive deeper into the concepts. This roadmap helped me stay on track and not have my mind scattered all over the place which is so common when you are starting fresh.

The Roadmap aka Topics You Must Know

1. Frontend

  • Learn the basics of HTML, CSS and Javascript.
  • Then pickup a Javascript framework like React or Angular. Go even further and learn NextJS.
  • Pickup a CSS framework like Bootstrap, MaterialUI or TailwindCSS (my fav).

2. Backend

  • Learn the basics of APIs, REST
  • Learn a backend framework like NodeJS/Express or Java Spring Boot.

3. Databases

  • Persist the data in your backend with a database.
  • Learn about SQL and NoSQL databases and when to use one over the other.
  • I recommend Postgresql and MongoDB.

4. Cloud Concepts

  • Understand the basics of cloud computing.
  • Pickup a cloud provider (AWS, GCP or Azure) to dig deep into its offerings.

5. CI/CD

  • Build a continuous integration/continuous deployment pipeline using Github Actions.
  • You should also know a bit about Docker and how to dockerize your application and deploy it to the cloud.

6. Version Control

  • You must know the basic Git commands and how to commit and push your code to the repository.

7. Testing

  • You should know about the various kinds of testing methods (unit tests, integration tests, e2e tests).
  • Better yet, learn about Test Driven Development (TDD)

8. Miscellenous Topics / Good to Know

  • Authentication and Authorization
  • Encoding vs Hashing vs Encryption
  • Microservice Architecture
  • Key Value stores (Redis, Memcached, DynamoDB)
  • OOP, Design patterns and Algorithms
  • IaC (Infrastructure as Code)
  • Agile SDLC
  • DevOps
  • Monitoring / alerting / logging tools such as Prometheus, New Relic, Datadog, ELK stack, distributed tracing.
  • Serverless architecture

Resources I Highly Recommend

While on this journey, I stumbled upon some really good resources that I just want to dump here for your reference.

Parting Thoughts

I really hope that this mini guide helps you in any way possible. It’s not perfect and I’m not an expert, but I love to help others learn and grow and so just wanted to share what I found personally useful. After all, learning is fun! 😊


Built with Astro, MDX, Tailwind and Vercel.