Technical Debt – Less code is good code

For all versions from 1.0 to 2.0 I set myself a goal that I will not increase the number of lines of code in the KeyPad application.

This means that I must not add a new feature unless I remove the equivalent number of lines of code from the existing application.

It is getting harder and harder to find code that I can remove/optimize.

I have been programming in some way or form for over thirty years. One rule that in my mind has not change is:

Less code is good code!

This rule has served me well. I have removed unnecessary code, made improvements to sloppy code, learned new techniques with Swift, and overall had fun. I am now running out of code to reduce, and there are new features that I want to implement. I think I am ready to move to next level.

I plan to release 2.0 before the end of the year.

My learnings so far:

  1. I can still write production code – so what if my primary job is engineering management.
  2. There is an intangible pleasure from replacing 25 lines of code with 4.
  3. I leaned a new language Swift. I quite like it. Better than Java in my opinion.
  4. Programming hasn’t changed much in the past 20 years.
  5. Git and continuous integration is awesome – wish it has been there when I was mainstream programming.
  6. Validation of the concept behind keypad. Apple decided to introduce it as a new feature in MacOS called Universal Control. I wonder if seeing my app had something to do with it.
  7. I can still write programs that users like: 4.7 * Ratings worldwide, over 20k downloads. Yesssss!!

Just released 1.81 where the focus is internationalization/localization. Pretty cool that both those words mean more or less the same thing.