Books I have read

By rulyotano-admin, 11 October, 2024
"System Design Interview - An Insider's Guide: Volume 2" by Alex Xu and Sahn Lam builds upon the foundation laid in Volume 1 by offering 13 new system design challenges commonly faced in technical interviews. Each chapter focuses on a specific problem, such as designing Google Maps, a real-time gaming leaderboard, and an S3-like object storage service. The book provides a structured 4-step framework to approach these design problems, along with over 300 diagrams to visually explain complex systems and help readers solidify their understanding of distributed systems​

Tags

By rulyotano-admin, 11 October, 2024
"System Design Interview – An Insider’s Guide" by Alex Xu is a highly regarded resource for software engineers and architects preparing for technical interviews, particularly those focused on system design. The book provides practical and structured approaches to solving complex system design problems, which are commonly part of interviews at top tech companies.

Tags

By rulyotano-admin, 11 October, 2024
Refactoring: Improving the Design of Existing Code, written by Martin Fowler, is a highly regarded book in the field of software development. It introduces the concept of refactoring, which is the process of restructuring existing code without changing its external behavior to improve its readability, maintainability, and performance.

Tags

By rulyotano-admin, 7 October, 2024
Domain-Driven Design Distilled by Vaughn Vernon is a concise and practical guide to understanding and applying Domain-Driven Design (DDD). DDD is an approach to software development that emphasizes collaboration between technical experts and domain experts to create models that reflect complex business requirements. This book distills the core principles of DDD, making them accessible to both beginners and experienced practitioners.

Tags

By rulyotano-admin, 7 October, 2024
Cracking the Coding Interview by Gayle Laakmann McDowell is a popular resource for software engineers preparing for technical interviews. This book provides in-depth explanations, coding problems, and solutions, along with valuable insights into the interview process at major tech companies. It is designed to help candidates understand the technical skills, problem-solving techniques, and strategies necessary to succeed in coding interviews.

Tags

By rulyotano-admin, 7 October, 2024
.NET Microservices: Architecture for Containerized .NET Applications is a guide developed by Microsoft to help architects and developers design, build, and deploy microservices-based applications using .NET Core and container technologies. The book provides practical advice and patterns for creating cloud-native applications, with a focus on leveraging containers, Kubernetes, and Docker.

Tags

By rulyotano-admin, 7 October, 2024
Clean Architecture by Robert C. Martin (Uncle Bob) is a comprehensive guide on building maintainable, scalable, and flexible software systems. The book presents a set of architectural principles and patterns that help software developers design robust systems that are easy to adapt and evolve over time. It focuses on creating a strong separation of concerns and ensuring that core business logic remains independent from external factors like frameworks, databases, or user interfaces.

Tags

By rulyotano-admin, 7 October, 2024
Clean Code by Robert C. Martin, commonly referred to as "Uncle Bob," is a foundational book in software engineering. It provides principles, best practices, and examples for writing clean, readable, and maintainable code. The book emphasizes the importance of professionalism and craftsmanship in software development and is structured around practical examples, case studies, and advice.

Tags

By rulyotano-admin, 7 October, 2024
Designing Data-Intensive Applications by Martin Kleppmann is a comprehensive guide for software engineers and architects to understand the principles and trade-offs involved in building large-scale, data-intensive systems. The book focuses on the foundational concepts of managing, storing, and processing data, covering a range of database and distributed systems techniques.

Tags