DEV Community

Stephan Miller
Stephan Miller

Posted on • Originally published at stephanmiller.com on

How I Keep Myself Interested in Coding

Image description
I think the key to staying interested in programming is constantly trying something new with technology. But something new was not enough for me. I needed more motivation to do it. So I would find something else I loved and build a tool for it in that new technology.

When Programming Was My “Hobby”

The first software I developed helped me find markets on eBay and gave me a list of popular keywords to use in the title. I was an eBay seller at the time and needed the tool, so I learned to code and built it in VB6, which was still popular then. I also sold it as shareware.

Talk about motivation. The bug had bitten me. It really felt like magic. The software did so much with a few lines of code, and people were paying me for copies of it. I worked on even more software on the side and eventually was making more doing that than at my day job.

My First Programming Job

My manager at my day job found out I wrote software and they had an opening in the office. I thought it was great. And it was for a while.

But then I stopped coding so much after work. I was writing the same PHP code at work that I was writing at home. I was tired of doing the same thing all day long.

How I Stayed Motivated to Learn and Preventing Burnout

I enjoyed writing the code for my job, but nothing was my idea and all the software was legacy. The motivation for the work was money, but that was about all.

But I wanted to learn new things. It came down to finding the intersection of something new I wanted to learn and something else I was interested in. The combination of the two sparked motivation.

Here are a few things I have built to learn new technologies. None of these are toy applications. All but the notebook app made me side money, but I use that app today, 6 years later.

An Affiliate Url Shortener in Python

After a few months at that first programming job, I had to do something new. I had heard a lot about Python. It seemed to be more powerful than PHP. And I was still doing affiliate marketing on the side.

So I built an url shortener and tracking platform for my affiliate links. It really helped increase sales with my affiliate side business by giving me more details about visitors.

And shortly after that, I used what I learned to build an ERP system in Python at my day job.

A Notebook App in Electron

I was still mainly a PHP developer when JavaScript frontend frameworks like React and Angular first got popular. I wanted to learn one, but I didn’t want to build a toy app.

I also write. I wanted software that would work the same quick way a physical notebook worked where all you had to do is write and not worry about details like filenames and saving.

So I built an app just to do that with Angular. I used Electron to make it a desktop app. I eventually got an Angular job. When I wanted to learn React, I refactored the app to use it. The current iteration I am still working on is in React Native so I can create web, desktop, iOS, and Android apps from the same codebase.

A Machine Learning Stock Trading Contest

I started reading a book on machine learning at first but I gave up when I found a stock market trading contest called Numerai. The book was dense and was barely about writing code at all. I messed around with the dataset for the contest by sending through a machine learning tool called H2O. I tweaked things and learned about the parameters I was setting.

By the end of the first night, I was in 8th place, high enough to win money. I entered the contest two more times after that and won money both times. And when the fraud detection job came up at work, I knew what to do.

A Distributed Cryptocurrency Trading Bot in Python

Another bonus of ranking in that stock market contest was the cryptocurrency I won. I sort of ignored it because I didn’t know what to do with it. Then a year passed and Bitcoin went to $20,000 and I decided I would figure it out.

So I figured out how to use crypto and started building a cryptocurrency bot. I learned how to use threads in Python and a lot about distributed software. My idea of setting this bot loose and not working another day never came true, but it sure had me motivated.

Blockchain Bounties in Golang

Golang was another language I heard of and wanted to learn. From what I could tell, the syntax was simple, but it was as fast as C. My cryptocurrency bot was already in Python and I didn’t want to rewrite it.

But I found out about cryptocurrency bounties at GitCoin. I could learn some Golang and make some crypto. And it worked out. I completed half a dozen bounties in Golang and learned a lot more about how blockchains worked.

Closing Thoughts

It is kind of our job to keep up with technology. But it can be hard. The grind at work could have you writing the same type of code over and over. It’s hard to not burnout, let alone learn the new best thing since sliced bread.

That is when you need to look for something to build that will motivate you. Forget the toy apps. I have never built one and you shouldn’t either. Build a tool for something else you do. Find a bounty in the tech you want to learn. Enter a contest even if you are new to the subject matter.

Top comments (0)