ZERO-TO-ONE ★ 71 upvotes 2014

Ask HN: How did you get from learning to code to making your first dollar?

The Founder's Submission

Direct narrative and submission text authored by @soleimc on Hacker News:

On HN, there is a lot of advice for people just learning to code and a lot of advice for people who are making some money with their startup/side project. However, I'd love to hear advice about the steps in between, that is, advice from real developers on how they went from a basic knowledge of coding to actually landing their first paid internship/job/etc.

Some questions to consider:

-Did you learn to program in school or teach yourself?

-Did you do unpaid work to establish yourself?

-Roughly how long did it take you from day 1 of learning to day 1 of being paid?

-What was your first gig?

My hope is to make a website with different timelines and step by step guides that shows new programmers how to go from finishing a basic tutorial like Codecademy to getting paid for software development.

Retrospective Overview & Key Insights

Distilled analysis of the business dynamics, operational challenges, and strategic takeaways:

@soleimc's retrospective from 2014 captures the critical transition from initial concept to the first dollar of customer revenue.

Core Principles for Independent Builders:
1
Early traction rarely comes from passive launches; it requires direct manual outreach, personal network activation, and high-touch customer support.
2
Narrowing down the target audience to a specific niche allows solo founders to out-position generic horizontal competitors.
3
Underpricing out of fear of rejection is common; founders who set premium pricing often discover higher customer satisfaction and lower churn.
Community Debate Themes:

Discussions analyzed Show HN launch mechanics, cold DM outreach conversion rates, and the psychology of validating customer demand before writing code.

Community Discussions & Critical Reviews

High-signal perspectives, counter-arguments, and peer founder insights debated on Hacker News (72 total discussions):

DO @doorhammer Peer Contributor

the tl:dr version: > Did you learn to program in school or teach yourself? Self taught

Did you do unpaid work to establish yourself? Kind of. I did a small website for a guy, but nothing I did really paved the way for me to get a job, exposure wise. That's probably more a mistake of mine than a data point. I should have taken advantage of that more.
Roughly how long did it take you from day 1 of learning to day 1 of being paid? Four years
What was your first gig? Full stack .net (mostly C#) SQL Servers/Dapper/Entity Framework/MVC/Nancy/Ember/Web Apps

The Novel: I was going to do these individually but it turned into a bio.

Mostly taught myself. I took a class on BASIC in high school (in 1997 or so), and a course on HTML in college (around 2001), but I pretty much dropped programming until way later.

I have a friend who came out of college as a journalism major and he worked doing journalism somewhere for awhile. He got sick of it, taught himself to program, and got a job programming. I don't know details about hit specific circumstance, but that's what motivated me to learn it myself.

I'm thirty one. I started learning to about five years ago. My first language was Java, which I hated, but it's what my friend used so I figured I'd start there. I pretty quickly jumped to messing around with python tutorials and only really got interested when I started doing ActionScript 3. I never did anything professionally with it, but it was really fun and satisfying. I knew a guy who runs his own web dev business, and at the time they were mostly in AS3. He said he could get me some work, but it never panned out. Realistically, I think I just didn't have the chops at the time, or he didn't really trust them. I don't really blame him for that. They also did a lot of rails work, so at that point I started learning ruby and rails.

Probably a year or two in, I started listening to software engineering radio religiously. There were other podcasts, but I think that's the one that really made it easier to keep going and get broad exposure to a lot of different concepts in a digestible format. It was really nice because I could listen to it while I was stocking the cooler at 7-11, or driving a moving truck across the states. I also worked for a liquidation warehouse for a bit. I ended up making a few rails apps for small inventory management tasks, but right as we were going to start using them, we all got laid off.

I ended up at a call center as an agent, after that, then moved to a team lead spot, then worked into the training department. I kept making little javascript tools for people along the way. Cheezy little widgets, but they helped folks. I also cleaned up a lot of spreadsheets, modularized them, wrote macros to do certains tasks, and otherwise pitched in here and there. It was small stuff, but at that point I'd been coding for four years, and inhaling book after book. At that point I knew javascript and ruby really well. I was also using clojure to do fun projects. All the excel work eventually got me moved over to be a data analyst with the Quality Assurance department.

I spent a lot of time reading books on best practice for enterprise dev and dev in general (code complete 2, the pragmatic programmer, clean code, Patterns of Enterprise Application Architecture, sicp, etc). My fairly diverse range of languages, the scope of stuff I'd picked up from and built on from SE radio, the books I'd read, and my side projects gave me a lot to talk about if someone else knew how to program. Since I was salaried at that point, and a data analyst, I was in contact with our BI group, and talked to the manager a lot about coding. They were mostly using C# and .NET, so I started learning .net, C#, and F# in my free time, which lead to more conversations. Eventually they had an opening and the manager encouraged me to apply. I applied, they offered me the job, and I've been a full time .net dev for about a year now.

My biggest hurdle was being confident that I could do it. I always loved computers, but I'd never done any real programming until I was in my mid 20's. If you stay around places like HN, or read coding lore, you get the impression that everyone good started when they were five. I'm not saying that vindictively; it's just the impression I got. Things also don't seem to come as naturally. That said, I remember the first time I thought I "got" functions, and it was so amazing to me. It didn't click right away, but when it did, it was really cool feeling. Then later on I started taking on more functional languages and learned that while I "got" them, I didn't really get them. And now that feels absolutely natural.

I don't feel at a disadvantage at all, because I know that I have the skills to keep learning and adapting, and I also have the desire. It's really cool.

That's an incredibly long post, but I didn't want to leave anything out in case it'd be helpful. If you have any questions, feel free to ask.

RO @rockshassa Peer Contributor

My path:

Had computer and internet access at a young age. Learned DOS in elementary school playing 'Oregon Trail' on 5.25" floppies. Exposed to Lotus 123 in DOS. Played mahjong on OS/2. My first experience with copy protection was the "enter the X word on Y line on Z page" a la Commander Keen. First touched the internet when 14.4kbps was a big deal. Played with File Manager on windows 3.11 like it was a toy. Fix errors in "MegaRace" install. In middle school, discover IRC and fileservers. Get involved in Anime fansub scene, host fileserver around the same time that Cable Modems were first hitting the US east coast. Learn about video compression, encoding, fansubbing. Learn IRC script and create chatroom bots that respond to users. Learn FTP and FXP. Infect friends' PCs with Subseven like a true script kiddie. Get C&D letters from parents' ISP due to port scanning. In high school, get CompTIA Network+ cert, A+ cert, MS Sysadmin Cert. Interstate 76 comes out for PC, learn what hexadecimal is. Around the same time, joined a guild on MPlayer for playing Mechwarrior 2. Learn HTML and CSS while creating a website on geocities/enchantedforest/cottage for the guild, learn what is. Create free website on angelfire for a friends. Learn how to embed a MIDI file. Learn what PHP include means. Learn JASC Paint Shop Pro. Learn how to Pirate JASC paint shop pro. Go to college as CS major. Learn OOP in java. Touch SunOS and Emacs. (ed: i stand by my claim that emacs is not meant for humans). Enjoy programming, hate math. Halfway through college, switch to business major because I have a D in Calc 3 and dont want to blow up my GPA. While finishing college, work as a Jr. Sysadmin consultant for a major ISP. Learn windows administration, learn core concepts of availability and scalability. Learn about backups. Active Directory, Exchange, IP telephony, DNS etc. Learn about corporate process and bureaucracy. Learn how to CYA. Get job as IT manager for 5-person financial startup. Get fired after 3 days. Get job at Panera Bread bussing tables. Get call from major ISP, quit panera after 2 days. Get job for IT consulting company in a major metro area. Visit residential and corporate clients to act as IT department, doing break/fix, data recovery and small scale org planning. Appreciate the value of true IT knowledge in the marketplace. Get job as Sysadmin at a media company. Use previous experience to deliver superior service to internal users. Build goodwill. Around the same time, iPhone 4 is released, with retina display. Become enamored with iPhone, recognize potential of the platform. Learn iOS dev with help from Stanford classes on iTunes U. Spend 2 months learning iOS, get comfortable working with it. Decide to quit sysadmin job to study iOS full time. Upon quitting, get offered the opportunity to transition to developer role at same company. Accept opportunity, attend excellent iOS training course, begin transition to full-time dev role. Work on popular newsreader app. Gain experience and knowledge from dev mentor. After 1.5 yrs, move on to smaller startup-y org for massive $ increase. First "real" programming gig since making transition from sysadmin. Overcome jitters, rewrite major application with great success. Read about electrical engineering, and Haskell. Consider what to do next...

RE @reboog711 Peer Contributor
-Did you learn to program in school or teach yourself?

Well, I guess a little bit of both. I wrote my first program in the early 80s. It was a game I copied directly out of a book. It was my first exposure to programming. I also took a programming course in High School in the early 90s. It was, crap, and my 'self-taughtness' I was too advanced for that class. Then I went to college and got a Computer Science degree in the mid 90s. This degree taught me a lot about programming that would have been harder to pick up on my own. As I understand it; college curriculum in programming is a crap shoot. Some are good; some are bad. Some are focused on teaching specific languages and some are focused on programming concepts. I would classify my education as winning the lottery. Because I was taught a lot of the concepts behind programming theory and how to apply them. This has put me in a very good position in my professional career whereas I am often able to pick things new languages / technologies / approaches easily.

I'm not saying that an education is necessary to be able to pick up new things quickly; I'm only saying it helped me.

I feel I meet a lot of programmers who know a language [or framework] while missing some of the other underlying concepts and they struggle when it comes time to learn something new.

-Did you do unpaid work to establish yourself?

Nope! My first client was in college. I was writing some data processing code for some type of research they were doing. I think I got paid $20 per program; each which took me a few hours to write.

My first programming job was a co-op at a business to business advertising firm. A co-op is like an internship; but mine was a paid internship. I made a lot more on the internship than I did at my job at Waldenbooks.

However, I'll add that a lot of what I've done is writing, both blog writing and book writing and article writing. The blog writing is unpaid. I'm cautious to call the book writing or article writing unpaid; although it paid very very low. These actions help me convince clients I know my stuff and has helped me keep an "independent" career as a small business owner with consistent work for many years.

-Roughly how long did it take you from day 1 of learning to day 1 of being paid?

Where do you count day of learning? If it was when I Was copying stuff out of a book in the early 80s; then probably around 15 years. If you count when I first started college, then probably about three years.

-What was your first gig?

My first 'real' job was as the 'tech guy' at a business to business consulting firm. They did a lot of marketing. I did a lot of Lotus Notes work. Some work with Perl; web development stuff (JavaScript/HTML), some iCat (a Now defunct ecommerce technology), and some ColdFusion. This was the same company I co-oped with. They gave me a full time offer before I graduated [and I started the week after I graduated].

A few years later; I left there and 'accidentally' started my own consulting company which I still do today.

ER @err4nt Peer Contributor
Did you learn to program in school or teach yourself?

Self-taught. This stuff advances so quickly it's tough to distill what you need to know into classes without getting REALLY deep into it. The pace of the industry is set by the speed at which the self-taught craftsmen research and develop new skills. It's hard to find competitive pay if you don't have competitive skills and in the long-term, only those skilled at self-teaching have any kind of longevity in the field IMO. I'm still young but I see so many ahead of me lose that edge and not be able to find work simply because they spend too much time doing and not enough time thinking.

Did you do unpaid work to establish yourself?

Absolutely, but I have a strict policy of only working pro bono for myself or charities I would donate money to. I'm a big fan of open source code, so I try to donate as much as I can to posterity once a project is complete at well.

Roughly how long did it take you from day 1 of learning to day 1 of being paid?

I have been tinkering for years while in school so that's not a fair question, but more recently I have gone from not knowing JavaScript to getting paid to write bits of it here and there in one year while also doing other web development. It should take less than five years to go from nothing to competitive if you're keen to do it, and you shouldn't need to spend a dime to do it. There is enough material, software, and even full operating systems you can use for free so he only costs are a computer, electricity, and internet access. If you have those three already, buckle up and get ready for a wild ride, but put that wallet away!

What Was Your First Gig?

My first job out of college was as an in-house web developer for an online tutoring company. They tutored adults to help them get professional certifications they would need to get a job. I ended up getting caught in a layoff within the first year unrelated to performance, but I still cherish the opportunity they were ready and trying to give to me even though it never bloomed to the full potential. I got a site built for them and they have been able to maintain it since then but I fear they are doing very well financially even still.

My advice to you is this: if you want to learn web languages like HTML, CSS, and JavaScript, DONT look for tools that make it 'easy'. At the end of the day you're writing a page of text, so the most simple, easy, and straightforward way to arrive at that is by simply typing the characters. Any pre-processors, plugins, or frameworks that reduce what you have to write reduce what you are able to learn. I suggest starting with a 'clean-room' approach and creating blank files and literally typing each and every character you want in those files manually, every. Single. Time.

When I start a new website, the first thing I type is: , I don't even start with a 'empty template'. That's the fastest, easiest way to 'get into' a languages syntax and get your head around what it does.

Good luck!

KI @kirillzubovsky Peer Contributor

First, a quick response to your questions. I learned to code on my own, after graduation. I simply took all my savings, moved half-way across the country away from my parents, and locked myself in a room (quite literally) for a while, until I was able to create the applications that I wanted to create.

My background was in Industrial Engineering, which is part design, part engineering, part lots of math and BS courses that I've since long forgotten. I think the degree helped me to be more user-oriented, but I am pretty sure it had nearly 0 to do with my ability to code.

Now, let's get to the paid gig. Technically speaking, I think my "paid" digs were for friends and family. I am saying paid because of course, they all want a discount and you end up being paid minimum wage for a while :) My first real gig was a great experience, but a total disaster, so far as payments were concerned. The guy was very legit, up until the point where he skipped town and didn't pay any of his developers. I was out like 5k?

All-in-all, that was a great experience and a kick in the butt. It opened my eyes to the real sucky parts of freelancing business, and eventually led to me building Scoutzie.com where we built plenty of tools to help freelancers shield themselves from ass clients.

Now, back to making money. This might surprise you, but the most money we made because it had nothing to do with ability to code. In the early version of Scoutzie, circa early 2012 when we just got into Ycombinator, my co-founder Jenn said that it was time to make money. I was actually afraid - charging people money for your online product - that's crazy! So, Jenn put together a WuFoo form[1] and we pushed it live.

It was absolutely astonishing when a day later someone actually paid us $5,000 to find them a designer, without even talking to us. It was totally unreal!

So, my point here is - you don't need to know how to code to make money. Sure, we had an original product that required code and was running and collecting interest, but the actual money part was done manually, for the longest time.

If you're learning to code, that's awesome, but making money and coding has probably little to do with each other. You can be the best developer on the planet and completely suck at making money, or you can hack together a few lines of code and get a consistent income month-over-month[2].

[1](the forms are all private, but here's an idea of how the product started to scale once we realized that people were willing to pay -> http://cl.ly/image/2j2C3m2k3x2A)

[2]Right, I forgot to mention, I built PresenterMate.com once, juts for fun, and it's been in App Store ever since. People are still paying money for it every month, which is very cool :D

HISTORICAL ERA Cloud & Mobile Era (2014–2019)
COMMUNITY SCORE ★ 71 points
TOTAL DISCUSSIONS 72 comments
TOPICS & TECH STACK: