Software Development and Personal Finance: The Connection

Image from stillwaterflyshop

I graduated with a degree in Computer Science. I’m supposed to be coding and doing such after graduation yet an opportunity in the academe opened that I grabbed. Since then, more than coding and software development, I chose to teach students how to code and how to develop software.

I was browsing through software development principles a few days back. Then it hit me. Some of the principles of software development can actually be applied to personal finance. If you are not familiar with software development, don’t worry. You can still be able to correlate with the terms in the next paragraphs. At least next time, when you are talking with a software developer or a programmer, you can be able to throw a principle or two and more so apply it to personal finance.

KISS – Keep it Simple Stupid

If there is one principle I clearly remember, it would have to be KISS. Not only is this very simple to memorize, it is also applicable to almost anything in life. The concept of KISS in line with software development according to David Hooker is:

“Software design is not a haphazard process. There are many factors to consider in any design effort. All design should be as simple as possible, but no simpler. This facilitates having a more easily understood, and easily maintained system. This is not to say that features, even internal features, should be discarded in the name of simplicity. Indeed, the more elegant designs are usually the more simple ones. Simple also does not mean "quick and dirty." In fact, it often takes a lot of thought and work over multiple iterations to simplify. The payoff is software that is more maintainable and less error-prone.”

So how is KISS applicable to personal finance? We keep everything as simple as we can. As much as possible we throw away or delete stuffs that can complicate our finance loves. For instance, the more credit cards you have, the harder it would be to keep up. The more stocks you have in your portfolio, the less attention you would be able to give each one. You might even miss a big opportunity. The more bills you life has, the more expenses that would entail. Hence, it would be best to simplify.

YAGNI – You Ain’t Gonna Need It

According to Chris Peters, in software development term, YAGNI is:

“It basically translates to: If it's not in the concept, it's not in the code. For example, it's a common practice to abstract the database access in a layer that handles the differences between various drivers, like MySQL, PostgreSQL and Oracle. If you're working on a corporate website that is hosted on a LAMP stack, on a shared host, how likely is it that they will change the database? Remember that the concept was written with budget in mind. YAGNI strives for simplicity by not implementing it at all.”

I know that’s a bunch of jargons in one paragraph however we link this one to personal finance. This could mean not buying an item that can add to your financial burden. If you have plans to buy something, this would be a good mantra to abide. There are expenses that are considered wants rather than needs. And as much as possible, we should be able to filter our expenses to our needs so we can be able to maximize the use of our money. Most of us tend to spend a lot on our wants rather than our needs. More so, those wants are the things we don’t need at all.

Be Open to the Future

David Hooker has one good explanation with this principle in line with software development:

"A system with a long lifetime has more value. In today's computing environments, where specifications change on a moment's notice and hardware platforms are obsolete when just a few months old, software lifetimes are typically measured in months instead of years. However, true "industrial-strength" software systems must endure far longer. To do this successfully, these systems must be ready to adapt to these and other changes. Systems that do this successfully are those that have been designed this way from the start. Never design yourself into a corner. Always ask "what if ", and prepare for all possible answers by creating systems that solve the general problem, not just the specific one. This could very possibly lead to the reuse of an entire system."

We must also ask the varied what ifs in life. What if we won’t have a job tomorrow? Will we still be able to survive? What if I die, who would take care of my family’s expenses? Being able to answer these what ifs will help us prepare ourselves on the things we need to do now. We must anticipate the future and the unfortunate circumstances. Hence, we need to get insurance for estate planning and the future. We must save up for retirement. We must build our emergency fund and more. Let us indeed be open to the future.

I know these are software development principles but it would be good to look at it in the perspective of finance. No wonder that more than developing software, we must also be able to develop ourselves and our money. More often, such principle is but just and apt to us.

P.S. My very first e-book is finally here. You can buy it using the Buy Now button at the right or via bank deposit. Only Php 150.00. Purchase your copy now.

P.P.S To those doing the 52 Week Money Challenge, it is Week 6 already! Did you deposit the next amount yet?

P.P.P.S Want to know more about investing, savings, stock market and more, check out my reference here. You can download free ebooks and resources too. 

P.P.P.P.S I am also sharing my stock market secrets and information via these resources