Live data from Hacker News

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

news.ycombinator.com

21–30 of 128 posts

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

#21
I had no computer until I was 18 (couldn't buy one :/), so in order to compensate, I stayed in the school's computer lab whenever I was allowed, where I played mostly with TurboPascal and BASIC. Just after the high school, I started volunteering in the local IT company, doing some VB stuff. After 3rd month they have employed me on a full-time basis. 11 years FF, I am in Germany where almost everybody working in the IT has a degree, developing PKI-related products in .NET, and before that I rejected a CTO offer.

I still learn and read a lot, I have always one course going (most recently on Coursera).

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

#22

I believe any programming is self-taught. I know that I had some course in a community center when I was very young, probably like 10 or so, and while these courses probably got me interested and taught me the basics, I think most of my skills came from solitary practice and studying books. Moocs can be a better introduction to programming than mere books, but I haven't seen any evidence on how successful MOOCs are a…

Exactly. Programming isn't exactly something that can be "taught". I mean not everyone who is a CS major turns out to be a programmer. They can teach you a tool but they can't teach you how to program. as for the questions:

1,2) Me and a cousin started out making games in Macromedia Flash when i was little kid, Probably when i was 8 or 9. At first it was only copy pasted code and/or keyframing stuff. After i Studied BASIC in 9th grade, got a little more confident and started playing around with ActionScript more. By the 11th grade I was making pretty cool stuff programatically in Flash 5 (or i think was MX by then) I made a lot of game physics and game AI and stuff. In freshmen year in college, i got introduced to C and later C++ and just took off from there, learning mostly by doing, making harder programs etc. Competed in a lot of national level Programming Competitions and won.

3) Recently graduated with a CS major and working at a big software solutions firm, working on enterprise level software for insurance companies.

Btw, i think people should really take up CS in college. While you can learn programming and a ton of languages on your own, there is a lot of timeless theoretical stuff that is best learned in class. Oh and also Software Engineering stuff like "Object Oriented Analysis and Design" or "Requirements Engineering" or "Design Patterns". That stuff comes in handy a lot!

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

#23
I learned by having problems I needed to solve, and I knew that a computer could solve those problems.

For me the most important thing is not having a rule book. If you believe deeply that you need a CS degree or to follow a popular route into the industry then I believe that you will fail to learn as everything will seem to be an obstacle that you are not privileged enough to overcome.

Without a rule book, and with the belief that anything is possible... and if you can break down your problems into logical things you can describe... then you can teach yourself how to solve the problem.

My first step was a simple one, I had a manual mailing list which was names and addresses on bits of paper that I photocopied onto Avery label sheets. This was in 1993 and when the mailing list exceeded 2,000 I knew a computer could do this easier then I could. I purchased an IBM 386 and had no internet access (or knowledge that it existed) and could only learn from books as I also knew no programmers.

I purchased a book called Programming Perl, and just set to it. I think it took about 2 weeks to get the full mailing list application built, with flat-file datastore, printing, etc all complete and working. Looking back, everything was horrible about the implementation, it was ugly, inefficient, virtually unmaintainable... but it worked.

By 1996 I had started selling merchandise to the mailing list and written stock management, VAT accounting and reconciliation, the paper mailing list, an email marketing list, a shopping cart web-site, a community area on the web-site. This was effectively a shift from hobby programmer into a professional programmer and the start of a career in computing.

If I had been told those things were hard, or belonging to the problem domain of highly educated programmers, then perhaps I wouldn't have tried.

Believing in advance that anything was possible gave me the motivation to persevere, an obstacle would clearly be overcome if I could just stand back and think clearly about it.

After that... just carry on solving problems. Every time you have a new problem you gain fresh experience. Over time, that adds up.

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

#24
I'm self-taught - when I was in my early teens at high-school, my parents wouldn't let me watch TV or play computer games until the evening. Fiddling with HTML looked enough like school work that I got away with it during the afternoons after school.

I built a bunch of personal websites, and sold my first professional website (static HTML) to a local estate agent when I was 15, back in 2000. I charged £300 - around $500 at the time. I worked for them for a couple of years, updating properties etc.

I studied Law at university, but worked on websites for my college, the student paper and various sports teams. I started my first startup when I was 19 - I wrote a lot of bad PHP and inline MySQL queries whenever I needed data in what we now call "views". There was no test suite, no version control and I often made changes straight into production, because I couldn't get a LAMP environment running consistently on my PC. This repeatedly took the site down for hours at a time. This was back in 2004. The bad old days.

I took a break from coding to join a management consultancy for almost 3 years, although I ended up automating a lot of my work in Visual Basic (through Excel), and went on to teach the Excel course to colleagues.

I started my second company at the start of 2011, during an enforced 3-month period of "gardening leave" between two jobs. I decided that I wanted to learn how to code properly, so I bought "Agile Web Development with Rails", published by Pragmatic Programmers, and worked through it in about 3 or 4 days, non-stop. This was an epiphany - web development all started to make sense, and we launched the first version of our site about 2 weeks later. I knew enough Ruby to be dangerous, but probably not enough to get a job as a professional programmer.

As my co-founder was teaching himself HTML & CSS at the time, we didn't really have expertise in-house, so I spent a lot of time on the #rubyonrails channel on freenode - a wonderful place to get help on anything Rails related. Stack Overflow was also very useful.

By March or April of 2011, we'd been accepted onto Y Combinator and hired our first (extremely capable) engineer, who had a CS degree. This spurred me on to become more technically capable, so I just started devouring programming books. I've mostly steered away from the classics (Gang of Four just didn't make sense from a Ruby point-of-view), but there are often more practical, up-to-date equivalents in the language of your choice. "Design Patterns in Ruby" and "Eloquent Ruby", both by Russ Olsen, stand out for me.

Ruby Koans, and then implementing a bunch of common sorting algorithms have kept me keen to keep learning the more theoretical side of stuff. I've had a little more time on my hands recently, so I've divided into open-source software - I'm currently trying to help out with Resque 2.0 (pull request coming soon, I promise!).

I've recently played around with Clojure and Go, but I'm struggling to get into them without a practical project to spur me on.

I'd say I'm now competent enough to have a good shot at getting most Ruby-based development jobs out there, if that was a path I wanted to take. And it only took 14 years!

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

#25
1) self tought qbasic,c++ and php.Via book learn qbasic and tutorial in msdos 5.0 2)After had trouble not enough income work in mechanical engineering company(Car industry).target want to make spc.. 3)After taking certificate in 2007 4)Still learning other language like java,.net mvc razor but still fallback to php for real life working.

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

#26
1. By reading the source code of tape programs and magazine source listings. The BBC Micro boots to a command prompt and has Basic in ROM, so that was fairly helpful... and from then on for other languages, self-taught by viewing source code. 2. As soon as i could! (aged about 7) 3. My second job, after 3 months of hell in telesales.

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

#27
1) How did you learn to code?

It started with a book named "Basic para niños" (BASIC for Kids,) which as you may guess, taught me some BASIC when I was 8 years old. Then a few years later I learnt some basic Pascal (I don't remember where from, it may have been a class in my school, when I was around 11 or 12.) Then I taught me some assembler from a book (around 15) and Visual Basic (and Visual Basic for Applications) around that time, too. I didn't learn anything new until 17 when I started with Lisp and a little later, Python. Then in my university I was taught C (which I complemented by reading TFM, i.e. the K&R book.) After that I've learnt on my own many more languages, up to a certain fluency. The list of things I can at least write a "hello world" (actually if I have learnt it I can write something larger once I get back into the language structure, because every language I learn is for "something") includes Basic, Pascal (well, actually I don't remember much about Pascal,) C, Lisp (that's Common Lisp mainly, and quite a lot of Emacs Lisp... I can write Scheme, but somehow I never got really into the deeper parts of it that make it "Scheme",) Prolog, Forth, Go, Javascript (that's for the browser and for node.js,) Awk, Bash (heh,) Java (ugh,), octave/Matlab, R, PHP and probably 1 or 2 more I'm forgetting right now. I'm currently writing quite a lot of Go, trying to find some use for J to learn it (it's fg crazy!)

2) When did you start learning (perhaps informative because of the recent rise of MOOCs)?

When I was 7-8, that's (whoah) 23 years ago, in 1990-91, before I even had a computer at home.

3) At what point (if yet) did you start working as a programmer professionally relative to your initial efforts?

I'm not sure when the correct timing is. When I was working as a researcher I wrote quite a lot of code as part of my work, and now even if I write a lot of code for work, my main work is not being a programmer. It took a long time, of course, because I started early and didn't start to do real work until right after college.

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

#28

My parents bought me one of these when I was in basic school: http://en.wikipedia.org/wiki/ZX_Spectrum I was happy playing games for a few weeks and then it broke. It took one month to fix, so meanwhile I was left with the BASIC manual it came with. I read it to withstand the cravings and when I got the computer back I was already more interested in coding than playing games.

I started with a ZX81 around age 12, one or two models before Spectrum. It didn't have any games, but making games was a big motivation for me when getting it. Hell it didn't even have a tape station or any way to store your programs. So I would turn it on and type in some basic code from various computer magazines - usually some simple game - which would then be lost as soon as the computer was turned off again. It had 1kb of ram, which could be expanded with a bulky external cartridge of 16kb.

So I taught myself Basic. Later in school I was taught Comal 80, some variation of Cobol taught in Danish schools. I learned Pascal later, also in School. When Internet came to Denmark in 1995 I taught myself PHP v1+2+3, and later Javascript, and started my own little business creating websites, based on a selfmade CMS. PHP + javascript has served me well for 18 years, but I think its time to move on to something like Go - so thats what I am planning now.

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

#30
I'm a self-taught iOS developer (language: Objective-C) — an interest that began when I was 15/16 in 2009. Tried to learn it from Apple's documentation and the few online manuals there were back then, but wasn't ever able to grasp making apps any more complex than just a few buttons!

Started again properly about a year and a half ago when I began college (I'm 20 now - and I'm doing a Business Management degree), and haven't looked back since. You are right in saying that StackOverflow has literally changed the many people learn code because of how vast its library now is (for iPhone especially). Never had any formal education whatsoever — I've only ever read one book (http://www.apress.com/9781430236023), which was a complete beginner's guide. Everything else has been online tutorials (make sure you do your research and corroborate information on which blogs/sites are best to learn from for your chosen language), and Apple's amazing documentation.

As I am still in college, most of my projects are 'side'-projects, but with each iteration they're getting stronger. Collaborated with an SME to make an educational app and now have a contractual and in-house app lined up before Christmas. It's difficult to freelance like this, but the funding (loan) that comes with going to college means that I haven't needed to find a 'proper' job yet.

Never give up trying to learn, if you enjoy doing it. If you don't enjoy it, don't try to learn it past the point of caring. I constantly felt an 'impostor' syndrome-like feeling when working for the first company I worked with, but in reality, consistent hard work for at least a year will put you ahead of most average outsourcing operations for basic stuff. Try and validate your learning, too — keep a blog and constantly ask questions, either on SO or your language's forum of choice. A milestone for me was when I was accepted on student scholarship to attend WWDC this summer. Take it from me, you can achieve something similar if you make sure you don't slack!

I wish you the best of luck.

Post reply on HN