Table of Contents

Introduction

Software engineering is complex and difficult. There are two things make it less difficult: 1, mechanical sympathy and 2, literature. Mechanical sympathy is a deep understanding of how the machine works and do things in a way it works better. This is cooperation between the human and machine, but not between human and human. This is where the other, namely literature, comes into picture. Literature is about presenting thoughts in a way it means the same to you or, more challenging, causing feelings. Nobody wants you to cry when you read code others wrote, or if crying happens it is not intentional. Hopefully. Literature in software engineering is about the same meaning between people. It also means that software engineering is not only about understanding the machine, mechanical sympathy, but also actively controlling the meaning of the code we wrote. The controlling happens knowing the common rules of writing code, many times called clean code, or clear understanding how other humans perceives text, code when they see it. We can call it human sympathy.

This book is mainly about the mechanical sympathy part, according to my plans. But, I see that I have a few things to say in the other topic.