Reading List

Thoughts, notes, and takeaways from publications that I have read.

Description

Clean Code describes the principles, patterns, and practices of writing clean code. Every serious programmer should read this book. Each page is full of amazing insights into what it means to write quality code.

Description

Essays that draw on the author's experience as a project manager for IBM. A collection of thought-provoking essays on the management of computer programming projects.

Description

Shape Up is for product development teams who struggle to ship. If you’ve thought to yourself “Why can’t we ship like we used to?” or “I never have enough time to think about strategy,” then this book can help. You’ll learn language and techniques to define focused projects, address unknowns, and increase collaboration and engagement within your team.

Description

Organizations around the world have devoted countless resources-including time, energy, and mindshare of top executives-to the challenge of innovation. And they have, naturally, optimized what they do for efficiency. But if all this effort is aimed at answering the wrong questions, it's sitting on a very tenuous foundation. They spend time and money compiling data-rich models that make them masters of description but failures at prediction. We don't have to settle for that.

Description

A great book for learning design patterns in a way that will make you better at solving software design problems, and better at speaking the language of patterns with others on your team.

Description

Essays on computer science theory such as program verification and algorithm design. The book teaches important programming techniques and fundamental design patterns.

Description

Martin Fowler shows how to find opportunities for refactoring and how to take a bad design and rework it into a good one.

Description

Drawing its examples from a variety of computer languages, this book focuses on programming technique rather than the requirements of a specific programming language or environment. Steve McConnell developed True Type and Windows for the Microsoft Corporation.

Description

This classic book of tools and methods for the analyst brings order and precisions to the specification process as it provides guidance and development of a structured specification. Covers functional decomposition; data dictionary; process specification; system modeling; structured analysis for a future system. Suitable for practicing systems analysts.

Description

Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.

Description

This book begins with basic programming concepts and techniques, then focuses more particularly on information structures such as the representation of information inside a computer, the structural relationships between data elements and how to deal with them efficiently.

Description

Object-Oriented Software Construction is a book by Bertrand Meyer, widely considered a foundational text of object-oriented programming.

Description

The Elements of Programming Style, by Brian W. Kernighan and P. J. Plauger, is a study of programming style, advocating the notion that computer programs should be written not only to satisfy the compiler or personal programming "style", but also for "readability" by humans, specifically software maintenance engineers, programmers and technical writers.

Description

This book represents the progression and evolution of the pattern approach into a system of patterns capable of describing and documenting large-scale applications. A pattern system provides, on one level, a pool of proven solutions to many recurring design problems. On another it shows how to combine individual patterns into heterogeneous structures and as such it can be used to facilitate a constructive development of software systems.

I have worked for some interesting companies. Learn more about my work experience!
I like to spend my spare time working on personal projects and keeping up with the latest trends. See some of my latest projects!