Intro To Systems Design: Guide to Becoming a Senior Software Engineer

Christopher Clemmons
Nerd For Tech
Published in
11 min readJan 26, 2023

--

One day I watched a YouTube video about a software engineer who worked in FAANG and mentioned how most of his days consisted of meetings, bug fixes, and hardly writing any new code.

The more senior you become, the more code you write. I was utterly wrong. Since then, I started looking at my occupation as a software engineer much differently.

What am I being hired to do?

What is system design?

System design defines the architecture, components, interfaces, and data for a system to satisfy the specified requirements. It involves identifying and defining the functional and non-functional requirements of the system, as well as the constraints and trade-offs that must be made during the development process.

The goal of system design is to create a system that is efficient, reliable, and easy to maintain while also meeting the needs of the users and stakeholders. This process typically involves a combination of both top-down and bottom-up approaches, emphasizing modularity, scalability, and reusability.

Proper system design considers the users' location, the technology being used, and the content shared throughout the network it lives in.

--

--

Christopher Clemmons
Nerd For Tech

🧪 Fullstack Engineer + Data Scientist I talk about indie hacking, business, data and artificial intelligence