Live data from Hacker News

Ask HN: How many "self-taught" programmers and how did you do it?

news.ycombinator.com

91–100 of 128 posts

Re: Ask HN: How many "self-taught" programmers and how did you do it?

#91
I started teaching myself in the early 80s on an Atari 400 with Atari BASIC. At elementary school, I got some coaching from the librarian in Apple Logo. By sixth grade, I had participated in a few school district programming contests.

In junior high, I got involved in modeming and wrote a BBS for my Atari 130XE in Turbo Basic XL. When I got an Atari ST, I released my first public domain program, a VT52 "animation" editor, compiled from GFA Basic.

Afraid of the social stigma of being too involved with computers, I gave up programming for the rest of my teens, only picking it up again in my last years at college, when my curiosity about the expanding Internet led me to explore MUSHes, MOOs and HTML.

I found a job building static intranet pages from technical documentation and learned the basics of JavaScript, although at the time, it wasn't useful for much beyond client-side form validation.

Then I got a customer service job at a rising e-commerce site and began hitting the books in earnest, learning UNIX shell programming, regular expressions, Perl and SQL. I started writing command-line tools and CGI scripts and moved over from customer technical support to working on the customer service toolkit.

I hit a kind of plateau, though I didn't realize it at the time. Though I continued to crank out scripts, my efforts to become effective in compiled languages such as C and Java stalled repeatedly.

Eventually, largely through exposure to the work of experienced developers, I began to understand principles of computer science as well as practices of large-scale software design. As I became comfortable with a greater degree of abstraction, I branched out from reading books on specific programming languages to reading up on broadly applicable concepts and practices. I've been working in software for over 15 years, and I continue to read avidly.

Re: Ask HN: How many "self-taught" programmers and how did you do it?

#92
I consider myself completely self-taught, I started with BASIC learning a bit from my Dad + books / magazines when I was a kid.

I progressed on to HTML and JavaScript in my early teens, learned mostly from websites. Naturally that progressed on to PHP/MySQL, and now I mostly do Ruby.

I did do a CS degree (Computer Games Development) which taught me some C++ and Assembler, but most of that was learning in my own time, and a lot of it felt like applying what I already knew onto different technologies.

After Uni I started freelancing, and 5 years on I'm still doing it :)

I think like you say no one is really "self-taught", and I think it is mostly down to how you like to learn. I've always preferred to teach my self things, it's how I learned to play instruments, as well as recording and music production. I've just never really got on being taught by others.

Re: Ask HN: How many "self-taught" programmers and how did you do it?

#93
post #77
post #46

Earlier quoted context omitted.

I challenge you on #1/#2 since there was Personal C (PCC) around the mid/late 80s. The version I had didn't have a graphics library though, so I learnt 8086 assembler and CGA/EGA calls (memory is hazy here, but probably CGA) and made my own :) I was lucky enough to be leant a good C book by a family friend (whoops... Still have it almost 30 years later!!). But I agree with your overall point that it was much harder t…

I was on the Amiga at that point and even if there was a free compiler it was never on the shareware disk it was supposed to be on and there was usually a bit missing. I got a copy of Turbo-C (with a book, maybe?) and programmed (on a PC) at work after hours. I, too, learnt assembly mostly because there were a few good free assemblers available.

Yeah those shareware disks were such a scam... So much promised and so little worked... And so many copies of PKUNZIP!

Re: Ask HN: How many "self-taught" programmers and how did you do it?

#94
post #54

I got my first computer when I was 15 (in 2001), and after 8-9 months of just playing video games I ended up playing with HTML in Dreamweaver. Over the next year that'd expanded to include CSS, JS, and PHP. Between the age of 16 and 22 I primarily worked as an IT technician while programming on ever more ambitious projects on my free time. The most ambitious of then was Zynapse, a VERY Rails-like PHP5 framwork I star…

[deleted]

Re: Ask HN: How many "self-taught" programmers and how did you do it?

#95
post #54

I got my first computer when I was 15 (in 2001), and after 8-9 months of just playing video games I ended up playing with HTML in Dreamweaver. Over the next year that'd expanded to include CSS, JS, and PHP. Between the age of 16 and 22 I primarily worked as an IT technician while programming on ever more ambitious projects on my free time. The most ambitious of then was Zynapse, a VERY Rails-like PHP5 framwork I star…

No worries for not adhering to the structure, it was just there because I wanted to urge more than "Yes"/"No" replies, I enjoyed reading your post. Very cool story.

I'm self taught at the moment, about to go to a dev bootcamp to really solidify my understanding of web-centric ideas (most of my stuff has been data crunching). Glad to see that so many people are happy in the field without a CS degree.

Re: Ask HN: How many "self-taught" programmers and how did you do it?

#96
1. Books and Computers. 2. Between 7th and 8th grade. Learned assembly in 9th. 3. 18. Published article, which is what gave me legitimacy.

My first book was on BASIC, and I had no computer so I wrote out what the computer program and what it'd do in a notebook.

It's been 26 years since, and I'm still going strong.

Re: Ask HN: How many "self-taught" programmers and how did you do it?

#97
I am self-taught. And I get asked alot about how I did it.

For me, it happened in two phases.

When I was 14 or some years old, we did not have a computer at home, so the only way I could play with one was to participate in our science fair and work with one. I participated to make a static HTML website that year. I knew nothing about it, so I got a book and learned basic HTML from it and made one. I liked doing that so much so I kept on doing that for 3 years.

Then I picked up some Visual Basic, because I could build some "cool" UI components with that.

Mind you, till here I hadn't taken "official" CS classes.

But then I joined college for CS and hated every bit of it, as most of it was out of touch from reality (maybe specific to my university) so I changed my major to Computer Engineering and then learned programming in this "second phase" on my own while developing projects.

So far that is the best way I know how to actually learn programming. Try to solve a problem. And ask people if you get stuck on something. You will feel like shit every day for awhile, but that would make you a better programmer and a person.

Just learn basic syntax of a programming language. In my second phase I did that with Python (for APIs) and Obj C (for iOS).

Just learned the basic syntax and then mostly relied on the developer documentation (please get used to reading those, that is the best way to stay upto date with any changes that happen in the future). Also, stackoverflow. But only use stackoverflow if you cannot figure it out for days. Try working on it on your own first. mostly things have solutions online. try searching.

But most importantly, build. Build and solve problems. That is the most rewarding and effective way. It would make you a better problem solver.

I hope that helped!

Re: Ask HN: How many "self-taught" programmers and how did you do it?

#98
These days a lot of folks take the HTML route into programming. They start by fiddling with web pages, then add CSS, some Javascript and then building backend stuff. But this is a risky route to take. You might end up being just good enough to make a few bucks at it, pick up some PHP or Ruby on Rails, and drive yourself straight into a dead end.

None of this is really programming. Sure there is a bit of going through the motions, but you have all these frameworks supporting you, whether HTML or Rails or whatever, and you fail to get to the heart of the matter.

Far better to get a book like SICP (now freely downloadable) install one of the free Scheme packages out there and struggle through writing all of the code for all of the exercises in that book. It will be tought. You will suffer. And at the end you won't have much to show for it; i.e. no pretty websites. But you will have trained your mind to think the way programmers need to think. And you will also have learned to persist in the face of disappointment and failure because that is what programming is really all about.

Of course, there are more marketable languages like C# and Java and it is definitely worth while to work through exercises from a good book in a similar manner, but you won't get as good an education as someone who pushes through SICP. Those of us who learned programming in an imperative language like Java, are now either in a stagnant rut adding features to big balls of mud that hang like chains around the neck of our employer or else we are slowly pushing our way along the path blazed by SICP.

If you already know a bit of programming in any language, you could also take Functional Programming in Scala followed by Reactive Programming at Coursera. They run these courses a couple of times a year and they are good. SICP is recommended reading for this course even though the language is completely different. True programming is all about mathematics and using it to solve problems in a simple way. You need to understand functions, sets, boolean logic, lambda calculus, algebra, category theory in order to truly excel. Mathematics is something that you build inside your head and something that you can apply to any programming language or platform.

By the way, most CS degrees do not teach this. If you find a school that DOES teach this, then by all means, get the degree if you can afford it. But too many schools leave the real stuff for the Masters and Doctorate level folks. If you self-learn, like I did, then you can do better. But you better be prepared to work real hard because most of the time there is no course to keep you on track. Learn every day without fail and you will get there.

Re: Ask HN: How many "self-taught" programmers and how did you do it?

#99
From the outset, I learnt programming by craving to build a thing. It started with tic tac toe that I built in vb6 in school, with computer as a player, sound and lighting effects. Then I built a full-disk media player/ image explorer hybrid. Followed by a multilingual word processor with screen reader and brail keyboard input and ...Finally full-stack web apps.

At the core of my learning was always a desire – that I wanted to build this thing, and rest was the details that I figured out from the internet and MSDN CDs (yes, that used to be my primary and definitive source during initial years of learning.)

In my experience, when I'm passionate about building something, I do not need to motivate myself to learn the details.

Edit: Finally I also did post graduation in CS to cover the gaps of CS fundamentals. Degree is also essential for getting a job at reputed companies which usually have it as the first filter to auto-reject candidates.

Re: Ask HN: How many "self-taught" programmers and how did you do it?

#100
By mistake.

The original idea was learn to repair computers and do networks.

Unfortunately, in the moment of inscription was no more seats. The only ones was for "programing". What is that? "Something similar" they say. I apply (I have 14 years, the tech school was owned by my uncle, so that is why I can do it ;)).

I was there 2 years. Amazing good teacher. Learn to do a single project, FULL project, with forms, reports, database, etc (foxpro).

After that, I lear by myself delphi, python, .net, sql. Still do that.

BTW I enter to the university. In full contrast the quality of teaching was terrible. I give some classes as student!

For example when I note the teacher don't know about OO in exchange to NOT BE in the class --I was working and studying-- I do that parts at the end.

Post reply on HN