Live data from Hacker News

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

news.ycombinator.com

61–70 of 128 posts

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

#61
Self-taught. My dad brought home a decommissioned server (a 286 with 6mb of ram and a 40meg hard drive) one day which had DOS on it, but not much else. Naturally I found qbasic and the sample games that came with dos, and was able to start figuring things out. I played with batch files to create a menu system for the computer, but abandoned that as silly once I started to understand the computer better. He got me a copy of the Borland C++ compiler; version 3 as I recall. It included a thick reference manual that explained a lot about C and C++, so I was able to puzzle some things out from that (although it would be years before I really understood what I was doing enough to actually use a pointer correctly; there were so many crashes until then).

I discovered Javascript when I started poking around the source of the Mozilla Suite (which eventually became Firefox). I learned Scheme from watching Abelson and Sussman lecture from SICP. Learned some Erlang at some point, etc, etc.

I started all of this when I was 9 or 10. I started programming professionally after I discovered Javascript, which was my first year of college.

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

#62
Self taught, learned to program on a TRS-80. Studied electrical engineering in college, but switched to business so I could get a degree quickly and get out. No regrets.

I think computer science undergrad degrees are highly overrated. If you weren't already curious about computers as a child and didn't figure things out for yourself, what are you going to get by having your parents pay all this money to attend classes?

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

#63
I started with programming lessons after school, I was 13 and that was 1990. I had a ZX Spectrum at home and I could write basic, so that was the beginning for me.

After that it was mostly self-learning, specially reading other's people code (back then, CD-ROM included in magazines were gold). During my time at the university (CS degree) I learnt interesting things, but I think it was equivalent to reading good code.

My professional career started when I was 19 I think, just after my first year in university. So that was 6 years after starting programming, but to be fair I didn't have a "proper" computer until I was 18 (before that I did mainly gwbasic and cobol because my 80188-compatible PC didn't have HDD and I had to swap diskettes three times to compile a C program).

After I bought my first "modern" PC, it was like each month was equivalent to a year of learning compared to my previous experience. Something like that happened again when I got Internet connection at home, circa 1998.

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

#64
1) Mostly internet tutorials at first. Also with a few of free books (thanks to MS publish for translation!), code reading and RTFM. Recently, it became manuals (again) and StackOverflow. There's not that much usable materials because I am not a native English speaker. Eventually, I was getting to be able to read/write English, and I met a whole new world.

2) Actually I don't remember precisely. I was doing something like programming when I was mid-high school student. It was just beside me always. But that was just a 'script for fun' level with Visual Basic. I restarted real programming at 2007 with AS3.0 and C#. And now it finally became C/C++/Objective-C.

3) I have a B.A. degree in computer graphics design major. Programming job gave me real opportunity to make money. And actually I paid a lot more by programming stuffs when I was student. Also this fits to me a lot more than graphics design.

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

#65
Started off self-taught. Got some college learnin' in me eventually.

2) Wrote my first code at 8.

3) Got my first programming job at 16 at the US Air Force Research Laboratory in Rome, NY. I'm pushing 30 now and still going strong.

1) How did I first learn to code? Caveat: I think how I learned is a lot different from how most people learn today. I didn't have the Internet, or even a modem. I lived in a tiny, tiny town (~500 people) in Northern NY (closer to Canada than NYC).

But to answer the question, I picked up a book - the Commodore 64 BASIC Manual if I remember the title correctly. Some friends and I wanted to make a game. I remember my friend's dad telling me that I'd need to learn to Program a computer. I didn't know what that was, but I wanted that game, dammit. He didn't teach me to program (he didn't know how, either), but he did let me rifle around in a box of books he had.

A bit later I switched to coding various nefarious tools for AOL (punters, phishers, crackers, mass mailers, etc) on the Mac (Macfilez/zelifcam, anyone?). Everything was done in this tool called OneClick that forced everything to be fairly open and modifiable, so I learned that by example. Incidentally I stumbled into A/B testing by writing automated 'phishers' on AOL (Anyone got any A bit later I switched to a PC running windows 98, and I picked up a pirated copy of VB 3.0. I learned that from a For Dummies book, I believe. I eventually shifted to 5.0, then 6.0, and started learning ASP and web stuff. I did a bit of work here and there for myself and for my school.

Eventually I got lucky and one of the Project Managers at the AFRL offered me a job. The AFRL is really slow to do anything, let alone hiring teenagers to build chem/bio weapons detection systems, so he dumped a bit of extra money into one of his contractors and they hired me. He even worked with my high school so that I could juggle my classes around and get out after a half day. Department of Defense letterhead goes a long way. Eventually the bureaucracy came around and the AFRL offices in Rome modified their internship program to include local high school students. I believe the program is still quite active, and it's been hugely useful for both the kids in the nearby po-dunk towns as well as the AFRL. From my end, it was an amazing experience. I had access to tons of awesome equipment, lots of very enthusiastic and very good mentors, and I got to do real work on a real project that had real users (hard to find in DoD work sometimes, especially when it falls under the 'research' umbrella).

I started formal schooling a year and a half later. My university thankfully placed a lot of emphasis on cross disciplinary collaboration. It is a technical university, and CS was a popular program there. For non-computing degrees (engineering, sciences) CS students were often seen as useful, and quite often other programs required that their students pair up with one of us to be successful on larger projects. As a result I spent a ton of time in my university's marine sciences/engineering department. I ended up working for a professor there building in situ oceanographic sensors. It was there that I really learned the "power" of having a domain, and that computing extends far, far beyond computers.

Today I'm still learning, but it's really just your run-of-the mill on the job type stuff. Occasionally I geek out on a side project when I get excited about some new technology which isn't applicable to my day job. This keeps me sane, and often teaches me things that I can bring back to my day job. It's kind of like an individual-scale space program, and the new tricks I learn are velcro, styrofoam, etc.

The question not asked: How do I think a newcomer should learn? Two big, big things that nobody really mentions: find motivation, and completely ditch the 'this is hard' fear.

On motivation, just give yourself a goal which writing some software will help you attain. For most people who aren't already implicitly motivated by the 'compters are neato!' vibe, this must be a goal which is related to something you already care about.

On fear, I've seen the 'this is hard' assumption/mentality cause sooo many people to quit long before they ever gave it a shot. If it's hard, find something that makes it easy. The best resource is a mentor if you can get one.

Also regarding the 'this is hard' fear/mentality, take up rock climbing if you can. I can't think of an activity more analogous to building and debugging software than trying to figure out a climbing problem. It's hard? Then you're not attacking it from the right angle. In bouldering especially sometimes the difference between hard and stupid easy is whether or not you're stepping on the inside or the outside of your foot.

Don't bother with finding good 'learn to code' resources until you've found motivation and ditched the fear (if you ever had it).

Hope this helps. Contact info is in my profile if you want to get in touch!

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

#66
I am self taught, started learning programming around the age of 7-8. That was in 1987-88. The funny thing is that i did not know any english at the time, being from the middle east and french educated. I learned Basic from a french science magazine my dad used to get me, called "Sciences & Vie" (Life and science), and that used to have a programming section in Basic at the very end. Obviously all the basic commands are in english, luckily the magazines coders commented their code thoroughly in french. Initially, and before my dad accepted to get me a computer, i used to "think the code" and write it down on a my notebook (a real paper notebook), i think i still have that somewhere, i wrote some basic stuff like a simple text encryptor, calculator etc... Finally in 88 my dad got me a used commodore64, then two years later a used 80286 etc... It was quite difficult at first, for my lack of knowledge of english, much of my learning was by deduction from how magazine code was supposed to work and comments. There was no internet, no programming books around, the country was in the middle of a civil war, and few people knew anything about computers. But then, around age 12, the war was "over" and english was added to our curriculum, and things got a lot easier. I sold my first software at age 16 for 350USD, it was an internet & LAN gaming cafe management software, that used to time usage on computers and report to a central invoicing "server", written in Visual Basic.

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

#67
Got Atari 800XL when I age 12. It came with simple Atari BASIC programming manual. My friend (also Atari owner) had more advanced book so I borrowed it from him after some time (curiously he didn't become a programmer).

I moved from Atari BASIC to Turbo Basic (superset of functionality and much faster) , to ACTION (compiled language, high level but translating very straightforwardly to machine language), then 6502 assembler. Then Kyan Pascal just to play with. The I got PC (age 16 or so). So Turbo Pascal, Delphi, Borland C++ Builder. Then I stared learning for my master degree and computer science. Most formative experience during college was building sample app in PHP with two teammates. I ended up doing mostly this for profit during last year of college and ever since (I don't always use PHP). During college I picked up Java and C#. Since then I picked up Python and Ruby.

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

#68
1) Started with QBasic. Didn't have internet back then. Literally just read the help file for every single command listed and whatever wasn't explained about its usage I learned through trial and error. (To this day I don't know how I bricked my mothers computer with bload/bsave and somehow overwrote cmos.. according to the tech who fixed it).

2) I started when I was 8 or 9 years old.

3) I started doing freelance on and off when I was 21, and eventually started making more than my part time job. It took about 2 years though before I went full time. I tried to go full time twice but would have to go back to part time work due to both motivation and client issues.

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

#69
Age 35 now, starting programming as a kid by reading the manual that came with my Spectrum, getting books out of the library and typing in "listings" from magazines etc..

Had to check wikipedia for when the machine I had came out, but according to that I must have been 8 years old. Kind of scary, since I have a 6 year old myself now.

Learned a lot by reading the original Wiki, which was like the StackOverflow of its day, though more about concepts than specific problems and solutions:

http://c2.com/cgi/wiki

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

#70
I'm self taught. The first time I got in touch with a programming language was at age 10, when my math teacher showed us an algorithm for the greatest common devisor. I wrote it in qbasic at the time and was astonished by the power of this 286 machine to do my homework. I went on to adapt open source games like nibbles and gorilla. I was especially proud about figuring out the math to turn the bordered nibbles world into a donut. Subsequently I read anything about computers I could get my fingers on. The DOS manual was my evening lecture for several month :D my interest stayed confined to math & algorithms until I got a new physics teacher at age 14, who taught us about fractals & recursion with me starting to learn Delphi and windows apis. I wrote my first self replicating office viruses and trojans and learned about sockets to report back. Couldn't solve the problem of data errors over the internet and went on to other ideas. At age 15 I went for an exchange highschool year to the US. I got suspended for hacking into the principals account. no damage was done, so my visa got reinstated and I was able to leave the country. Back at home I joined a computer class and started learning about cryptography and security. For my final high school exam I implemented RSA. In university I finally learned proper software development and chose a browser rpg Ai as a personal side project to get really good at this "object oriented" stuff :D it ended up being completely autonomous with pathfinding and map building, monster fighting, selling and archiving items and would report gold levels daily, which I would then sell on Ebay. It had to break login Captcha and would use my own wget based API to interface with the browser game. Later I finished a master in Ai. This was 4 years ago, and the rate at which I am creating side projects now a days wouldn't fit in here. As a general rule: for the last 18 years I always had a sideproject to work on and this is how I got good. Feel free to ask specific questions if you want to know more ;)
Post reply on HN