6 ms·
Ask HN: How did you learn coding
HN seems to have a pretty interesting community of professionals and self-taught coders, so how did you learn?
Suggested topics:
- Medium of learning: classroom, textbook, etc.
- Age you started
- Whether you taught yourself
- What kept you coding
- pesfandiar 10y agoThe first language I learned was BASIC at the age of 12 (in the 90s). We didn't have a PC at home, so I just learned it by reading a book. That was the main reason my family was convinced to buy a PC after all. After that, I kept coding because I really liked solving puzzles and building things. To me, libraries and APIs were like pieces of LEGO that you could use to create your own contraption. Probably the most exciting coding moment was when I figured out how to use interrupt 33h to add mouse functionality to my games!
- discordance 10y agoExtending on this... Are universities the best place to get a CS education these days?
- steven777400 10y agoA CS education maybe, a programming education probably not. A lot of it depends on how self-motivated and auto-didactic you are. I've taught CS at universities and programming as well. I taught full time at a community college for half a decade in a vocational programming degree. I tried to slip as much useful theory into the courses as I could, but ultimately they were terminal voc-tech degrees like welding and auto mechanic that enabled the graduates to go to work at entry level developers at local employers (primarily state government). I often wondered "what is it that we do here?" since everything I would teach was available online, and more, and better, and free! But many students just need someone to be there and guide them through things (this is why the online courses our department tried to do were a disaster). For a self motivated independent learner, they would no doubt go crazy in the on-the-rails structured courses. For computer science, the science part, where you primarily investigate computational-related mathematics, I think a formal education from a university is invaluable. But only a small fraction of software development jobs (if that's what you want to do) need that level of rigor.
- christianmann 10y agoIs your question about Computer Science or programming?
- btian 10y agoLego Mindstorms at 11 or 12.
- rjeli 10y agoMIT's Scratch in elementary school.
- sampl 10y agoPlayed with QBasic when I was a kid, took a Java course, hacked on HTML/CSS/jQuery for my radio station and got a job writing code at a web shop after college. What really got me "over the hump" was deciding one weekend that I needed to focus if I was going to be able to bring my ideas to life (www.sampl.us). I got Javascript, The Good Parts on Amazon and just hammered on the basics of the language over the course of a few weekends. I kept at it over the next few weeks, and I've come back to it in bursts ever since. Never fails to be one of the most rewarding and frustrating parts of my week. Five years later, I'm still a pretty mediocre programmer. But now when I can have an idea, I get to watch it become real. It's a good feeling :)
- d--b 10y agoTi calculator age 14. C using the C programming language book. Then caml at school. Lisp, c++, Java at uni. and all that for ending up doing data science in Excel!
- dmerrick 10y agoI learned how to program on a TI-83 graphing calculator. I was bored in class and I made a simple text-based blackjack game. Later my friends and I would use the link cable to share programs between our calculators, and I would pour over the source code and try to understand everything. There was an ASCII fighting game I loved and I added new moves and characters. Once I learned how to "view source" a website I started doing that everywhere and figuring out how the Web worked. That, plus a Linux install disk and an old, case-less desktop got me on the road to where I am today (supporting a SaaS company as an Infrastructure Engineer).
- sixstringtheory 10y agoSame for me, had a TI-85 when I was 13 (which now I wish I hadn't sold, it's a collector's item! Never giving up my 89!) Friend and I wrote a Drug Wars clone and a bunch of math solvers. Then we got into websites in the same way. Also had an old Windows machine, on which I pored through every DOS man page (didn't turn onto *nix till way later). Took AP CS in high school on a whim just for the credit and haven't looked back since, been at it for 18 years now. Thinking about a sabbatical though as of late.
- applecrazy 10y agoI've heard a lot of people who have gotten interesting in coding through a graphing calculator...but in 2016 doesn't anyone think that they're a bit outdated? People started writing programs for graphing calculators because the needed these devices for school, so somebody should introduce kids to Raspberry Pis and Python. It's a shame that in the US there is a lack of proper CS education in most schools. Not only is programming well-paying (most of the time) but it also helps students break down difficult tasks into simpler ones.
- cyberferret 10y agoI am pretty much self taught since the age of 14 (back in the early 80's). Started using BASIC on an old TRS-80 and then a Vic-20 after that before moving to an IBM PC/XT. I bought a copy of Turbo Pascal when it first came out and that was really my first foray into the world of 'real' programming. I think I made my first $$ from a software sale from a Turbo Pascal simple point of sale system I wrote for a pharmacy. Since then, I've pretty much taught myself several other languages over the years. I find books and video courses to be of low value (NOTE: To ME, others may find opposite results). Latest work is in Ruby and Javascript etc. using SQL backends. I've found the best way for me to really get to grips with any language is to start building small 'real world' projects with it and experience all the triumphs and pitfalls along the way. Having said that, I do struggle with some new concepts these days. NoSQL still baffles me, and I never got the hang of Ruby on Rails (my latest web app is 25,000+ lines of Ruby but in a Sinatra based framework). So, no formal software development training, but I have the love for creating stuff out of code that keeps me motivated to constantly learn.
- R_haterade 10y agoSaw that people I was working with were doing cool things in VBA in my early 20s, so I started using the macro recorder and then backing into things from there. Now I'm okay-ish with c++, python, and a little bit of matlab. I need to do some serious work with learning design patterns and study more algorithms before I'd really consider myself a good programmer.
- nevster 10y agoMy brother went to a computer camp and brought back a folder with an introduction to BASIC printed using that purple ink tech they had before photocopiers. (What's that called again?) We didn't have a computer but I read that and loved it. A friend had an Apple II and I got to try out some of the stuff round at his house. Later on when I was in year 9 (1985) I got my first computer ,an Apple //c and I did more BASIC and some assembler. Then uni in 1989 where we learnt Miranda, Modula-2, etc etc. Made the transition to Java in 1997.
- jdeisenberg 10y agoAge 16 or so, Boy Scout explorer post at the local bank in 1969. The person teaching us (a programmer at the bank) gave us a brief intro to the RPG (Report Program Generator) language, then said "Now, think of something you'd like the computer to do, and write a program to do it. Here are the manuals, and I'm here to answer any questions you might have." First "real" experience was at Univ. of Illinois, CS 101, with PL/I as the language.
- willempienaar 10y agoQBasic when I was 10 (on my own). Then I did some VB tinkering after that. Java in high school. In university the floodgates opened. C# / Python / C / C++ / JS / HTML & CSS. It's always been about creating something.
- wrs 10y agoI started by borrowing my mom's login for the HP2000 at the local college when I was 9 (that's 1976). Amazingly, the college let me take Fortran and PL/I classes for real. Other than that, was self-taught through high school, then got a CS degree at CMU and paid attention to at least some of the classes. As for why...what on earth is more fun than coding?! (edit: I see there's an HP laptop called the HP 2000. I mean this one: http://www.hpmuseum.net/display_item.php?hw=411 http://www.hpmuseum.net/display_item.php?hw=411)
- bcheung 10y agoSelf taught. Started programming at the age of 7. It was a programming book designed for kids. It taught BASIC on the Commodore 64. I later went to learn assembly at age 11 because I was interested in video game development and assembly was the only way to get access to additional functionality / performance. Moved on to C and x86 Assembly in my early teenage years (again motivated by making video games). Moved more to general purpose / web technologies once the Internet started becoming more popular. PHP, Java, Rails, Node.
- bluenose69 10y agoFortran, early 1970s; dozens of other languages from books until 10y ago, thereafter from web
- sushisource 10y agoMy dad and I used to build those Radio Shack kits where you could make a simple radio with a breadboard. This was probably when I was 5 or 6? It was clear that I enjoyed that, and I enjoyed the old DOS games at the time, and my dad had a bit of an IS background at the time, so he encouraged me and together we did some BASIC programming together. I also eventually got one of those Lego Mindstorms kits as one of the other commenters mentioned when they came out, which probably would've been around age 7 or 8. I just took off by myself after that. Playing around more with basic, eventually learning some basic frontend stuff so I could show off webpages to my friends, and then moving on to some Java after that. It's been a passion ever since.
- Kapura 10y agoI'm another member of the TI-83 club. Shoutouts to the little L who made it all possible. Initially I used it in math to avoid having to do the rote computations, but eventually I started building other stuff. I built a simple game that had you navigating an ASCII character to collect the pi while another ASCII character chased you. Frames would advance on input, sort of like a rogue-like. Eventually I made a text-based RPG combat game, where you would select enemies to battle, and gain XP to increase your stats which would allow you to fight higher level enemies, etc. The final boss's selection code was '666' and he was orders of magnitude more difficult than the next-hardest enemy. I also had a book about learning to program in C++, it was p bare bones and I didn't learn very much from it.
- Joeboy 10y agoMy parents bought the family a ZX Spectrum, which came with a BASIC manual and a summary of machine code instructions. I was 12 years old and it was the 1980s and there wasn't anything better to do.
- jesuslop 10y agowhoa i'm also you in this. Angulo spanish Z80 asm book then. Local cs amateur club, "folks do you have the complete rom dissasembly?" (of the spectrum), answer: yeaaahhh... no. More childlier at my granpa's he had that cheesy computing magazine with few lines of basic. I was out of myself. woa, this is like math, but moving. Nobody cared but so what. Maths moved.
- idid 10y agoI've tried teaching myself C at age 10-11 in order to do embark on creating a Heroes of Might and Magic clone with Incas, because. Never got besides the paper planning. Didn't have a computer yet then, had to time-share on my dad's from his office. Was getting in late to try things. In high school I was extremely lucky to have an amazing teacher that taught us C++ by throwing away the standard state-provided manual (this was Romania) and using her own methods, problems and curricula. Next, coding interactive visualisations kept me going (there were cool enough to attract attention of well, umm... girls. I was a teenager, mind you). My high school graduation project was a 3d engine coded up from scratch in actionscript. I took a break for two years while studying architecture, but then discovered all the amazing things you can do with space, geometry, networks and code. I am still discovering new avenues. I'm am a fully licensed architect (read buildings, not software) yet I now find myself coding all the time.
- leighflix 10y agoBack in 7th grade - about 5 years ago - I first found python. I had no idea what programming was, but i saw a game that I wanted to create and it said this is how. I read the elusive documentation (to a 12 year old me, very elusive) word for word and just went with it. At the time, I didnt't know what a compiler or an interpreter was so I just wrote it all down on paper and did the calculations/instructions in my head and wrote down the results. (I couldn't tell if I had an error or not) After about 2-3 weeks, I quit. I couldn't understand anything really. I had no idea what a class was or what a method did. About a year later, I heard of minecraft and started playing that. I heard it was made with java so I went on youtube (which I recently found existed) and watched java game development tutorials. Needless to say, it was hard and I didn't udnerstand anything. I didn't know java or anything. After about 2 months or so of frustration, I found the official tutorial on oracle and started learning from that. It was hard and I did not learn anything. in 9th grade - 3 years ago - I took computer science as a math elective class. I learn java a bit slowly but I understand almost everything due to my past failed attemps giving me some foundation. During the summer after 9th grade, I started learning python again. I got all the way up to classes and such and stopped because I couldn't understand OOP in python because noone could even begin to teach OOP with python. I felt inadequate so I temporary stopped (quit). During 10th grade, I started to really learn java. I bought tons of books and used the official tutorial with various other websites, and after all of my hard work. I understand the basics of java. Skip to now - 12th grade - I'm learning extensive OOP programming concepts with java and learn how to create GUI applications with awt and swing (holding off javafx for now). I'm mostly self-taught despite going to classes for 2 years of computer science in highschool. I just really want to say, through all of my 4-5 years of experience on and off of learning programming: If you don't understand something, come back to it later.
- applecrazy 10y agoIt's not just you- I've been using Python for fun for 3 years and I still find the docs elusive! :)
- hprotagonist 10y agoI started on LOGO and Q-BASIC. (IBM PS/2, baby). Everything I actually know about coding came about during my undergraduate engineering education, where a minimal amount of Matlab was needed for labs. I got super into it, then I installed linux, then I started writing my problem sets in LaTeX ... Several years later, my second job made me into an actual developer for scientific computation, and that learning curve consisted of three years of pair-programming with a guy who has 30 years in the game. You learn quickly that way, and I had enough a foundation under me of my own making so that I didn't drown -- but not too much that all my bad habits were too hard to undo.
- cyberferret 10y agoAhhh... the IBM PS/2 - probably one of my favourite ever computers to use. I had a Model 50 and a model 70 for years.
- westoncb 10y agoPhase 1: HTML and modifying other people's javascripts to add terrible animated cursors etc. to my personal page. Phase 2: took a class in high school on Visual Basic and learned more on the side so that I could make games with it. Made a couple games with it. Phase 3: took essentially Java Programming 101 at a local community college concurrently with high school, and started to get serious about making games. Phase 4: made about 30 projects in Java—just whatever I felt like working on at the time—games, game engines, an emulator, 3D model loading/animating/rendering library, tools for making content for games. Almost none of these were completely finished but I learned a ton with each, and sort of climbed a ladder with it, trying progressively more difficult things all the time. This lasted ~3 years. Phase 5: got a repetitive strain injury from typing/mousing too much and stopped coding (not completely, but nearly) for several years. Studied mathematics and language more deeply than what school prompted me to previously, somewhat hoping this knowledge would come in handy if I could return to coding some day. Phase 6: decided to work on a major project that I believed would allow me to efficiently write code with motion sensors (thereby avoiding the injury). This ended up being a pretty deep, difficult project that was actually doing something sort of novel in software for the first time, and I learned tons working on it over the next year and a half, primarily about programming languages and architecture (http://westoncb.com/projects/tiledtext http://westoncb.com/projects/tiledtext). Phase 7: I've been writing software professionally off and on for a few years now, still occasionally returning to side projects. I still retain an awareness for areas I can improve, but it's more about using than developing skills now. I've returned to html/javascript after all these years. It's interesting.
- MaulingMonkey 10y agoSome self-taught BASIC via computer books and what I believe was an Apple 2 Manual, an intro level C++ class around 12 or so (my "for beginners" C game programming books before then weren't actually for beginners - assumed you knew hexadecimal, grokked pointers, etc.), and then a ton more reading online coupled with forums and IRC channel trolling. Learned a lot through "osmosis" - just listening and trying to understand people talking about programming subjects I hadn't known about before. If one spends some time in Japan to practice getting really fluent in Japanese, I spent a lot of time in programming circles getting fluent in Programming. First I was curious as to how computers could possibly work, then I wanted to build things for computers, and then people wanted to pay me to build things for computers. It's worked out pretty well for me so far.
- pixelmonkey 10y agoI'm a startup CTO with 10+ years of coding experience and I wrote a 7,000 word post on this topic entitled "My Long Journey to Knowing Software Sorta Well". Still have yet to publish it elsewhere as I had planned to edit it extensively. I welcome feedback on this draft from HN readers, though! http://simp.ly/publish/gsqMKl http://simp.ly/publish/gsqMKl
- mcs_ 10y agoIn many cases. Telling others... yes! I can learn how to do that. At 17 a friend of mine asked me some help to port an old (and probably still working) COBOL app. Project wasn't really financed and absolutely not intended to be a production ready solution. At 20 I was still working on that project. At that time in production and at least with the budget for us. Year after year I can tell that my knowledge was totally community driven. Than.. I understood Unix (yes Microsoft was everything for 10 years). And I definitely understood how to code looking at other's code. Btw. Thanks everyone for the open source.
- pault 10y agoI spent about five years working as a graphic designer (both parents were designers with home offices that they encouraged me to use as a teenager) before I realized it was a relatively difficult and unappreciated profession considering the average salary. At the time (I was about 24, 2004-ish) I was working closely with a team of java developers and I knew I was capable of doing what they did, so I just eavesdropped on all of their technical conversation and looked up the terms I couldn't understand. I had to do some flash work as part of my job, so I picked up some actionscript, read a bunch of materials on OOP freely available from Sun Microsystems at the time (not very high quality compared to what is available today). I stopped drinking, stopped going out on the town, and started coming home every day after work and reading everything I could find on actionscript and javascript, and building portfolio apps. I kept telling everyone I worked with that I was learning programming and eventually someone referred me to a small design agency that was looking for a junior developer. They ended up growing fairly rapidly with a lot of clients in the Seattle startup community, and that exposed me to the network that I still get my work from today. My first year there was hellish and I often had to sleep under my desk as I tried to keep up with client deadlines while learning on the job, but I eventually gained some proficiency and the rest is history. It has been my life's passion ever since, and I shudder to think how my life would have turned out if I hadn't taken that leap. I hope that I can have children and teach them everything I know about computers some day. Edit: I probably wouldn't have been exposed to half of the stuff I now know if it weren't for HN, which I consider one of the treasures of the internet.
- DrNuke 10y agoApple IIc in the mid '80s as a kid then a teenager... DOS, Integer BASIC and Instant Pascal. Never good with Assemblers though.
- psyc 10y agoBASIC and library books. Age 12.
- a-no-n 10y agoNot counting LOGO, making small changes in Borland Pascal (a DOS IDE with an integrated debugger, profiler and disassembler) trying random things until it didn't lock up the computer with a copy of The Programmer's PC Sourcebook to try out various video functions and draw on the screen using the framebuffer. Later discovered ModeX and protected/unreal mode.
- m48 10y agoStarted screwing around with a limited version of Visual Basic 6 when I was 8 or 9. I had always liked the visual design of computer programs, so the programming was sort of a means to an end to make cool GUIs. This limited Visual Basic had most of the features of the professional edition, except you couldn't distribute compiled programs (only run them in the editor), and they took out all the help files for some reason. I got pretty used to having to forage on my own to find decent documentation for anything, relying on computer manuals from local libraries and tutorials from random sites to fill in the blanks. I'm not really sure why I had the patience to put up with that, to be honest. I think I just assumed everyone learned programming like that. I pretty much never met another person who knew anything about computer programming face-to-face until I went to college. When I got tired of not being able to compile anything, I ended up experimenting with Visual Basic.net in a beta of Visual Studio 2005 a relative gave me, had a bad experience with that, and started looking for alternatives. Eventually, I basically settled on Python. I still think Visual Basic 6 is one of the best programming environments ever made. It started in seconds, the GUI designer just worked, and the autocomplete was perfect. It even opened up with a blank project you could start screwing around with without even saving anything, encouraging a lot of experimentation with the widgets and language. It was QBasic for a different generation. :(
- BWStearns 10y agoI learned HTML and extremely basic JS in lower school to make basic web pages and kinda-sorta knew how to use browser tools to look into network requests (i.e. cheat on addictinggames type sites) and view page source etc. I started intentionally learning when I got an office job in college and realized that a lot of the boring stuff I was doing would be trivial to automate. After excel formulae stopped being enough for what I wanted to do I went and learned python. VBA would have been the next logical step but after some investigation I found that was a good way to get shanghaied into terrible work forever. I learned initially through Udacity's intro to programming Python course (their original search engine one), and then Norvig's follow on course. After that I started getting better at learning from the documentation and looking up the math and data structures I needed. After I got sick of the office job I was at I did a dev bootcamp to get some kind of credential and to get some webdev experience (all my previous code was data munging, web crawlers, really terrible home grown templating solutions etc). When all you have is a hammer everything looks like a nail, but code is one hell of a hammer, so I kept coding because there was always more crap I didn't want to do repeatedly. The thing that struck me though was how no one else in that office (filled with quite intelligent people) seemed to see the opportunity before then. This is one of the reasons I wish everyone at least had exposure to coding. It seems rather unfair that previous experience as an addle-brained 8 year making a Pokemon or snowboarding website should have seeded such a relative advantage.
- rboyd 10y ago5 and 6 years old, my brother and I played Zork on a neighbor's computer. NES, Atari. One day he comes home from the library with a book about BASIC. Not owning a computer, we spent all summer with pen-to-paper writing our own text adventure. Not sure if it would have run or not. 5 or 6 years later we finally get a Packard Bell from Walmart. Discover BBS. Warez a copy of Turbo Pascal 6. Rest is history.
- king_magic 10y agoFirst coded on my Dad's Commodore 64 when I was maybe 9-10, and never stopped programming/building software (now 33). I guarantee I was the only one in my school district who received a copy of Visual C++ 4.0 for Christmas the year it came out. Kept at it through middle/high school, then a 4yr BS in CS. 10 years later and it's still my favorite thing to do.
- codyb 10y agoProject euler! What a blast I had solving those problems in middle and high schools and uni.
- steanne 10y agocompute! magazine
- pcsanwald 10y agoI started coding because I like to make useful things. I took vocational electronics in high school, and I REALLY liked digital circuit design, so my teacher recommended I take a programming class. Programming was taught in turbo pascal on machines that had no hard drives, only large floppy disks ('94). I picked it up very quickly, and made my mom (a teacher herself) a grading program she could use to manage student's grades, wrote a couple of screensavers, all in turbo pascal. I then delved into C++, and started learning unix, and learned to write system utilities and scripts as well as basic sysadmin stuff. I took some time off of school to work as a touring musician, but when I went back to college (as a CS major), I needed a job, so I got a job at Glaxo Wellcome because I was a capable sysadmin who could manage the DEC boxes they used for development, and I could also code. I did a bunch of things for them in C, then perl, then finally java after it was out. I'm coming up on 20 years of working as a professional programmer, and I still love to code as much as I did back in high school. I've had various executive roles over the past 8 years, but I've never moved away from coding. It's one of the great joys of my life.
- antod 10y agoIn the early 80s at around 10yrs old I taught myself BASIC from books/manuals on a TRS-80 model III at my fathers office and my own ZX Spectrum at home that I'd saved up for. Totally failed at teaching myself Z80 machine code on the Spectrum though. Part of that failure was probably something to do with manually assembling the code and POKEing it into memory (ie crap tools). Did more AmigaBASIC on an Amiga 500 in the late 80s. Totally failed at teaching myself C on the Amiga too (crap tools also played a part here - using a really buggy C compiler I found on a Fred Fish disk).
- vsviridov 10y agoFirst was BASIC built into a Soviet ZX Spectrum clone. Then, a bunch of years later, i tried pirated copy of Borland Delphi 4, since it was all mostly drag and drop. Some years after I got free clan page hosting from planetunreal.ru (I was playing a lot of UT at the time), which offered PHP/MySQL combo.
- Vanit 10y agoGot my start in RPG Maker 2000 :)
- deleted 10y ago[deleted]
- meira 10y agomIRC Scripting/regex/bots of Dragon Ball Z fight systems at age of 10, then HTML and CSS for a DBZ website.
- rdpennington 10y agoI started in the late '70s when I built a processor technology sol-20 from tubes of ICs, a circuit board, and parts for a case. The damn thing didn't work when I powered it up. I was crushed. I took it in to the Milwaukee Computer Store and the tech guy (I wish I could remember his name) pointed out that one of the EEPROM pins had bent underneath the chip. He straightened it and boom! I learned to program the Intel 8080 based Sol from the "intel 8080 Microcomputer System's User's Manual", September 1975. In what must have been an early example of software piracy, I dumped a hex dump of my University's Intel development system's macro assembler and typed it in by hand. I hand edited the code in hex to use the Sol's cassette tape drive instead of the paper tape, Cool stuff: Load assembler from tape, load assembler sourec from tape, rewind, load again for pass two. UCSD Pascal came out around that time, but it required more than the Sol's available 48K of memory. I disassembled the Sol's monitor and moved it from 0xc000 up to 0xf800 (I think) and, Hey Presto! I had a Pascal development environment. I think I wrote one or two Pascal programs before I met... C. I first used Small C on the 8080 and then decided I needed a processor with better addressing modes. I switched to the 6809, wrote the Introl-C compiler, and almost lived happily ever after. :-)
- teilo 10y agoAt the age of 12, I learned BASIC on a TRS-80 Color Computer 2, using the books that came with the machine. When I was 16, I ditched GOTO and GOSUB by learning QuickBasic on a PC. QuickBasic was essentially the DOS equivalent of VisualBasic, and compiled to executables. It came with its own IDE. I made a decent amount of money selling a kiosk-style menu system using it. QBasic, which came later, was an interpreted version of QuickBasic, so I never bothered with it. That was 27 years ago. These days I'm doing Python/Django mostly, but am getting into Elixir/Phoenix. I have yet to take a formal programming course.
- nidx 10y ago1996 - age 14. I had just gotten a computer at home I could use. I took computer science class in summer school (extra credit. Summers without school suck). Watcom basic. A year and a half later my professor gave up and gave me the wbasic manual so I could play with non ascii which he did not understand. I was 99% sure I would be working in pure math before then. I always loved solving problems or puzzles. Computers seemed to give me more options. Played with Linux/BeOS/Visual Basic. (And a very little java/Delphi). Got my BsC, now I lead a team of 5+ and work in any language/framework I want.
- alex_wang 10y agoI roughly browsed most of the comments and noticed that most people who taught themselves programming started earlier than their 20s, which, frankly speaking, surprised me a lot. I started learning programming when I was in college, which wasn't some serious learning but merely required courses of my major. After I got my bachelor in engineering. I continued to study in a research institute and got a master degree in geosciences. Later on, I started to teach English the moment I graduated. Right in the beginning of this year, I realized that teaching bored me to death. I still wanted to do something technical. So, I began teaching myself coding in Objective-C. Three month later, I became an iOS programmer. I don't think I am particularly smart or anything. But, when I worked with people who had one or two more years of programming experience than me (I only I had six month or so doing real programming), their code was just fucking too messy: no comments, using pinyin to spell variables, having no idea what MVC is ... All I thought was guys you should really take this seriously. Or, you'd better consider doing something that's your strong suit.
- alex_wang 10y agoI roughly browsed most of the comments and noticed that most people who taught themselves programming started earlier than their 20s, which, frankly speaking, surprised me a lot. I started learning programming when I was in college, which wasn't some serious learning but merely required courses of my major. After I got my bachelor in engineering. I continued to study in a research institute and got a master degree in geosciences. Later on, I started to teach English the moment I graduated. Right in the beginning of this year, I realized that teaching bored me to death. I still wanted to do something technical. So, I began teaching myself coding in Objective-C. Three month later, I became an iOS programmer. I don't think I am particularly smart or anything. But, when I worked with people who had one or two more years of programming experience than me (I only I had six month or so doing real programming), their code was just fucking too messy: no comments, using pinyin to spell variables, having no idea what MVC is ... All I thought was guys you should really take this seriously. Or, you'd better consider doing something that's your strong suit.
- e19293001 10y agoThis book[0] enlightened me in a lot of ways. Check out the book review, I would testify that almost of what the reviewers said are true. By reading this book, I've developed my skills in programming with C/C++, assembly language and also learning computer architecture all at the same time. This book contains lots of low level stuffs like designing a cpu core, translate a C++ program to assembly, write an assembler, and many more. The explanation starts with a very simple concepts like translating y = x + 1; to assembly language equivalent until translating an object oriented code to its equivalent assembly language code. It has been a lot of fun learning the relationship of cpu, operating system and the compiler. The exercises are easy enough and had really sharpen my skills. Although the target machine is theoretical, I was able to switch easily into the real machine. [0] - https://www.amazon.com/Assembly-Language-Computer-Architecture-JavaTM/dp/0534405274 https://www.amazon.com/Assembly-Language-Computer-Architectu...
- Rainymood 10y ago1. Want to create games as a naive kid 2. Fail horribly, make some crude pong and snake clones 3. Dabble in Python automating little pain points in my life That's where I'm at right now.
- veddox 10y agoIn tenth grade in high school Java programming came up in IT class. Unfortunately, our teacher didn't have much of a clue herself... However, programming was something I'd been wanting to learn for a long time, so I downloaded all the example source code from the school system, borrowed a couple of books from our local library and dug in. Using that, I taught myself Java over the next year, then moved on to other languages.
- dorfuss 10y agoI was 13 when learned HTML by reading source code, playing, and a very good tutorial (no longer around), then CSS. I tried different languages, C++ with Borland compiler, but I could not understand how the basic syntax can be translated into a game - this is what I really wanted to do. I wanted graphics. JavaScript did not make sense at all, I found it too complicated, I did not understand the difference between client and server. Then I learned PHP to run a website of our school class, I used PHP to automatically generate a gallery of pictures located in a folder. Saved me tens of hours of time. Then I started playing with Flash and ActionScript and I was shocked to discover that different shapes - triangles, circles and rectangels are objects that share methods (resize, fill colour etc.) and that was the Object Oriented revelation. Years passed. I got a job in IT where I had to learn the internal scripting language and do a lot of SQL - so I've learned that. The product did not allow you to do certain things and they had to be "hard hacked" in JavaScript, so I had to learn that, and I realised it's no longer difficult. I learned C++ finally when for a short time I enrolled into University (software engineering). Then I got a new job where the product was made in Java and in order to make any extensions they had to be coded in Java, so I learned Java (Head First Java). In the process I realised what are the unit tests and how to first write a test and then your object. Somewhere along the way I learned about Design Patterns, but I cannot say I really can use them effectively. I also learned C. I no longer work in IT, coding is just a weekend hobby. Now what I still have to learn is to make bigger things that would make sense for others, both in therms of usability and code readibility (I write heinous-ugly code). I am ignorant of MVC model. I don't know much about linux administration or scalability and functional paradigm. I hate myself for not knowing math beyond highschool level. Still a long long way to go :)
- bananicorn 10y agoI made my first attempts at coding at around 13-14, maybe sooner, when trying to change config file of the game clonk planet[0], but quickly gave up on changing anything significant. Didn't really touch another line of code for several years, it wasn't even in my focus, when I began reading XKCD and thought to myself - maybe LISP is for me... At that time I was around 18, and didn't even make the whole tutorial (the one provided by DrRacket) - it did introduce me to some general programming concepts though, which would prove helpful later on. It didn't help that I didn't visit the right school for it - there I learned mostly languages and didn't pay attention in Maths, which proved to be a really stupid move. In the year after my "Matura" exam which is probably the italian high school diploma (I might be mistaken), I frequented a year-long course on web development - in the End we should have been able to call ourselves "Webmasters". There we were taught the very basics of html and css in two weeks and javascript in another two-week block, as well as some tinkering with our own virtual server writing simple bash scripts and generally trying out Debian. Now I'm in a secure but not very well-paid job as webdeveloper, where I have to code in classic ASP and mostly just do boring-as-hell copy-paste work. [0]http://www.clonk.de/ http://www.clonk.de/
- endswapper 10y agoI'm posting because I appear to be in the minority here. I started at about 34 and I taught myself. Having an objective kept me coding. I am building something that has a specific business need where I have significant domain experience. Additionally, I was surprised to find out how much I enjoy programming and learning new languages. That too will keep you going.
- stickerboy 10y agoI think I was about 13 or 14, my dad had been saying to me for a while that I should start learning HTML. He was fascinated at the introduction of Java around that time. So one day he came home and launched a 2 inch thick HTML book at me, thus my introduction to programming. Started off mostly in simple web development, moved on to PHP when I found phpBB and started fixing broken forums (well, mostly ones that I broke haha) and creating mods. I worked for them for a while on their styles and moderation teams. I spent a year at college learning C++, was supposed to be a 2 year course but they changed the framework and kicked everyone off the last year. Didn't go back to uni until a few years later and studied Web Systems - learning ASP.net, C#, more PHP, working with SQLite, a little bit of Java and Direct X and more general web dev stuff (built a custom PHP framework with a classmate). Most of the stuff I've done has been self taught - web docs and stack overflow :) Over the past few years I've moved more into PHP again (customising WordPress plugins and themes), tinkering with Ruby a little (building an IRC bot and using it to solve puzzles), working with SharePoint 2013, Workflows and InfoPath forms. Hoping to get back to C# a bit more over the next year. Like most, this used to be a hobby. Crazy that I've managed to make a career out of it
- JohnLeTigre 10y agoStarted at 10 on a trash-80 then a pc clone... Like most people at the time, I started with BASIC but quickly switched to Pascal then assembly then C, etc. Never stopped coding since.
- JamesBarney 10y agoMaking hacks for Jedi Knight. Really enjoyed it so I started going to summer camps for coding. Then took classes in highschool, and college. But eventually senior year of college as a C.S. major with high marks on projects and tests I realized I had no idea how to code after a failed internship. Then sorted stackoverflow by votes and read and tried to understand the first 1000 questions.[0] By the end the change in my coding style was like night or day. 0 - This was before stackoverflow decided to cripple it's usefulness by eliminating open ended questions, so you can't repeat this today.