

Ask HN: Can I learn to be a programmer/developer without going to university? - lookitzpancakes

I've been wondering lately if there are any comprehensive resources (oustide of a formal college or university) that can take you from being a computer enthusiast to a fully knowledgable developer/programmer? Figured this'd be the place to ask! Thanks in advance, HN!
======
lumberjack
I'd go as further as saying, that if you aren't able to self teach yourself
programming, then you can't be a programmer, no matter what classes and
universities you attend. Programming involves a lot of continuous learning
anyway.

~~~
benawabe896
I would agree with this only to a point. Sometimes there is a wall that you
run into that you can't make over by yourself. The little hint, nudge, or push
in the right direction can open up understanding that maybe wasn't attainable
alone.

------
lmm
My personal experience is that the only way to learn is by doing it. "Scratch
your own itch", build programs to do the things you want.

The funny thing is that while few of my formal university classes had anything
to do with programming, it was still a great environment in which to learn -
mostly because of the people I met there rather than anything else.

~~~
printerjam
Agreed. You gotta just start programming things that matter to you. I know
many good programmers who have non-CS degrees but have been hackers since they
were kids. Through trial and error, and a lot of reading on the side, they've
turned out to be phenomenal programmers. And each job they've held along the
way, they've learned a ton from other people on their teams.

------
goldvine
I never took any university courses on programming/computer science, and I'm
working full-time as a product developer at a digital agency.

In fact, when I interviewed at FreshForm, I wasn't asked any questions about
my college/courses. Everything was based on the work I'd done, which came as a
result of learning over about 4 years. I started slow with html, css, etc.
Then moved on to PHP/MySQL, eventually started building crappy web apps. And
now I'm building better web and mobile apps with Ruby, etc.

Year 5 is really when everything clicked for me, but I was going through
school and not focused 110% on it.

I learned mostly from online tutorials, and building side projects that kept
me interested. Books were/are helpful at times, but most of the time you will
learn the most by jumping in over your head and figuring everything out the
hard way. But there are fundamentals that need to be learned up front and
books are a great medium for that.

~~~
lookitzpancakes
Awesome, and this goes for everybody else, too: thanks for the replies!

------
USNetizen
I actually got into Software Engineering this way. I started off working as a
Systems Administrator, which required me to script jobs on servers/clients
and, eventually, I inherited the entire intranet for the company which forced
me to learn PHP and Java. Prior to this, I mostly dabbled in HTML, CSS, etc.
since I was a teenager. Since this, however, I have completed my Computer
Science degree (while still working) and learn new languages, technologies and
methodologies mostly from online documentation and tutorials. I went from
being a low-level sysadmin to a senior software engineer to a program manager
for software engineering within a span of four years by spending every free
moment I had learning, adapting and experimenting with new apps.

------
khyryk
Are you assuming that a university grad is necessarily "a fully knowledgeable
developer/programmer"? ;) Independent study of new concepts, programming
languages, libraries, etc., is almost a requirement in order to be a
successful programmer, but it's ultimately experience that brings one closer
to what you describe, and I think that many people on HN would agree with me
that independent study is sufficient to bring you to a position from which you
can begin to acquire said experience.

Oh, and the customary nod to SICP: <http://mitpress.mit.edu/sicp/>

------
JackpotDen
University was a terrible choice for me.

It boils down to this :

Do you prefer a structured learning experience and being in a meatspace
community away from where you were living?

Do you prefer having a crappy job and tutoring yourself during that time
period in an unstructured fashion?

------
kabuks
Absolutely!

We just graduated our first cohort, and after 8 weeks, they've learned enough
to get entry-level ruby jobs techcrunch.com/2012/05/10/dev-boot-camp-is-a-
ruby-success/

There are also less intense courses out there like bloc.io

~~~
SilasX
Or, in my case, entry-level Python/Django jobs :-)

------
franze
books

if you are really a beginner, start with "head first programming" (which is
python), after this go forward with "head first javascript" (if you like the
head first approach). do all tasks. after this choose your language, read the
best books on that topic (go to amazon) front to cover - while coding lots of
really tiny projects (one after the other). try to create one simple script
per day. publish them on github.

two to three years later you will be a "programmer", you will probably be able
to get a job in this area much sooner.

