Resources a Googler is Using to Be a Software Engineer in 2023
New Year, New Books
Whether you believe in New Year resolutions or not, now is always a good time to learn more about software engineering.
Whether you’re just starting your career or already been working as a software engineer, here’s a list of resources everyone should be using.
Cracking The Coding Interview

It doesn’t matter whether it’s 2020 or 2023, larger tech companies are still asking the same data structures and algorithm questions. That also means the same resources still work.
Cracking the coding interview is the friendliest introduction to software engineering interviews. If the problems in this beginner book are too difficult, that may be a sign you’re not ready to apply.
If you haven’t heard of this book, it’s not too late to pick up a copy on Amazon to study and apply for 2023 software engineering roles!
Elements Of Programming Interviews (Java, C++, Python)

Elements of programming interviews is the absolute standard for preparing for any software engineering interview. This book personally made me ready to interview and receive offers at Amazon, Microsoft, and Google.
Unlike cracking the coding interview above, this book comes in 3 languages, all of which are the most popular coding languages taught in university.
If you’re able to solve the problems in this book, you are performing at the level of coding interview problems. The problems are harder than Cracking the Coding interview but mastering this book can lead you to your next software engineering opportunity.
The System Design Interview (Community + Discord, Vol. 1, Vol.2)

The system design interview is an absolute must for anyone applying for mid-level software engineering roles in 2023. This book will easily walk anyone through how to think about system design interviews.
While both books are more than enough to pass the interview, I still recommend the online community since it includes both books and has a larger discord community devoted to users all studying system design. While the subscription is only 1 year long, it shouldn’t take anyone more than 1 year to study all the material in both books.
Grokking The Advanced System Design Interview
If you’re already familiar with Grokking the System Design interview, then you’ll be able to extend your knowledge of system designs even further with the advanced course.
Thsi is for people who are already familiar with the basics of system design and want to take their knowledge to the next level. This course includes examples on using different large scale databases, distributed messaging, and designing a key-value store.
This course is more apt for users pursuing senior software engineering roles.
Designing Data-Intensive Applications

If you’re further along in your software engineering career, Designing Data-Intensive Applications is a must read. This book will guide any reader on the basics of how to scale large web applications like Facebook or Netflix.
If you’re still unsure about the differences between a NoSql and Sql databases, this book will give the most comprehensive explanation you’ll ever need.
While this isn’t necessarily a book you read end to end, it’s an amazing supplement if you’re curious about databases and scaling your applications. It’s an all-time favorite for anyone who’s been working as a software engineer for at least a year.
A Philosophy on Software Design

A philosophy on software design is one of the more niche books on this list. This book talks about how what you should be thinking about when writing your code.
While books like Clean Code are more about what clean code looks like, this book focuses more on how to think differently about your code. Does it make sense to have deep or shallow modules? (Does it make sense to have few functions that do many things or multiple functions that do few things?) The answer will surprise you and you’ll absolutely get a better sense after reading this book.
Whatever stage in your career, you’ll walk away from this book learning something new about software engineering you hadn’t thought about before.
The Mythical Man Month

This book is an all-time classic. If you ever wondered why Amazon believed in two-pizza teams (where no teams should be larger than what two pizzas can feed) or why your teams are usually never larger than 10 members, it’s because of this book.
The Mythical Man-Month introduced how having more people on the team increases communication overhead with everyone else. While that’s the most famous essay in this book, all the other essays are just as valuable.
While most software engineering teams hardly practice any of the other essays today, each of them make absolute sense to the engineer. A simple read will be more than enough to spot issues in your software engineering practices at your company.
Domain-Driven Design

Domain Driven design is not the easiest book to read. It definitely feels more like a textbook than anything else. But if you’re an up and coming software engineer, this book will simplify a lot of concepts you’ll hear thrown around the work place.
In university I was never taught how to meaningfully break down objects or how they should interact with each other. This book demystifies that topic and clearly explains how and why you should separate fields in your objects. Once you understand the concept between an entity and a value object described in this book, your database schemas suddenly become clear.
While designing data-intensive applications is more of a high level architecture focused book, this book focuses on lower level details like how to cleanly interact with your database and designing which objects interact with each other.
It’s not the easiest read I guarantee you’ll be a better engineer after read though it.
Did you see what happens when you click and hold the clap button?
The resume template that helped me get into Amazon and Google
If you enjoyed this experience consider being a member for more content like this!
1000 are following on Twitter!
And follow me on my quest to 100,000 followers on LinkedIn Alex Nguyen | LinkedIn





