Luckiest Dev in the World

Hello world! This post is being written as a part of DjangoCon US’s virtual co-writing sessions. If you’re interested in co-writing sessions, check out this blog post by Jacob Kaplan-Moss.

I’ve been trying to find a way to go through my history as a developer; I’ve struggled with knowing what to say. This iteration focuses on the occasions in my life when I benefited from luck12. I’m unsure how long this will take, so let’s find out together!

Access to a computer early on in my life.

My mother worked an office job and had some technical skills. She taught me how to launch a few games in DOS, connect to the internet by swapping our phone lines, and install applications on various floppy disks. It was all very impressive to a six-year-old.

My family encouraged me in whatever I wanted to try

I remember one year my parents let me play tackle football in the spring, baseball in the summer, soccer in the fall, and basketball in the winter. My dad was thankful I gave up soccer. My mom was thankful I gave up football.

Having extremely patient teachers

I was not the greatest student to have in class. I wanted to have the best grade in class and I took incorrect answers fairly personally. At the time there was very little empathy on my part. If I was expected to be perfect, I expected all adults to be perfect. I would debate with my teachers on how the pairing of the question and my answer was indeed correct. Many times it worked. A few times the teacher asked me to raise my issues after class. None of them discouraged me. A few of them even encouraged me, telling me that the challenge I presented in class was enjoyable.

My parents took out personal loans to help me through college

My family was situated directly in the middle class when I was nearing the end of high school. My dad worked 13 out of 14 days for over a decade. My mom was capped at her office job due to her lack of a college degree. I also have two brothers who are near me in age. Faced with the disparity between my brother’s grades and mine, my parents had to figure out how to handle college. They could afford to help with community college, but not a four-year university. They decided that if someone decided to go to an expensive college, say a small private, engineering school in downtown Milwaukee, they would help acquire loans, but the child would be responsible to pay them back.

So my parents took out nearly $80,000 in loans at ~8% interest for me to pay off later.

A massive amount of scholarship money I received

Milwaukee School of Engineering is not cheap to attend. At the time I was there, it was about $32,000 per year. Thankfully I was able to acquire $10,000-$15,000 per year in scholarships. One of them I was told about the day before the application window closed my junior year. Lucky.

My advisor placed me in the wrong major

This one might be the biggest piece of luck working in my favor. When I went to school I planned on joining the MIS program from the business school. However, the advisor I was assigned to put me in the Computer Engineering program when I met him in the spring. I didn’t notice the change until just before classes began. But by that time it felt too late to change and I decided to go with it.

That intersection of my life may have been one of the most critical for me. It put me in the major which would later provide the opportunity for me to date my future wife. It put me in a position to get an internship which significantly accelerated my technical skills and emotional intelligence.

This is what I look to when I think to myself, “Everything will turn out alright.”

Towards the end of my freshman year, an older student offered to recommend me for an internship. We didn’t know each other well and he was partially influenced by the $2,500 referral bonus, but he recommended me nonetheless. This internship at Direct Supply taught me a ton about software projects, programming, business politics, and management. The education I got at Direct Supply was nearly as useful as the education I received from MSOE.

Having good leaders, teammates, and influences in my internship

Honestly, I cost that company money the first 18 months I was there. I like to think I paid them back the next 18 months and then some. Regardless, during that time I had some great bosses who wanted to see me improve. They treated me as another employee despite being a literal kid. I was assigned to projects and expected to deliver results, provide opinions, and defend those opinions.

My friend going to graduate school in Colorado

One of my close friends decided to go to grad school in Colorado (we were previously in Wisconsin). When I found out that the girl I was interested in was going to school in a nearby city to him I asked if he’d like a roommate for the next year. Eventually, that woman agreed to marry me. Frankly, I wouldn’t have had the confidence to move across the country if I didn’t have him there. Luckily he did and it gave me a great opportunity.

Picking Django over Rails

When I quit my job to move to Colorado and start my business, I knew I wanted to use something new. I had a fair amount of experience in the .NET world, but I had little understanding of hosting and deployment. Instead, I wanted something cheap and open-source. Ruby on Rail was amid its peak, so it was a good choice. At the time, I saw Django as “the alternative”. I really wanted to like Rails. There were so many jobs and people using it! However, after a sample project, I felt like I could more easily understand Django and decided to invest in it. There was no second-guessing or switching back and forth. It was a full investment into a framework based on maybe four hours of toying around.

That headstrong decision turned out to pay extreme dividends later on. This community has supported and encouraged me. I rarely come across people who lambaste me about my opinions or experiences. It’s led to me wanting to give back for everything I’ve received so far.

First business failing and not falling into financial ruin

Let me be honest. I don’t think I was ever in real danger of falling into financial ruin. I had a technical education, a good work ethic, and an emotionally supportive family. You can live a great life with those characteristics.

That said, I started this business with $80,000 in debt ($60,000 at ~8% interest) and $30,000 in savings. Looking at those numbers today, it was an asinine move. But I was excited about starting my own business, living someplace new, and the prospect of a real relationship.

Obviously, the business failed. I realized that after 6 months when I had $15,000 in the bank, zero clients, and developing health defects from cold-calling clients I needed to pivot. Luckily I was able to find a few clients who were willing to pay me enough money to do Django work to pay my bills and stop my financial bleeding.

Finding Brian as my first Django client

My first major Django client was to build an app called Giftovus. It was a social gift-giving application. It provided me the opportunity to take everything I learned from Direct Supply about product management, project management, and Django and then apply it in a fast-paced, iterative environment. I made a lot of mistakes, but I learned a ton. And since I had a client, I was held accountable to improve. I also got paid. Though it was only $11 per hour.

Brian over time became my friend rather than a client. He came to my wedding and still talks with me today about the projects he’s working on. He’s a great sounding board for me regarding product management and navigating people. He’s a great resource to have when I need him.

How lucky am I that I found his job ad on Craigslist?

Being encouraged by Aymeric to maintain the Django Debug Toolbar

When I was transitioning to contract work, I was desperate to find better-paying jobs. I saw some advice on the internet to get into the top 5% of Stack Overflow answers and to contribute regularly to a project. After reading Django’s contributing guide, I opted to find something a bit smaller. I settled on the Django Debug Toolbar.

After a couple months, Aymeric emailed me asking if I would be interested in taking on more responsibility for maintaining the project. I expressed my extreme hesitancy and self-doubt if I would be able to do it. He responded with, “Only one way to find out.”

In the end, I wasn’t entirely ready. My need to make money outweighed my desire to invest in the community and the project. I was able to put in a few good months but then disappeared for several years. It’s all very public on the GitHub contribution history.

Luckily for me, it all seems to have benefited me in the long run. The toolbar never went unmaintained, I gained valuable experience and had a better understanding of what it means to maintain a project.

Not being ostracized for failing to follow through

I harbor a decent amount of shame about agreeing to help maintain the library and then disappearing. I have never hidden from that fact and have told others when I talk about the toolbar, but I’ve never proactively announced it. I am supremely lucky though that this community is understanding and supportive. Even when I tell people today, there seems to be a measure of “yeah, that’s understandable” in their responses. That support has allowed me to come back and tangibly give back to the community. And obviously to also better and improve myself.

My wife works in college athletics

My wife’s job is extremely stressful. When she was getting into the industry it was borderline hellish. The one aspect that I personally enjoyed was that every 12-18 months we would move to someplace new. I am enamored by the idea of being a nomad and experiencing the world. I loved the moves (but hated the moving) we’d make. It let me explore the Northeastern United States. I got to walk around Manhattan in every season at all times of the day, multiple times. I was able to see my country’s history in Philadelphia, Washington D.C., Boston, Salem, Gettysburg, the Delaware Crossing, and Valley Forge.

Finding AspirEDU as a client

The majority of my clients I found via Craigslist. However, a few I found across different channels. The luckiest one was AspirEDU who I ended up contracting with for eight years and have been employed full-time for two. I came across one of their job posts looking for a Django developer. The gotcha was that it was about a year old. I reached out regardless and it turns out that while they did find one person, they had developed the need for another person since then. A short interview later, I was committing changes for them and away we went.

This brings me up to recent years. It’s difficult to know what is going to be considered good luck and what is not without having the benefit of hindsight. Regardless, any success I’ve had in my life has been influenced by a number of strokes of good luck. So if you find yourself amongst the group above, thank you for everything you’ve done for me, it means a lot. I hope I can pay it forward as you have.

  1. There’s another word to describe what I’m calling luck. 

  2. I modeled this post after the 30 For 30 documentary on Bill Walton, “The Luckiest Guy in the World”