10 Books Every Senior Engineer Should Read

Engineers are natural readers. They take enormous pleasure in learning about new things, and books are the perfect medium to cover complex ideas in depth.

I picked some of my favorite books at my company, Semaphore — books that have profoundly influenced the company’s engineering culture. This list contains a mixture of classic, timeless texts and a fair share of modern game-changing publications, aimed at senior engineers and devs. But you don’t have to be a senior engineer to benefit from the books on this list, anyone interested in software development would enrich their skillset by reading them.

We hope you enjoy reading this list as much as we enjoyed making it.

Design Insights From Unit Testing

Probably the biggest breakthrough while Unit Testing is to realize that writing tests offer priceless feedback about the design of your production code. This feedback goes from suggesting immediate obvious improvements, up to hints about some of the most advanced design principles in software engineering. This article briefly enumerates these hints, pointing to questions to ask about your design. 

Disclaimer: Don't follow blindly these hints, but make sure you understand all of them so that you can decide in your real problem what would improve the design, and what wouldn't.

Agile Software Development: Principles, Team Structure, and Frameworks

Agile software development enables an entrepreneur to launch a product in the market within a short span of time. For executives to know whether the agile methodology is right for them, we share information on basic principles behind agile, preferred team structure, and common methodologies such as Scrum, extreme programming (XP), dynamic systems development method (DSDM), and feature-driven development (FDD).

Table of Contents

  • What Is Agile Methodology in Software Development?
  • Basic Principles of Agile Software Development
  • Preferred Team Structure for Agile Software Development
  • Common Methodologies and Frameworks Within Agile

What Is Agile Methodology in Software Development?

Agile is a unique approach to software development that considers different components such as client’s requirements, continuous learning and testing, iterative development, tangible value addition after every two weeks, and more.

Top Five Agile Methodologies — Which Is Right for Your SAP Environment?

Check out this SAP environment.
You may also like: Agile Project Managements Explained — A Beginner's Guide

Agile can offer faster, more flexible development for your SAP environments. With so many methodologies for agile, how do you know which one will be the best fit for your business?

I spoke to a large SAP enterprise recently about their shift from a waterfall development approach to using agile development in their SAP environment. The result was that rather than making two changes to SAP each year, they now modify their environment each and every week.