

How I learned to Code - zan2434
https://medium.com/teaching-learning/d93260baf219

======
teach
> I learned by doing small project after project... slightly outside of my
> skill-set

Not to toot my own horn, but this is exactly the approach I take when I teach
students to code (which I have done quite a lot of).

You can see the basic sequence of projects I use here[1]..

Then at Zed Shaw's prompting I wrote a book: Learn Java the Hard Way[2].

[1] [http://programmingbydoing.com/](http://programmingbydoing.com/) [2]
[https://learnjavathehardway.org/](https://learnjavathehardway.org/)

Doing project after project, each stretching your ability is a really good way
to learn ANY skill, but especially coding.

------
hjay
Seems like I ended up with the opposite experience with Amazon from not having
completed college.

First, a bit about my background. I got my first computer 6 years ago, and
within a year, I was obsessed with learning to build for the web. Shortly
after, this obsession took me to a few online forums dedicated to development
and other similar works. I built a crappy content management system for a game
that I played occasionally, which was given to people who ran servers for that
same game. Shortly after, I myself started a private server for that game, and
developed a lot of interesting game mechanics and interactions that did not
exist in the official game. This private server grew to be very popular and
had about 3000 players online simultaneously at any given time of day. Soon
after, this private server received a cease and desist order by the company
that owned the game, and I pulled the plug.

During that time, I met my (future) co-founder through one of our players. We
went on to co-found Windows7Center and Windows8Center.com (offline as of
2012), and over 3 years, gained quite a bit of success and popularity. During
those few years, between these efforts and school, I took on freelance web
development work to satisfy both my passion and my family's monetary needs.

I then decided against taking my full scholarship to law school, and attended
a local technical college for Computer Science. After finishing my 1st year in
Computer Science, I left school to pursue full-time opportunities because of
financial difficulties that arose. Up till now, I've been working full-time
for close to 2 years.

When I found out Amazon was hiring in Vancouver, B.C, I applied. I was
interested but I was not yet prepared to leave my job in the case of an offer.
A few months later, I left the company I was in, and around the same time, was
asked to participate in Amazon's phone interviews. Throughout the process,
they were aware that I had only completed 1 year of college.

My interview was with a senior engineer working in the same area I was
applying for over in Seattle, and went quite well. Subsequently, I was flown
down to Seattle for a full day of on-site interviews (for a Vancouver
position). Long story short, the interviews went well, and after going through
the 7 interviewers, my last interview was with the lead recruiter from
Vancouver, who had flown down to interview me.

He then proceeded to spend the remaining 35~40 minutes drawing on the
whiteboard the compensation details of the position, including signing bonus,
equity options, performance bonus, how I could choose between more options or
cash for the bonus, the benefits of choosing one over the other, the base
salary, etc. He said "when I send you the offer on Wednesday, you will see
_______" on a couple occasions. Then he walked out with me and explained that
the team in Vancouver was very diverse and full of cool people, how it was
much like a startup, and that I would love it. (I guess he was "selling" me
the opportunity) He then said "once you accept the offer, we will fly you back
down around 3 weeks later to do the training here, because the Vancouver
offices are still quite small and we don't have that many hires that week".

Fast forward a month, and after 3 emails from me checking back with them, I
received nothing. No offer, no email, nothing.

It's been a while since that whole experience, and after reaching out to a few
employees at Amazon to help me gather some information about what happened, a
recruiter told me "All of Amazon’s development roles require a bachelor’s
degree". Of course this is not entirely true, as they do have engineers
without degrees, but apparently I was rejected without notice because of my
lack of a degree.

~~~
LiweiZ
Self-taught elites might be the next group to have big impact. Not 100% sure
if this will happen. But with easier access to then-valuable information,
people in different locations on earth will have opportunities to form a group
that shares common value system. This may affect the current society structure
a lot. It can be a big topic. I guess the possibilities that this will happen
is getting bigger and bigger.

------
sAuronas
Really happy to see a post like this. It was an awesome post too... However,
as an adult over 30 who just learned to code, I can say that it was not as
helpful as it might have been, primarily because it makes the author sound as
if he is brilliant--and clearly--most people thinking about approaching
programming are far from starting a tech start-up at 30+... Much less 19!!!

I am obviously old enough to not have benefitted from a CS course in HS, is it
did not exist. So, to have gone 8 paragraphs deep into this post and still
there was no mention of a particular language or medium to learn left me quite
dry. Again, not to take anything away... I'm just saying.

The way I learned to code... Codecademy/google tech talks/web/books: in this
order. I decided to focus on Javascript because of ECMAScript 5, NodeJS++ gave
JS a new look and promising future. Codecademy got me off and running fast but
then I finished all the courses and still felt like I did not know sh1! The
tech talks helped me understand the context of -this- and that. The books were
for Ninja-hood.

I hope more people write about how they learned for those of us coming from
other industries and majors. Perhaps I will blog of my travails of a
bootstrapping, indie, tech start-up... At the moment, still busy playing
catch-up and learning to code.

~~~
sAuronas
[Corrections] Really happy to see a post like this. It was an awesome post
too... However, as an adult over 30 who just learned to code, I can say that
it was not as helpful as it might have been, primarily because it makes the
author sound as if he is brilliant--and he clearly is--most people thinking
about approaching programming are far from starting a tech start-up at 30+...
Much less 19!!!

I am obviously old enough to not have benefitted from a CS course in HS, as it
did not exist. So, to have gone 8 paragraphs deep into this post and still
there was no mention of a particular language or medium to learn left me quite
dry. Again, not to take anything away... I'm just saying.

The way I learned to code... Codecademy/Google tech talks/web/books: in this
order. I decided to focus on Javascript because of ECMAScript 5, NodeJS++ gave
JS a new look and promising future. Codecademy got me off and running fast but
then I finished all the courses and still felt like I did not know sh1! The
tech talks helped me understand the context of -this- and that. The books were
for Ninja-hood.

I hope more people write about how they learned for those of us coming from
other industries and majors. Perhaps I will blog of my travails of a
bootstrapping, indie, tech start-up... At the moment, still busy playing
catch-up and learning to code.

------
bpp4dt
> In the interest of continued learning, I’d much rather you finish building
> something small and useless than give up building something big for your
> first project.

This is huge. It took me a quite some time to believe in this concept when I
first started learning to code. I spent weeks on sites like Codecademy but
thought their projects were irrelevant or too small. It wasn't until I took
the Thinkful [[https://www.thinkful.com](https://www.thinkful.com)] course
that I realized I need to complete these small projects before moving on to
bigger things. A project-intensive curriculum should be the trend in all
University CS classes.

------
liquidcat
Still trying to learn to code at 33 years and because just I love to.

I have a full-time job which makes finding time to learn very hard. I'm trying
for 3 years and feel like I haven't made any progress because I made nothing
in this time.

I know about Python, Javascript, Django, Flask, what a callback is, how to
create a REST Api and many things but all the information is scattered. I
can't make anything on my own.

Spending a couple hours a week is just not enough. I wish I didn't have to
provide for my family and I could just give up everything and find a small to
no fee job just to learn.

Another drawback is you can't find any jobs for Python or any other open
source language in my country, 95% of the jobs are Microsoft or PHP.

Nothing new is created here, everyone is copying others work and just changing
it a little bit. I looked at elance for a job but people with significant
experience always proposes even for the simplest jobs.

So I'm doing it just because I like to and still hoping for an opportunity.

------
LiweiZ
I'm learning iOS programming by working on an interesting-idea-turned project.
The project itself looks simple and promising (well, quite subjective I have
to admit). But when I started to write code, my lessons from day one till now
are full of what does not work as expected, digging in documents and giving a
try and eventually getting it right. I guess this is not the most efficient
way to learn coding. However, this might be the best way to motivate myself
most.

------
jlebron2
Interesting that he mentions hackaton's as one of the keys to his success.
Does anyone know of a good place/resource to find out about upcoming
hackatons?

~~~
GuzmanMan
I think a good start is to go to meetup.com and searching for hackathons. You
can also follow Mattan Griffel's advice in his "How to Teach Yourself Code"
video here:
[http://www.youtube.com/watch?v=T0qAjgQFR4c&feature=player_de...](http://www.youtube.com/watch?v=T0qAjgQFR4c&feature=player_detailpage#t=1641)

------
mynd
This article, like many others just like it should be renamed to "How I
learned to do anything".

------
rohanpai
Awesome! Great post

