From English Major to SaaS Exit: What Self-Taught Programmer Chris Tung Teaches Aspiring Developers
Chris Tung went from changing background colors on his blog to selling his own SaaS product for five figures. He did this with an English degree, a full-time marketing career, and zero computer science background.
His win matters because he turned small, focused steps into real results. He built and sold a profitable SaaS product, then used that experience to launch more products alongside his career at Google.
This article breaks down Chris’s journey. Then we look at what broader data shows about self-taught developers in 2025, and how you make this path work.
Meet Chris Tung
Chris studied English at UC Davis. He built a career in marketing at startups like Quidsi and ComiXology before becoming a Marketing Manager at Google.
Code entered his life because he wanted to tweak his blog. His first exposure was HTML and CSS for blogging and customizing Neopets pages. He changed background colors, added modules, and realized he had control over what appeared on screen.
Today Chris runs Compound Choice, his umbrella company for products like Reporty (a Shopify-Slack bot he built and sold on MicroAcquire) and Coffee Chats (a no-code platform for coaches and mentors).
None of this required a CS degree. It required a deliberate way of learning and building.
How Chris Learned to Code
Chris picked a stack and stuck with it. Two resources did most of the work: Michael Hartl’s Ruby on Rails Tutorial (a practical book that walks you from zero knowledge to a working web app) and Stephen Grider’s Udemy courses (short video lessons under 20 minutes each).
He followed a simple loop: follow the tutorial, adapt the pattern to his own idea, hit a wall, use Google and Stack Overflow to unblock himself, and repeat until something useful existed.
This cycle rewired his brain to think like an engineer. It happened with a day job, no tuition bill, and no formal CS courses.
From Internal Tool to Real Revenue
Chris’s first product came from his day job. In 2017, he joined a hardware startup using Shopify. The team lived in Slack. He needed a way to pipe new Shopify order details into a Slack channel.
Apps existed for Shopify-Slack, but none worked exactly how his team needed. Instead of staying annoyed, he treated that problem as a spec. Over Christmas 2018, he built Reporty.
Reporty was the first app Chris built on his own. When he shared it on Reddit, he got one user. That user found a bug in the install process. Chris fixed it and kept emailing until it worked.
He repeated a simple pattern: share Reporty on Reddit and Indie Hackers, watch how merchants used it, fix bugs and add features, share again.
No elaborate growth hacks. No ad campaigns. Just word of mouth and steady polish.
Reporty grew to 3,000 USD in annual recurring revenue. Not quit-your-job money. But real validation. People paid every month for software he wrote.
Selling Reporty
Chris had already co-founded and sold Threadbase (a Reddit-style site builder) on Flippa. That taught him generic marketplaces take painful cuts.
When the pandemic hit in 2020, he wanted to focus on Coffee Chats. He tested whether anyone would buy Reporty. He used MicroAcquire (now Acquire.com), a marketplace for small, profitable SaaS businesses.
The experience beat Flippa. The listing was easy to create. The buyer pool was targeted. People understood small SaaS and wanted acquisitions.
After several conversations, Chris found a buyer who combined engineering skills with founder mindset. They agreed on terms. He sold Reporty for a five-figure sum.
For someone who learned from a Rails book and Udemy, that check proved self-taught skills create real asset value.
Chris’s Playbook
Chris compresses his advice into core principles.
Change your mindset. Coding is not talent reserved for an elite. It’s a skill anyone trains if they approach it right. Think of programming like the gym. If you’ve never lifted, you don’t start by trying to bench 500 lbs. If you’ve never coded, you don’t start by trying to clone Uber.
Start absurdly small and rack up little wins. Chris’s journey started with changing a background color on his blog, then adding modules, then building custom layouts. Each tiny customization gave him control, built confidence, and created momentum for the next step.
Combine structured learning with problem-solving. Chris used Hartl’s Rails book to get from zero to a full app. Short Udemy videos built daily progress. Search engines and Stack Overflow solved real blockers tutorials didn’t cover.
Build products for problems you understand. When you build for your own workflow, you always have one guaranteed customer (you). You understand what good enough looks like. You know immediately if the product helps.
Chris took deep knowledge of ecommerce and internal tooling from marketing and turned it into Shopify and career-development products.
What the Data Says
Is Chris an outlier? Several surveys show self-directed learning is now the norm in software.
The 2024 Stack Overflow data shows 66% of developers hold a bachelor’s or master’s degree, but only 49% say they learned to code in school. More than half leaned heavily on self-learning.
Online tutorials, videos, blogs, and forums are the most popular learning tools, used by over 80% of developers.
Around 13% of professional developers are entirely self-taught with no related formal education. Many more are partially self-taught on top of other degrees.
A CodinGame survey found 32% of HR professionals hired a self-taught developer, and 43% of developers taught themselves to code.
The U.S. Bureau of Labor Statistics projected a 22% increase in software developer roles between 2020 and 2030, far faster than average for all occupations.
The picture is clear. Most working developers rely heavily on self-directed learning. A meaningful minority break in with little or no formal CS education. Companies routinely hire self-taught developers when those people demonstrate skills and deliver value.
Other Self-Taught Journeys
Chris’s story sits alongside dozens with similar themes.
Anupam waited tables while finishing a biology degree, taught himself Python through free MOOCs, competed on Kaggle, and moved into a senior machine learning engineer role.
Jessica started with free HTML/CSS courses, then JavaScript and React tutorials. She used her design eye to craft standout portfolio projects and became a full-stack engineer at a major tech company.
Raul, laid off from a manufacturing job at 40, used freeCodeCamp in 3-4 hour nightly sessions, live-streamed his learning, contributed to an open-source Node.js library, and turned that into a back-end role and then a remote engineering job.
Anzelika left a soul-crushing call center role in Switzerland, lived frugally off savings for six months, learned web dev through Colt Steele’s bootcamp and YouTube, then pitched herself as an intern to a Zurich startup needing Vue/Vuetify. They hired her on an 80% contract despite no degree or German skills.
Arvind from India struggled with imposter syndrome and tutorial hell after dropping out of college. He escaped by cloning simple sites, taking a WordPress intern role at a startup, then growing into a senior full-stack engineer leading junior devs.
Travis spent a decade in low-wage jobs, discovered CSS tweaks while customizing a blog, joined and dropped out of a bootcamp halfway through, freelanced in WordPress, moved into a full-time software role, then site reliability engineering, then became a developer relations engineer.
Dylan Cole was furloughed from a low-pay music-touring job in 2020. He used freeCodeCamp and Udemy to learn web dev, did tiny freelance projects, landed a web-dev job, then a better remote role at a startup. He quadrupled his salary.
Despite wildly different backgrounds, they converge on the same habits.
Common Threads
These stories almost never happen in weeks. They measure in months and years of consistent effort, frequent rejection, and periods of doubt.
Many self-taught devs described dozens of failed applications before the first yes. Dylan only saw his big win after multiple setbacks. Chris shipped products that made barely any money before landing on Reporty and Coffee Chats.
The people who break through choose a clear learning path and stick with it. Chris with Hartl’s Rails tutorial plus focused Udemy courses. Many others followed a bootcamp, a specific online track, or a challenge like 100DaysCode.
Every successful self-taught developer stops learning and starts shipping artifacts. Chris built multiple apps and iterated in public. Raul’s open-source contributions to a Node.js library caught employer eyes. The freeCodeCamp success stories feature concrete apps: local maps, social media tools, Android apps.
Very few of these wins came from blind applications alone. Developers leaned on meetups, hackathons, LinkedIn outreach, informational interviews, Reddit, and online communities.
These journeys prove you no longer need a six-figure degree to learn. freeCodeCamp, Codecademy, The Odin Project, Scrimba, Udemy sales, YouTube channels like Traversy Media and Net Ninja, and official docs show up repeatedly. One developer learned everything without spending a dime, relying entirely on free resources.
Self-taught devs lean on visible artifacts because they lack a CS transcript. GitHub histories full of projects and experiments. Technical blogs explaining concepts. Open-source contributions to show comfort with real codebases.
Many successful self-taught developers weaponize their non-technical past. A teacher turned tech lead uses classroom skills to mentor teams. A former restaurant worker designs polished, hospitality-inspired UX for food apps. A business or psychology graduate builds products addressing pain points in those domains.
Your off-track background is not a weakness. It’s a domain superpower once you write code.
The Hard Reality
Don’t romanticize the self-taught route. Most professional developers still have some higher education. About 83% have post-secondary education of some kind.
A Reddit breakdown of the 2024 Stack Overflow survey notes only around 1-2% of professional developers reported truly zero formal coding education. The fully self-taught, no-degree, no-course path is rare.
Degree holders, on average, still earn more and face fewer barriers at some large, traditional companies.
The ROI trade-offs are stark. CS degrees commonly require four-plus years and 80,000-200,000 USD in tuition and costs. Coding bootcamps run 10,000-20,000 USD but get you job-ready faster. A self-taught path costs almost nothing in cash but demands high self-discipline, time, and comfort with rejection.
Chris’s story shows self-teaching works. But only if you treat it with the seriousness of a full-time program, even doing it nights and weekends.
A Practical Roadmap
For readers wanting to follow a path like Chris’s, here’s a concrete roadmap blending his experience with patterns from other self-taught developers.
Reframe your identity. Stop asking if you’re smart enough. Ask if you’re willing to consistently do the work. Adopt Chris’s gym analogy. You’re not trying to bench 500 lbs on day one.
Pick a narrow stack and a flagship tutorial. Don’t try to learn everything. Pick one language plus ecosystem (JavaScript plus React, or Ruby on Rails, or Python plus Django). Pick one high-quality, battle-tested course or book as your backbone. Complete that curriculum before you jump to the next shiny thing.
Start with trivial projects and escalate. Embrace little wins. Change a background color. Clone a simple landing page. Rebuild a tiny part of a site you already use. Then build a small app solving a modest annoyance in your own life or work. Keep scope brutally small. Think one feature done well, not a full marketplace.
Turn your domain expertise into a product idea. Follow Chris’s playbook. List problems in your current or past jobs that annoyed you. Pick one where you are the user and you understand the workflow deeply. Design the simplest version of a tool making that task easier.
If you’re in cybersecurity, design a small internal dashboard. If you’re in support, build a better call log. If you’re in education, build a study-tracking tool.
Learn in public and seek feedback early. Don’t wait until your code is perfect. Put your project on GitHub from day one. Deploy early versions using low-friction hosting like Netlify, Vercel, Amplify, or Render. Share progress logs or dev diaries on a blog, Twitter, or LinkedIn. This makes it easier to later show employers or customers a visible trail of improvement.
Add a tiny income stream as soon as you do. Before you dream of quitting your job, take small freelance gigs. Fix CSS. Install themes. Add a form. Offer to build or fix a site for a local business at a low rate. Charge a token subscription for a simple tool once it’s stable.
Those first dollars are more about identity than profit. You become someone who gets paid to code.
Treat job-hunting as its own skill. When you’re ready to aim for full-time roles, build a skills-first resume foregrounding projects and technologies, not job titles. Maintain a clean, fast personal site with your portfolio and contact info. Actively network through informational interviews, meetups, online communities, and mentors.
Recognize your lack of degree means you must over-deliver on proof. Projects, code, recommendations, and communication.
Keep learning after the win. Every story emphasizes learning doesn’t stop after the first job or first product. Chris moved on from Reporty to Coffee Chats, scaling it into a multi-user no-code platform hosting over 1,000 sessions and paying out thousands to coaches. Travis pivoted from frontend to SRE to DevRel, layering skills over years. Many developers continued studying algorithms, data structures, and new frameworks even after landing roles.
Think of the first win (job, SaaS, promotion) as a checkpoint, not an endpoint.
Final Thought
No one copies Chris’s journey step for step. Your stack, timing, and domain will be different. But the underlying mechanics of how he got from English major blogging for fun to sold a SaaS on MicroAcquire are general.
Obsessive curiosity about small technical details. A structured but flexible learning plan. Projects built around problems he already understood. Iteration in public with real users. Willingness to start small, stay persistent, and compound wins over years.
For anyone on the fence about whether self-teaching leads to meaningful outcomes, Chris’s path and the dozens of stories like it offer a clear answer.
You don’t need permission to start learning. You need a plan, persistence, and the courage to ship something small, broken, and real.
