Coders of Finance – KeepThrifty

Coders of Finance – KeepThrifty

Welcome back geeky FIRE seekers, as I promised in the kickoff episode this time my interviewee will be a more popular blogger (who am I fooling, all of them will be more popular than me :)). His blog was one of the first ones which I started following and stuck with it ever since then. It turned out that as fellow fathers & bloggers we share a set of values, the importance of our families, the need for a fulfilling job and yes, the love of coding of course. So Chris, please take the keyboard.

Introduction

Please introduce yourself, who you are, who do you live with, where do you live and tell us about your blog?

I’m Chris, writer and app developer at KeepThrifty. I’m a married father of three, raising our daughters in Madison, Wisconsin. I love exploring with my family, whether it’s a local hike or a cross-country road trip. At Keep Thrifty, we write about money, minimalism, and our family’s financial journey. One of our biggest financial accomplishments is setting enough aside for me to take a one-year mini-retirement, which I’m using to spend time with my wife and kids and develop the money tracking app on our site – Thrifty.

Coders of Finance - Chris Durham

The Beginning

When was your first encounter with computing?

The first I remember was my oldest brother showing me a simple program he had written in BASIC when I was four years old. It asked for me to input my name and age and then displayed an ASCII smiley face. I was amazed that he was able to create something I could interact with and always wanted to be able to do the same.

What was your first machine?

My dad recognized the value of exposing us to technology, so he purchased a Tandy 1000 back when most families weren’t even thinking of having a home computer. I remember the two floppy-disk drives (5¼”) fondly. These were the days before “hard drives” 🙂

Did you started with games first or jumped straight into programming?

Early on, I started with games. We had a Nintendo (original) and played quite a bit on our computer as well. As I got into middle school, I got interested in the concept of programming on my graphing calculator (first a TI-81, then a TI-85, then a TI-89). I was impressed how people could create fairly complex games on such a little device.

I had a study hall in middle school and spent most of the time programming a text-based adventure game. I also created a stock-market simulator that my brother and I used to make the game Monopoly more interesting.

After that, I got a bit into web design (HTML) as the webmaster for a group of friends from an online game I played called Ultima Online.

I didn’t get into “real programming” until college, but there was enough dabbling in middle and high school to get me hooked.

What about education, was it related to computing, did you learn in a traditional way or something else? What kind of degree do you have?

I knew I wanted to be involved in both sides and had multiple times that I debated leaving engineering school to focus on business.

In the end, I got my Bachelor’s degree in Computer Engineering (with a split focus on hardware and software) from the University of Wisconsin and I later went on to get my MBA.

I learned quite a bit of coding from my degree but the biggest growth has come from personal exploration outside my formal education. I’ve used some great resources to learn Ruby, Rails, HTML, Javascript:

Learn Ruby The Hard Way
Rails Tutorial
Treehouse (*affiliate link)

Career

When did you start to work? Was it in your field? How was it?

My first job out of school was in “Design Verification and Validation” (essentially Quality Assurance) for medical devices. Our team’s job was to test both software and hardware for anesthesia machines – machines that deliver anesthetic agent and breathe for patients during surgery.

I learned a ton about good testing practices, which then teaches you a lot about good development practices. In addition, I did get to develop some test tools, putting my programming skills to use.

Over the years, I grew into leadership roles and eventually managed a team of engineers in system design – essentially designing how the machine worked and interfacing with mechanical, electrical, and software engineers to bring those designs to life.

What are your experiences about the industry?

I loved the impact of what we worked on. We were quite literally helping keep people alive. One of my daughters has even been supported through surgery on the devices we created.

I did find that, because I wasn’t in a software development job, I missed the chance to write code. I spent much of my time in meetings and mentoring team members, but had a technical itch I needed to scratch 🙂

I did the best I could there through coding on the side, but there’s only so much you can do in the few hours between when the kids go to bed and you need to sleep yourself.

Coders of Finance - MacBook

Finances

What is your current financial situation/ are your current financial goals?

We’re currently debt free and in the middle of a mini-retirement, spending time with my wife and kids and working on our blog and app. We are living off the equity from the sale of our house, but have a fair amount of money in 401k accounts that are still growing 🙂

While being “mini-retired”, we’re currently a zero-income household, but I’m working on changing that with my app, some freelance work, and a new project I’m starting with Grant from Millennial Money.

Longer-term, we are working toward both location independence and financial independence so we can have as much flexibility in lives as possible.

Tell us about your journey so far?

I’m naturally a saver, my wife is more naturally a spender. Over the years, we found ourselves unable to achieve anything big financially (travel, etc) because we weren’t aligned on our dreams. Once we started to develop shared dreams of the life we wanted, we were able to change our day-to-day habits to make those dreams come true.

When we had a mortgage, we were aggressively paying it off through a combination of refinancing and prepayments. We’ve always been diligent savers for retirement, putting away 12-17% of our pay every year in our retirement accounts.

With our financial discipline, we were able to use the equity we’d built up in our house to fund my mini-retirement, spending precious time with our kids while they are still young. I get a chance to volunteer in their classroom, walk them to and from school, and enjoy leisurely coffee time with my wife every morning.

How did your profession affect your finances (directly, indirectly)?

Because of my degree, I have always made a decent living. The pay was good, so it was really up to us to put that money to good use.

In addition, my day job helped me become fairly proficient with spreadsheets, which are incredibly useful when figuring out finances. I used spreadsheets to drive our decision to refinance our mortgage and even to decide that it was ok to take a mini-retirement.

Opinions

Did you regret becoming a coder? What would you change?

Not at all! I do really enjoy coding and bringing something to life on the screen. The only thing I can think that I’d change from early on is to have spent less time playing games and more time writing code. I’d be a lot further along if I hadn’t spent so much time on gaming!

Would you recommend starters/career shifters to step on this path?

Absolutely, but don’t feel like you *have* to get a 4-year degree. There are lots of great ways to learn to code. I’m a fan of Treehouse in particular, but you can find tutorials and examples for just about anything if you just google it.

Tips for beginners?

If something you’re trying doesn’t work and you can’t figure out why, go back to the fundamentals. Start with the most basic of assumptions and check if they’re true. You’d be amazed how many bugs are caused by simple, small errors.

Coders of Finance - Thrifty

Goals

Please tell us about the story behind Thrifty, your SaaS project.

I used to track all my spending in a spreadsheet but my wife hates spreadsheets. We wanted to be better about our finances together, but I never loved the automated tracking tools out there. I just think there’s something important about being in touch with every transaction you make and automated tools take that away.

I had been looking for a coding project to scratch my technical itch while working in my day job, so I started developing Thrifty in the spring of 2015. By August 2015, I had a good functioning version and we started using it to track our expenses. I decided to publish it free to the world in January of 2016.

Since then, I’ve added a bunch of features – expanding the tracking to include income, taxes, and savings and including lots of customization options and analysis.

What are your short-term and long-term goals with it?

I’ve recently flipped the switch on having Thrifty be a paid subscription with a free trial period. Short-term, I’m hoping to get a *bit* better at my sales/promotion skills so I can at least make enough to cover my hosting fees 🙂

Long-term, I’ve got a feature list that could take me years to complete, including developing iOS and Android apps. Depending on where the mini-retirement takes me and how well it does financially, I could happily work on Thrifty for years to come as a full-time gig.

Preferences

We coders have our eternal debates, let us know which side do you stand?

Favorite…

  • Desktop OS: Mac OS (currently on High Sierra); In essence, it’s a really pretty version of Linux the way I use it. I’m pretty much in the browser, command line, and a simple editor (Atom) when I work (both for my blog and app).
  • Mobile OS: Android. I like to have control over my technology and I do quite a bit of digging into settings, etc on my phone 🙂
  • Machine: I use a refurbished 13-inch MacBook Air from 2011 that I bought last year. It does everything I need.
  • Browser: I was on the Chrome bandwagon pretty early and haven’t yet found a compelling reason to change
  • Programming language: Ruby. Semantically simple and intuitive. I spent a lot of time writing C and C++ early in my career and can’t imagine going back!
  • And the most important… spaces or tabs: I use tabs, but my editor (Atom) translates them back to spaces (2) for me. Not sure where that leaves me 🙂

Coding exercise

Would you write a couple of lines of code to present a simple financial principle?

Here’s a function (in Ruby) to calculate the monthly payment on a mortgage with a given starting principal, rate, and the number of periods.

For rate and nper, make sure these are in months. As an example, a 30-year 6.625% APY mortgage would be a rate of 6.625% / 12 and nper of 30 * 12.

```ruby
def payment(starting_principal, rate, nper)
  raw_payment = starting_principal * (rate * ((1 + rate)**nper) / ((1 + rate)**nper - 1))
  raw_payment.round(2)
end

prin = 175900
rt = 0.06625 / 12
np = 360

puts "$#{payment(prin, rt, np)}"

# > $1126.31
```

Epilogue

Thank you, Chris, for the answers. There was a lot of new information and all of them just increased my respect towards you. I could only imagine how glad you could have been when the machine you have created helped your daughter breathing. Kudos.

Hope you enjoyed this episode, please check out Chris’ blog and try his app, Thrifty. I can tell that it is awesome, I know this from experience. See you in two weeks, I will bring you another popular coder-blogger, so stay tuned.

7 thoughts on “Coders of Finance – KeepThrifty

  1. This post really takes me back. I know that what I am about to spout does not really amount to much in the larger scheme of coding, but this post took me back. I got a commodore 64 at age 12 and programmed vast ‘choose your own adventure’ programs in BASIC. It would take 20 minutes to load up from the tape cassette player. I played Ultima IV way too much(no online yet). In college I used the ‘view source’ buttons to teach myself HTML. I made websites back when that was the wild west, 1994 or so. It looks like I could have made it in IT if I had made a serious pivot towards computers and away from Philosophy. But here I am, another useless lawyer. Thanks for letting me throw my 2 cents in.

    1. Maybe you do not end up as a professional programmer but for me anyone who ever wrote a program in BASIC on a c64 counts as a coder in soul. Especially a ‘choose your own adventure’ type of game, I loved them and think of it as one of the nerdiest things. Also, it seems you have the foundations so the choice is yours. 😉 Thanks for reading!

  2. Great post! I’m looking forward to future interviews. I feel like I lived my childhood as luddite. For fun e played soccer and hit each other with sticks. We had an Atari but you couldn’t program it. I’m slightly older and computers weren’t really commonplace until I was almost done with high school ( I took a typing class in high school and we used typewriters!) I’m teaching myself coding now. I wish I had an introduction to programming earlier in my life, maybe the learning curve wouldn’t be so steep. Keep up the good work!

    1. Thanks, Matt. Mud, rocks, and sticks are the best toys and are ageless, we had our shares of fighting with them too (yes, even coders did that 🙂 ). Ataris were great for gaming. My mother had a typewriter at home so later when I learned to write used it a lot just for fun. There is never too late to get into coding and it will be more and more in demand if you ever consider a career change. They say that the most effective way if you enroll into a bootcamp, where you are participating in a team and you are working on real-life projects. I regret that we did not have this option back then when I finished high school, I could be muc further both professionally and financially 🙂 Thanks for reading.

  3. We definitely need one 🙂 I hear you on this last sentence, same for me, there are so many interesting technologies and passion projects we could follow, but there should be some food on the table first 🙂
    Chris is a talented guy indeed, I keep an eye on his transition also from a full-time employee through mini-retirement into an entrepreneur. I know he makes it… fingers crossed.

Comments are closed.

Comments are closed.