

Ask HN: How do I become a coder? - vnchr

HN, what is the best path for me to reach CODER status?<p>I've been laid off from the startup where I've worked the last year doing technical support (due to politics, unfortunately...). I love entrepreneurship and technology, in all its forms. And along with my traditional job search, I'll be investing significant time in the coming months to improve myself.<p>I'd like to code for basic income and as a creative outlet. I love creating things, and I've always gotten a kick out of the little websites I've made (and I have fond memories of particular algorithms from ENGR 101).<p>Ideally, I would like to help other entrepreneurs by building MVPs for them as well as  providing the corresponding business advice for that stage of development.<p>About me:<p>- I'm a technical generalist (B.S. industrial engineering, took a few programming courses way back when)<p>- I know basic HTML and CSS<p>- I just scored a freelance job for January to customize a Wordpress site for use as a CMS for a network of business professionals<p>- I'm currently reading HEAD FIRST RAILS to get the basics of Ruby on Rails<p>- In the mail is HEAD FIRST PHP &#38; MYSQL to get the low-down on that fun stuff next<p>- I thought Python would be worth a dive (Google's class on YouTube looks cool)<p>HELP ME, HN; YOU'RE MY ONLY HOPE.
======
cperciva
To become a coder is simple: Start writing code.

The right question to ask is 'how do I become a GOOD coder?' -- the answer
there is also straightforward, but time consuming: Spend ten years writing
code. (Five years is enough to be employable, but it takes another five before
you stop being "that guy who wrote all the bugs we keep on finding".)

There really aren't any shortcuts, no matter what booksellers try to make you
think.

~~~
vnchr
Thanks for the honest feedback. I appreciate it.

------
Mithrandir
1) Read coding books:

[http://stackoverflow.com/questions/194812/list-of-freely-
ava...](http://stackoverflow.com/questions/194812/list-of-freely-available-
programming-books/392926#392926)

2) Code simple programs.

3) Publish them somewhere (GitHub or similar.)

4) Help out on already existing projects (Bug reports, patches, etc.)

5) Code better and bigger programs

Sounds like you're doing it right already (heh, like I'm an expert!)

Good luck! :)

~~~
vnchr
3 and 4 seem scary to ponder at this point, but I suppose they'd seem more
attainable after I get my sea legs (1 and 2). I'll give it a try! Thanks.

------
knowsnothing613
There are a few books that will make you a better coder.

start with this ================ [http://www.amazon.com/Practice-Programming-
Brian-W-Kernighan...](http://www.amazon.com/Practice-Programming-Brian-W-
Kernighan/dp/020161586X)

Since you'll likely be in the web space read:

PHP cookbook Oreilly's Definitive guide to javascript O'Reilly Definitive
guide to html & css O'Reilly books on the LAMP stack ox XAMPP stack

PHP ======= you can learn alot by reading the coding examples from the php
manual

<http://php.net/manual/en/index.php>

just google search "php man <search term>"

MySql ======== Most of the time you'll only be doing simply query, so you
don't have to worry too much about query languages. You can copy & paste mysql
code

==============================

Learn JQuery or MooTools, so you can do some AJAX
=================================================

Download PHP Eclipse as your SDK ==========================================

Once you're down with those references play around with the Zend Framework

It's not hard at all. PHP is an easy coding language to learn. Though some
employers want you to know ASP. B

I was in the same situation. I got laid off 6 months ago, and picked up
PHP>HTML>CSS>JAVASCRIPT> reading Oreilly books (you can get them off
bittorrent). I have don't have a tech background. My degree is in philosophy.
I built my own website.

<http://www.distractmefrom.com>

===========================================

It just takes time, and ALOT of practice & coding error & learning from
debugging.

~~~
vnchr
Well, that's encouraging to hear you've made progress and success in a similar
situation. Thanks for the tips and resources. JS seems important, so I'll work
towards that. Cool site too...

------
ygtckr
We are walking on the same path, and on this path the most useful advice I
gathered resides at <http://krainboltgreene.github.com/l/2/> I hope it will
help you too.

~~~
vnchr
THIS IS AWESOME! I will revisit that page often.

------
Swannie
To become a good coder you need to learn how to code for other people. Unless
you plan on being the only programmer on a website/for a product forever...
Your code will need to be understandable to someone else. Sometimes that
someone else is you, 18 months down the road.

A good way to start if it's just you, is to learn the style of other good
programmers. Concentrate on one area and one language only. Each language has
it's known/preferred dialects. If you jump around too much you'll get
confused. This is where posting stuff to GitHub or similar helps - other
people in that language will review and if they like what they see, branch and
contribute.

In your situation, just concentrate on what you need to do. You can get great
guidance on StackOverflow about almost any problem you need to solve, and I'd
strongly suggest you do that until you get to the point where the answers
there are similar to what you'd intended to to.

------
LeBlanc
Specifically regarding learning Ruby/Rails, I would recommend taking a look at
<http://railstutorial.org/> \- this is the best rails tutorial I have come
across.

Also, you might try learning Sinatra before Rails. Sinatra is very simple and
streamlined (but still incredibly flexible and powerful since it is on Rack).
Rails does a lot of things that may seem like magic, but with Sinatra it is
always very easy to understand what is going on with your app.
<http://www.sinatrarb.com/>

~~~
vnchr
I didn't know about Sinatra. I'll look at that next, maybe before the PHP
business... Another framework using the same language seems like a good
building block.

------
ecommando
First, lose your mind. Then, stumble into it.

------
10smom
Hello please contact me I may have something for you that is temp at 1st.

------
binaryfinery
To be a good coder, the journey begins by answering "how do I become a coder?"
by yourself.

~~~
vnchr
My answer was to ask reputable coders for advice...have I just written my
first IRL recursive loop?

