david alfonso

Book review: How to Become an Expert Software Engineer

How to Become an Expert Software Engineer cover

Title: How to Become an Expert Software Engineer

Subtitle: A programmer's guide to the secret art of free and open source software development.

Author: Marcus Tomlinson


The book is oriented towards developers just starting their careers or who are not familiar with open source and the typical tools. The author proposes open source as the main way to obtain experience for your résumé. It is divided into four parts: Define, Design, Develop, and Deliver.

The first part (Define) seeks to inspire the reader to work for the job they want, and also describes a systematic process to find what technologies and skills you should learn and practice.

The second part (Design) dives right into how to create an open source project that matches the technologies and subdomains that you identified in the first part. The author seems especially interested in creating a popular open-source project.

The third part (Develop) deals with solo project management, productivity, and motivation and explains some API design best practices. It's like a summary of multiple disciplines, but it only manages to point out the most obvious perils along the way.

The last part (Deliver) explains how to handle software releases and market your project. It is the one I found more irrelevant, as the initial goal (finding your career path) fades in the distance of the first chapters.

Summing up, the book is not long and can be read in a few hours. It touches many subjects, although very lightly. Nevertheless, it can be a good reference for new developers who are not aware of the multiple elements that are involved in software engineer projects. Some chapters might be motivating to a more experienced developer, even if you don't pick up many new things.

Key Insights