Hacker News new | ask | show | jobs
by whichdan 4872 days ago
Honestly, if you can afford to spend a year learning to code, put the startup on hold, and just write some code! Instead of focusing on "I need to build blog software," try to think about it as more of an iterative process.

Part 1:

1) Create a database

2) Manually input test data

3) Make a page to list all of your posts

4) Paginate your posts

5) Give your posts permalinks and their own pages

Part 2:

1) Create a simple login system

2) Create a page that lists all of your posts

3) Create a page to add new posts

4) Create a page to edit posts (you can reuse the "add new posts" code)

5) Create a page to delete posts

6) Allow posts to be scheduled in the future

Part 3:

1) Use the same method above to allow users to sign up for your blog and post comments.

This is exactly how I learned to code. I started with a small core problem ("I want to display posts from a database") and started tacking on features one-by-one. There was no end goal, no todo list, no lofty requirements -- just me seeing how many features I could build by myself.

While you could certainly find a benefit in moving to the Bay Area and networking or joining a "learn to code" program, I think there's a lot to be said for just sitting down and churning away at a project like this. Once you get the hang of things, you can pick up contract work, which will both offset your living expenses, and let you improve your skill on someone else's dime. It has the added benefit of forcing you to work on problems you might not normally encounter, like parsing email sent to your server.

Mainly, before anything else, coding should be fun. If you get yourself into the swing of things, you'll have a hard time not working on your startup.

1 comments

First, thanks for the specifics here, it is very helpful to someone like me who is grasping at a starting point.

Second, I so want to believe that this is true. Even if I could just make 1k/mo, my stress level would go from 9.5/10 to 0. I've been told so much by my parents that I'm a fool to pursue such a thing, that I'll fail etc... I think it's really ingrained in me that it would take nothing short of a miracle for me to succeed doing this. It doesn't seem at all rational, but I fear it for some reason.

I spent most of my free time in middle and high school programming. My parents would threaten to take away the internet when I did poorly in classes, and routinely encouraged me to spend more time playing guitar instead of "wasting so much time on the computer." They meant well, but essentially discouraged me from pursuing programming.

Last month I launched a startup, which I built during my free time while working as a senior full stack web developer.

What it comes down to, like any other pursuit, is that you have to spend a LOT of time programming. But the great thing is that every 6-12 months, you'll look back and think "wow, I sucked at programming compared to now." And as soon as you know enough to build a blog from scratch, you'll be able to start taking small contract jobs. After two or three years, charging $50/hr++ is absolutely easy.

One small tip to get started: For each project, create todo.txt and todo_future.txt. The first file is a scratch pad to keep track of what you're working on this week. The second file is for keeping track of ideas you want to work on in the future. It's a great way to prevent "scope creep" or giving yourself too much work to handle.

If it helps, I learned to program last year. I wrote a blog post recently with a few tips:

http://coryliu.com/post/42990233356/how-i-learned-to-program...

Man I want to hug you for this. I am so glad you were able to make it work. I'm just going to do it too, it can't hurt me at this point, and I felt very much the same as you. My doubts are what has kept me from actually doing it. Is there any reason you started C first before Python/Ruby? Probably a stupid question, but I don't even have a basic grasp of the differences or if it even matters. Thanks for posting this.
I wanted to make iOS apps, which uses primarily uses Objective-C. After a bit of trying to learn, I found that Obj-C resources weren't very good. Some suggested that I should learn C first, which is where Objective-C was based off of, so I figured I'd do that.

In terms of your choice of language, first figure out what you want to make. Web apps? Mobile apps? Desktop software? That will let you know your options for languages.