Do you use to create software? Are you addicted to create software!? Do you know that lots of developers (like me) are addicted to CREATE software!? Bad news for us: Sooner or later, we should quit it, or we will die!!
You know why!?
Just like millions of people dying for addiction to drugs, lots of startups are dying because their addicted to create.
Believe me, addicting to just CREATE a software is killing lots of startups and companies.
But what's wrong with CREATE!? For years the process of software programming was very hard, so people thought a lot before they start programming. After a long process of thinking they start to create something precious called software at the time!
Creating means that you make something that didn't exist before. Once, there was nothing on the hard disk, and after you create your software there will be something so you can copy it to your hard disk. Hurrrrrrray!
Again, what's wrong with it!? The problem is that hard disk!! It is not empty anymore. There's something in it called "OLD VERSION OF YOUR SOFTWARE". So you cannot just create something you want. You should plan for a CHANGE that migrates your old software to the new one.
You're not going to just add some fresh classes and tables. You're going to CHANGE and MODIFY your old classes and tables. You cannot just drop old tables and create new tables. Instead, you should have some migration plan to reshape your system to its new version.
Change-First development is to have a migration plan to reshape your system to its new version.
So, even when you're writing a single line of code, you should quit the addiction to CREATION. All the time, you should see yourself as someone who is writing a new migration (not just a piece of code).
In fact, if you really believe in what I've said, you should have a different life! For example, if your friend came to you and asked what are you doing, instead of saying "I'm writing a piece of code", you should answer "I'm writing a piece of change"!!!
I'm writing a piece of change
I'm writing a piece of code
I think, this movement from CREATE to CHANGE is one of the most important reasons that the term 'Software Programmer' is distinct!
Programmers used to create, Developers use to create migration!