Hacker News new | comments | show | ask | jobs | submit login
Ask HN: Can I learn to be a programmer/developer without going to university?
13 points by lookitzpancakes 1970 days ago | hide | past | web | 13 comments | favorite
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!

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.

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.

absolutely! Best programmers are self-taught. Even CS graduates have to continue teaching themselves to be decent programmers.

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.

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.

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.

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

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.

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/

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?


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

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


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.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact