Software. Finance. Entrepreneurship.
<<< Back to All Articles

2019 - My Year in Review

Feb 3, 2020 | 13 minute read | @charlieinthe6

After leaving my career as an investment banker to learn software development (in early 2017), I've worked as a software developer at Tulip Retail, a Tech and Product Lead at RBC Ventures, and founded a company called Clientelify.

Below I go through why I left my previous career to pursue software development, what I spent 2019 doing (jobs, failures, and successes), and my plan for 2020.

Why I Quit Investment Banking

Banking was everything I was promised it would be; it was full of long nights, tight deadlines, and amazing learning opportunities. Despite this, I decided to quit investment banking early in 2017 for the following reasons:

  • I wanted to understand how 99% of the things running my life worked (Bloomberg, Excel, Gmail, Facebook, etc.)
  • I wanted to build a web application that could generate personalized investment banking / consulting style pitchbooks, and I couldn't find a developer that knew how
  • I feel at peace when I'm creating things, writing logic, and solving problems; I was no longer satisfied with the capital markets / M&A models I was building
  • Working 100 hour weeks blows

If I could do it all again, I think I would still work as an investment banker for a couple years after university. The job gives you incredibly strong analytical skills, presentation skills, and work ethic. I would also, however, then quit to learn software development (sorry not sorry).

Jobs in 2019

1: Tulip Retail

I worked at Tulip Retail as a back-end software developer from February 2018 to February 2019. Tulip was my first official job as a software developer after I quit investment banking (I spent a year learning to code and working on various software projects before joining Tulip).

While I was there, I was part of a great team with two great bosses; they taught me that real leadership isn't about management or giving orders. Real leadership is about empowering and supporting fellow team members (with mentorship, information, autonomy, and resources) in an environment with a high level of psychological safety (to encourage sharing, discussing, and overcoming problems).

I spent most of my time at Tulip upgrading and augmenting Kate Spade’s back-end codebase / APIs. The coolest feature I built and implemented while I was there was the first version of a new customer filter. It was roughly 4 orders of magnitude faster than the previous version (it took a couple seconds to filter over 10MM customers across numerous data-points).

I'll always have a soft spot in my heart for Tulip, and I'm forever indebted to them for giving me my first job in tech! ❤️

2: RBC Ventures

I worked at RBC Ventures as a hybrid tech and product lead from February 2019 to September 2019. The job was 50% writing code and 50% product (with a little design). I started my job there on a 3-month contract (I had been wanting to move into contract work for greater flexibility and variety). At the end of the contract, I was offered (and accepted) a full-time role.

I don't think I'm allowed to discuss the minutiae of what I worked on while I was there, so here are the obscured details:

  • Created a FinTech application (currently going through internal iterations and approvals)
  • Helped transition a mobile app acquisition with +1MM users
  • Worked on various projects within RBC Ventures and the RBC Ventures accelerator

After 7 months at RBC Ventures, I left for moral and professional reasons.

3: Clientelify

After leaving RBC, I founded Clientelify, a text message reminder and online booking application for dentists, massage therapists, doctors, and other professional service providers.

Clientelify Screenshot

For the last 3.5 months I've worked on Clientelify full time - with the help of 7 part time team members. Most of my time has been divided between planning product features, designing the interface, writing the code for the application, and talking to customers / potential customers. I'm currently writing code and working with early customers to get the online booking functionality nailed down (the final core feature).

It's still very early days, but I'm hopeful it will continue shaping up to be a user-friendly, high-impact product in a market with few plug-and-play solutions.

Failures in 2019

1: MarketSnitch

For a couple months I worked on MarketSnitch, a subscription FinTech product for US-listed stocks.

MarketSnitch contained algorithms to grade stocks by value, growth, risk, and overall attractiveness (to make factors driving stock price clear to green investors). You could filter stocks by these grades (and other criteria), or view the stock in more detail on the stock's dashboard:

MarketSnitch SalesForce Dashboard

The dashboard contained lots of information, including financial metrics, comparable companies (and metrics), recent news, etc:

MarketSnitch SalesForce Dashboard

Users also received a daily email with updates on the stocks they followed.

MarketSnitch was my first (barely) profitable SaaS product. Despite this, I shut it down due to increasing financial data prices (from $0 to $500 / month) and poor demand:

  • Most experienced investors I talked to already had access to a similar product (through their job)
  • Most new investors I talked to didn't want to reference any analysis before picking a stock to invest in (they invested in companies / industries they liked with little regard for value, growth, or risk)

I think there continues to be a huge need for a product like MarketSnitch to exist (to help new investors understand what drives the price of stocks they invest in), but the most logical place for it is probably inside of a self-directed investing / trading application like Questrade (Questrade, if you're reading this, I have a sweet application for you 😉).

2: Black Swan Sales

I started building, and after ~1 month gave up on, a CRM product called Black Swan Sales.

The idea was to create a CRM application with gamification for sales activity built in (so you could always see how your weekly activity and conversion rates ranked relative to other sales reps on your team).

I stopped working on it after realizing that a CRM app is a very big problem for one part time person to tackle (and I didn't feel like quitting my job or teaming up to produce an MVP). Further, the CRM market, while massive, is a very crowded space with a swathe of freemium solutions (like HubSpot CRM).

I still like the idea of a CRM app with heavy gamification for anyone that is willing to either (a) release an app with a very limited feature set, or (b) spend the time / money to overcome the hurdles that come with developing a fully featured CRM app.

Don't get me started about email servers and deliverability though...

3: Failed CFA Level 3 Exam

Due to a heavy workload at work (and, to be honest, a non-zero procrastination factor), I put off studying for the CFA Level 3 exam until less than 2 weeks before the exam date.

I did not pass.

I'm planning to take a year off before writing the CFA level 3 exam again in 2021. I think passing this bad boy will require more than 2 weeks of studying and at least one practice exam beforehand...

Successes in 2019

1: Read ~4,000 Pages of Technical Software Development Books

Since I came from a non-traditional background for someone who writes code, I've always had a chip on my shoulder pertaining to my technical education. This year I compensated for that by reading a lot of technical software development books - roughly 4,000 pages worth.

My favourites were:

  • Web Development with Node and Express (Brown)
  • Eloquent JavaScript (Haverbeke)
  • Eloquent Ruby (Olson)
  • Ruby Under a Microscope (Shaughnessy)
  • Terraform Up & Running (Brikman)
  • Practical Object-Oriented Design in Ruby (Metz)
  • The Pragmatic Programmer (Hunt & Thomas)
  • Getting Real (37 Signals)
  • Unix and Linux (Ray & Ray)

2: Published Articles in Online Tech Publications

I always thought it would be cool to write an article that was featured in a relevant publication. This year I published articles in a few publications, most notably Hackernoon and Marketing and Growth Hacking.

Check out two of the articles below:

3: Started a Podcast for Technical Entrepreneurs

Tom Zaragoza and I started a very conversational podcast on being a technical entrepreneur (i.e. a maker). It's called The DEVpreneur (developer + entrepreneur), and it's available on YouTube + all the popular podcasting platforms.

I'm not sure this is an achievement, but it's definitely a fun, nerdy hobby that I'm glad we picked up.

We host the podcast files and RSS feed ourselves, and we recently released episode 23 - check it out!

4: Pet Wild Nurse Sharks

This happened (recently) on my vacation over the Christmas holidays. It was amazing. They like nose rubs.

Nurse shark in Exuma Park

Also not sure if this is an achievement... but it was really cool and I want to brag about it. Shout out to my sister for being the first person in my family crazy enough to try this while swimming with one.

5: Featured in Betalist as #1 Voted Startup in October 2019

If you voted for Clientelify on Betalist, thanks for the support!

6: Created 2 Open Source Rails Engines with 5,000 Downloads

Note: skip ahead to My Plans for 2020 if you are not technical. The below section is very geeky; if you are not technical, it will put you to sleep.

Why I created 2 open source rails engines:

I personally believe that for a basic SaaS application, you should only have to write business logic / code. You shouldn't have to write any boilerplate authentication, infrastructure provisioning / deployment, administration, blogging, subscription charging, etc. code.

Since I use rails for my personal projects, there are a handful of open source projects (like Devise) that take care of authentication, administration, or blogging functionality for you. There are not, however, a great selection of open source projects for things like infrastructure provisioning / deployment.

terra_boi:

I created terra_boi because I was tired of manually provisioning (AWS) infrastructure and creating deployment processes for similar applications.

terra_boi gets rails applications deployed into staging and production as quickly and easily as possible. It contains generators that create infrastructure code for load balancing / auto scaling / zero-downtime deployments, (rails) web apps (EC2 instances), DBs, and S3 buckets. It is built on top of terraform and packer, so it can be heavily customized for obscure infrastructure / deployment requirements.

It is still very much a work in progress with things constantly changing, but I've been reliably using it for a couple months now.

terra_boi was downloaded ~3,500 times in 2019.

blog_boi:

blog_boi was created because I am picky and I didn't like how existing rails blog engines were built. I wanted something minimal and easy to setup / use / customize. With blog_boi, it's easy to add blogging functionality to a rails project.

Much like terra_boi, blog_boi is a rough draft at best. I've been reliably using it for a month or two now.

blog_boi was downloaded ~1,600 times in 2019.

My Plans for 2020

1: Go Back to Work and Work on Clientelify as a Side Project

I've thought about it a lot, and I'm going to start looking for software development or product management work while I continue working on Clientelify in my free time. This is for the following reasons:

  • I don't want to slowly draw my savings down to zero
  • I don't want to raise VC funds due to misaligned incentives: I want to help small businesses and maximize my chances of running a profitable company with sales of $1MM / year. I don't want to have a 5-10% shot at a (potentially unprofitable) company with sales of $100MM / year
  • I want to maintain my ownership position
  • Candidly, I find working mostly alone very lonely

Shockingly, research suggests part time founders are MORE likely to succeed than full time founders, not less. This is in direct contrast to the romantic notion of the obsessive, courageous, risk seeking entrepreneur. However, it makes sense that low risk businesses (i.e. businesses less likely to fail) would be more likely to be started by people with low risk thresholds, doesn't it?

Note: this aforementioned research doesn't suggest that VC funded companies with risk seeking, full time founders have worse returns on average. Just that these companies are less likely to be profitable long term. The right path as a founder (VC vs bootstrapping and part time vs full time) simply depends on what you are optimizing for (expected value vs success rate).

2: Help Friends & Connections Start / Grow Their Businesses (Pro Bono)

I've been helped by lots of friends / connections on my programming and entrepreneurship journey to date, and I'd like to start paying that help forward.

I haven't decided what this will look like yet - it may be more open source projects, guidance / consulting, or something else entirely!

3: Complete YC Startup School

Startup School is a free 8-week online course offered by Y Combinator that encourages rapid product iteration / launches.

It starts on January 20, 2020; I'll be completing it with Clientelify. You can sign up for Startup School here!

4: Stream Creation of Startup in 24 Hours

I'd like to create and launch a SaaS product / startup (complete with authentication, billing, and a useful niche feature) in 24 hours. I'm going to stream the whole process on Twitch (or another streaming platform).

The technical slight of hand I plan to employ to make this possible is open source rails engines. Rails engines contain pre-written code / functionality, and they require minimal work to set up / integrate. I plan to use the ruby gems / rails engines I mentioned above, terra_boi and blog_boi, as well as a couple that don't exist yet.

The idea is to completely avoid writing any boilerplate code, so I can spend 24 hours writing domain-specific code.

5: Launch Clientelify on ProductHunt

This one is pretty self explanatory. I'm hoping to do it in February or March 2020.

I'd love for Clientelify to be voted product of the day!

If You Read This Far...

Thank you for reading about how I spent my year and my plans for 2020! Although I continue to be as unsure as ever about what lies ahead, each passing year I get a little closer to who I want to be and what I want to spend my time working on.

If you are someone who dreams about quitting their job to learn something new or to start a company, I hope this article gives you the inspiration and courage to do so!

"You cannot swim for new horizons until you have courage to lose sight of the shore." - William Faulkner

P.S. If you know a team that is looking to hire a developer / product manager, want to catch up, or want to chat over a coffee about any of the topics mentioned above, please don't hesitate to give me a shout!

Charlie's Newsletter

Stay in the loop! Receive articles, podcast episodes, and project updates a couple times a month.