My Notes on the “A Philosophy of Software Design” Book

This week I finished reading A Philosophy of Software Design book by John Ousterhout. I found the book easy to read and moderately thought provoking. 

The book talks about two approaches to reduce complexity of software systems – 1) embracing simplicity 2) embracing modular design. 

Complexity is anything related to the structure of a software system that makes it hard to understand and modify the system.

We know  we are working with a complex software system when:

Continue reading “My Notes on the “A Philosophy of Software Design” Book”

Questions to ask when making Build versus Buy decision

Most software companies have to make decisions on whether to build a custom software or buy it from a vendor. Some of these decisions are mentioned below.

  • Should we build the recruitment tracking system or buy it?
  • Should we build a custom video KYC solution or buy an existing one?
  • Should we build a custom CRM or buy it?
  • Should we build a custom CMS or buy it?
  • Should we run your own CI server or use a cloud service like CircleCI?
  • Should we build our search engine using Solr or Elastic search  or use a service like Algolia?
Continue reading “Questions to ask when making Build versus Buy decision”