Getting Started with Backend Engineering: A Beginner’s Guide

Hikmah Yousuph
Nur: The She Code Africa Blog
5 min readSep 12, 2023

When I first started coding, I was just so excited to begin the journey. I had no idea about frontend, backend, or full-stack. I started with Python, and then Django. As I decided to progress further to make my website more responsive, that’s when I realized just how little I knew to be an actual developer. That’s when I realized what I had initially learned was the backend.

The backend refers to the server side of a web application, as opposed to the frontend, which focuses on the look and feel of the website — what you see when you visit a website. The backend runs in the background of a website, serving as the backbone where the logic is processed. It involves creating APIs, data storage and retrieval, user authentication, among many other functions.

There are many paths to choose from when starting out, some being more popular than others. I’m writing this guide to help people who are just starting out find their bearings in backend development.

Steps to become a backend developer

1 — Learn a Programming languages

The very first step in becoming a backend developer is to learn a programming language. Some of the popular languages include:

  • Python: In terms of simplicity and readability, Python is a great language to start your coding journey with. According to the 2022 Octoverse report, it is the second most used language, and apart from being used as a backend language, it can be used in machine learning, data analysis, automated tasks, etc.
  • JavaScript: According to a study by Statista, this is the most widely used programming language and a great choice if you want to transition easily to being a full-stack developer, working on both the frontend and backend. Node.js allows developers to use JavaScript on the server side.
  • Java: A high-level, robust language also used in creating mobile apps, games, and desktop applications. It is fast, reliable, and secure.
  • PHP: PHP stands for Hypertext Preprocessor. It is a general-purpose language that can be embedded in HTML. It is popularly known in the production of popular content management systems (CMS) like WordPress.
  • Ruby: An open-source language with elegant syntax with a focus on simplicity and productivity. It’s a gem to work with.

Other backend languages include C#, Go, Kotlin, Swift, Elixir, Scala, Rust, Haskell, and Perl.

2 — Learn its Framework

Once you are comfortable with the language of your choice and can write and debug challenges with it, it is time to learn a framework. Why learn a framework? Because it’s for best practice. Frameworks save time and provide faster solutions to your problems. Some frameworks handle most of the bulk of the complexity, making it so much easier when simply using the language.

Below are languages with their framework:

  • Python: Django, Flask, FastAPI, Pyramid
  • JavaScript (Node.js): Express.js, Nest.js, Koa.js
  • Java: Spring Boot, Play Framework, Micronaut
  • Ruby: Ruby on Rails, Sinatra, Hanami
  • PHP: Laravel, Symfony, Yii, CodeIgniter
  • C#: ASP.NET Core, Nancy
  • Go: Gin, Echo, Revel
  • Kotlin: Ktor, Spring Boot (with Kotlin)
  • Swift: Vapor
  • Elixir: Phoenix
  • Scala: Play Framework, Akka HTTP
  • Rust: Rocket, Actix
  • Haskell: Yesod, Scotty, Servant
  • Perl: Dancer2, Mojolicious

3- Learn a database

A database is an organized collection of data stored and managed in a way that allows for efficient retrieval, modification, and analysis of the data. Every time you visit a website and request something like your user information, products in an online store, or available drivers in your area, it’s the database that queries and fetches the data to be returned.

The best database to learn as a beginner should be either a relational or non-relational database. Relational databases are stored in the form of a table, like spreadsheets, with information organized in a structured manner of rows and columns. Non-relational database is non-tabular, and more flexible in storing data. The difference between these two types is how they store data.

With that in mind, let’s look at some examples of each database:

Relational Databases:

  1. SQLite — A lightweight, serverless relational database that’s great for small-scale applications. It’s commonly used with frameworks like Django, and Flask and is ideal for learning purposes.
  2. MySQL — A widely-used open-source relational database management system. It’s often paired with frameworks like Node.js, Django, Laravel, and Ruby on Rails.
  3. PostgreSQL — Another popular open-source relational database known for its advanced features. It can be integrated with backend frameworks like Django, and Ruby on Rails.

Non-Relational Databases:

  1. MongoDB — A document-based NoSQL database. It works well with frameworks like Express.js due to its JSON-like document format.
  2. Redis — A high-performance, in-memory key-value store, often used for caching and real-time applications. It can be integrated into frameworks like Ruby on Rails, and Spring Boot.
  3. Cassandra — A highly scalable, largely distributed data used with frameworks like Spring Boot.
  4. Neo4j — A graph database that’s excellent for representing and querying relationships in data. It pairs well with frameworks like Express.js or Django.

4 — Learn basic HTML and CSS

While HTML and CSS are mostly associated with frontend development as it is the building block of a website, you need to know and understand at least the basics of HTML and CSS even as a backend developer. HTML, HyperText Markup Language, is the structure of a web page. It allows the creation of elements such as headers, paragraphs, links, and sections within an application. CSS is for styling this content.

5 — Learn about APIs

Application programming interfaces (APIs) take a request from URLs, process it, and send back responses formatted as JSON. APIs come in different types, like the RESTful API, which follows a set of rules for making requests using simple URLs, similar to typing a web address in your browser.

When learning about APIs, it is crucial to learn about different HTTP requests: GET, POST, PUT, DELETE, etc. for CRUD (Create, Read, Update, Delete) functionalities to different endpoints — the URLs accessed to perform certain actions.

6 — Learn about Version Control System

Version control is the best way to keep track of your project and store it online for others to view. You can clone projects from others, collaborate with them, and track changes made to projects over time. Git is the most popular Version Control System used by developers. Git has an online platform called GitHub, which is used for managing Git repositories.

As a beginner, Git may seem cumbersome to understand, but once you get the hang of it, it’s easy to use. There are many free tutorials online to learn how to use it.

Conclusion

After deciding to become a backend engineer, research, pick a language, a framework, and a database compatible with it. Create an API, and commit your code to GitHub. And Congrats! You’re already a developer.

Becoming a developer takes time, patience, and a passion for challenges. To be seen as reliable in your skills, you need to create impressive projects to prove yourself on your resume. While this is simply a comprehensive guide, remember that there is more than one way to go about this roadmap.

Research is the best way to learn more about your chosen path. In my experience, YouTube is a great starting point. YouTube videos are free and accessible to all levels, offering project-based learning to navigate the learning curve. Additionally, reading articles and staying updated on trends through social media can further enhance your skills.

With that said, I wish you the best of luck in your journey.

--

--

Hikmah Yousuph
Nur: The She Code Africa Blog

Software developer skilled in creating articles all things tech. Passionate about problem-solving, tech writing, fantasy novels, and keeping up with tech news.