codefellowsLearning how to code certainly seems to be one of the hot topics in the technology world right now, whether it’s encouraging kids to get involved, or trying to figure out why there aren’t more women in tech.

But for many of us who haven’t written in computer code, taking that first step can be quite a daunting challenge. Where do you start? Which language is best to learn? Why am I even doing this in the first place?

So that’s exactly why Seattle-based Code Fellows is asking experienced devs to explain how they originally learned to code in an effort to help those interested in the field.

“In our research, there doesn’t appear to be many sources of survey data on how developers got started,” writes Code Fellows CEO Will Little. “However, it is important for us as a global community to understand these paths so we can better inform and encourage beginners.”

TerminalYou can provide answers here for Code Fellows, which runs two-month programming classes for aspiring software engineers and guarantees a salary of up to $100,000 or more post-graduation.

This reminds us of what Amber Case, co-founder of Portland-based Geoloqi, did this past May when she reached out to coders and asked similar questions for a compilation that could help people understand what it takes to learn how to code. We’ve reached out to Case to see what came out of that.

And while we’re on this topic, GeekWire’s Blair Hanley Frank has a nice guide here if one of your New Year’s Tech Resolutions is to learn how to code.

Like what you're reading? Subscribe to GeekWire's free newsletters to catch every headline


  • lovewubo

    still be a layman until now, so I don’t have anymore to say my program career. But only one thing to say, don’t give up before you success. how to success? desire it as air

    • Kevin

      … to say ‘about’ my programming career …. and I think you mean succeed.

      Lovewubo, perhaps an English Language revision course would improve your chances of success.

      • lovewubo

        :D, Thanks for your tips. Do you have some suggestion about studying English?

  • John Stewien

    Here’s how I learnt to code when I was 8 years old. The school had an Apple II computer, and it came with a LOGO interpreter on a 5.25″ floppy. A teacher gave me the quick 5 minute run down of the basics of drawing on the screen with the “turtle” cursor turning left right and forward in steps. I did some drawing during lunch and recess breaks, told my father at home and he bought me a small handbook on programming in LOGO. From that I learnt flow control and some logic. After that I applied what I learnt in LOGO to BASIC, C, and Z80/x86/68000 Assembly language programming.
    So basically, pick a language you have ready access to, preferably something simple, buy a good book on it, and learnt it through using it. Then move onto more advanced stuff.

  • biffsocko

    I learned how to code twice. Sort of. The first way was when I was taking comp-sci 101 in college. At the time (early 1990’s) the first language course was combined with data structures. There were 150 people in the class, 25 passed. I struggled tp understand the concepts and was in danger of failing until my friend’s mom (who was getting her PhD in Comp Sci) sat down with me and taught me one on one how to code. She tutored me three or four days a week for the whole semester. I love that lady.

    The second time I learned to code was at my first development job. One of the very senior devs I worked with was reviewing my code with me. He said something along the lines of “You have a lot of promise, but you need to do lots more error handling”. While I was doing things algorithmically correct, I was still coding like I was in college.. I’d do things like open a file without checking to see if it existed, and I never checked return codes of functions. After working with this guy for a few weeks, I was rid of all the bad habbits I’d picked up in school.

  • Antony Clements

    Before you allow any aspiring developer near a compiler, you first need to teach them the correct frame of mind, language is irrelevant if they can’t get their head around the problem solving mindset. The same problem solving and critical thinking carries across all languages, as do the basic programming structures. Sure the syntax is different, but to a software dev that’s really all that’s different.

    Don’t bother with books on a specific language until you have learn and memorised the flow structures and you know how to solve problems in a logical way, breaking things down into ever smaller parts.

    When coding the first step should always be what do I need to do, how do I go about doing it, then choose the language best suited for the solution to the problem that you have already devised.

    Give the kid the “robot problem” to solve on pencil and paper, give hints and tips but don’t solve it for them, let them figure it out for themselves, teach them how to desk check their solution, if it fails the desk check you take an eraser and correct your mistakes then desk chick again. When the individual thinks they have the correct solution introduce them to a syntaxically simple language so that their solution can be tested, if their solution doesn’t work, they go back to the pencil and paper and figure out what went wrong then correct it and recompile. it’s not the coding that is fun, that’s just a means to an end, actually typing out code is kinda dull and dreary, it’s the problem solving, that’s where the real fun is.

    This is more or less how things were done back in the day when you would be lucky to get one compile a day.

  • Alanna Muir

    I think the greatest impediment to people learning programming, or really learning how to use computers in general, is fear. For some reason, people are irrationally fearful of computers, or “breaking them”. I can remember the first few years of school as computers were introduced, how deliberately they made us turn the printer and floppy drive on, then the computer, etc. Like we needed white silk gloves and should operate them in a hermetically sealed room. It should be the other way around, “here’s a hammer, have at it.” Once we overcome that fear and replace it with curiosity, then learning how to program is easy.

  • Phillip Mwaniki Nzuli

    I learnt how to code while i was 13 after my dad bought me a compaq amada e500. The first language was Visual Basic, a friend to my dad who was a programmer helped me out alot getting started. I think its the successful devs who need to mentor new breed…

  • Jason H

    I learned to program a few times, a few ways.
    I learned the “basic”s on my Tomy Tutor (a bad TRS-80 clone) my mom bought me for Christmas. I found some BASIC programming books (mostly text/ASCII games) in a friend’s garage and asked for them, thankfully that wish was granted. I spent hours typing in code, and saving it to cassette tape.
    I didn’t have any further resources, so I dropped programming until I was in my 20s working a network administration job. I realized how much money they were spending on international faxes, so I built an IIS server, a SQL server, and setup an internal network for the remote offices around the world using multiplexers (ask your pops what that was all about in the early 90s, before VPNs). I then learned enough VBScript/ASP 1.0 to write a script to display the data they had (then bribed the administrative assistants to scan all the paper) based on account numbers, and emailed out links to the “Intranet server” (they all corrected me, calling it “our internet”).
    That sent me down a road of learning from established, educated programmers. I had books thrown at me constantly, which I read through and learned everything as fast as I could. 15+ years later (and about a dozen jobs & programming languages), I’ve continued to learn from the people around me, and have read bookshelves of programming books.
    Suffice it to say, I’m a self-starter ;)

  • Steve Naidamast

    I am completely self-taught and I have learned approximately 12 languages andor their variants over the many years I have been in the It field. The best way to do any of this is pick up a good manual and go through it step-by-step unless you have absolutely no idea as to how you should go about this. If this is the case, sign up at your local community college and take a course…

  • Jos

    ‘…salary of up to $100k or more..’ So basically any salary then? FYI, I started 31 years ago by just following the examples in the Commodore Vic20 book.

  • Ken

    When I started junior college, I heard they had a computer, but it was closed off to students. When I started university training, I found they actually let students take classes. I started taking a class in COBOL and FORTRAN. This was just because I was interested in it. There was no market for anything computer related. After graduation, I got my first position as a programmer by building a fence. I wasn’t finding any jobs in Mechanical Engineering, something that was supposed to be a hot job market. The manager was impressed I knew anything about computers.

  • level10smartass

    PLEASE…do the work and get a university C.S. degree or stay out of the business!!!

    The whole industry has been ruined enough with self-taught web developers.

    Women don’t do it because it is hard to do.

    • brutallyfrank

      actually the best software engineers/developers/programmers that I have worked with did NOT have a CS degree, they had electrical engineering, physics, and math degrees… just saying.

    • OldTimerSteve

      While you do have a point, I would argue that it is the people with CS

      degrees who have done the most damage – have you tried developing for Android? Who the heck came up with that one? Or the proliferation of ridiculous languages and bloated IDE’s which barely function without 8GB of memory. Or forcing everyone to use abstracted object-code to handle straightforward procedural tasks. Or deprecating HTML tables and the tag. Or The Cloud? Yeah, you know that thing real developers and network admins once put on diagrams to make idiots feel smart. Now the whole damn thing is a cloud. Input -> Cloud -> Output; like ignorance of the implementation and obfuscation through abstraction are some kind of virtues to aspire to. It wasn’t the script-kiddies who came up with that one – it was some evil prick with an MBA who wanted to own that cloud thing, who had a friend with a CS degree who explained it to him! Universities are evil I tell ya. e-Vil. Now you can’t even get a telephone tech to hook up a DSL router without problems because he doesn’t have a clue how the thing actually works – it apparently isn’t a job requirement – and he can’t get help in the field from someone who does know because when he uses YOUR phone to call the help desk all he gets is IVR which invariably dumps him on a business unit CSR on commission who tries to upsell him satellite TV, and he won’t listen to the guy standing right next to him who has 25 years in IT under his belt because he doesn’t understand all that technical language – and he won’t leave because it’s his job to hook the thing up! Seriously – it actually happened to me. This is the world CS degrees have given us!

      Of course, if everyone was forced to get a CS degree we’d have peace in our time.

      That was fun ;-)

      • OldTimerSteve

        I guess I should have escaped the <BR/> tag.

  • BotReject

    I learnt to program when I was about 12/13 and got a Vic 20, then I learnt the BBC Micro at school, then I learnt machine code and 8-bit assembly on the C64 when I was about 15/16. Then I left it for a few years whilst I did my science degrees (apart from writing the odd code for people), Then from my late 20’s, I returned to programming by taking courses in C++, C# and Java (and HTML of course). With this update in OOP I then taught myself JavaScript and some PHP. I am not professional, however, but write the odd commercial application for people I know and software for my own large website, as a hobby and educational tool. My main employment is still in science.

  • OldTimerSteve

    It really helps if you have something you want to accomplish. I learned how to bounce a cursor on one of the first Apple’s – but I didn’t program again until I bought a C-64 to produce resumes, learned BASIC to program a few utilities then learned machine code to estimate fencing jobs for the summer. I eventually got a clerical job with a bank, where as soon as they gave me access to the SAS jobs that produced our reports, I automated my whole job one Christmas while everyone else was on holiday – then I had my manager actually issue the commands to run my programs by adding them to HIS daily routine. Beautiful! When it came time to move on they asked me to train my replacement in the original clerical job they thought I was still doing by hand. You should have seen my AGM’s face drop when I told her that I’d automated it two months ago and delegated it upwards. How was she going to justify her budget now? I’d basically eliminated two bodies! Eventually I did get a job as a programmer at the same bank and received formal training in structured programming, error handling and writing for others to maintain in a team environment. Structured programming is good to learn because it helps you write clean procedural object code as well. Not everything is an interactive free-for-all. Invaluable – and highly recommended. Just be careful what you do with your skills – your boss may not have the same ideas you do!

  • Majikthise

    Sinclair ZX81 and Sinclair BASIC. Quickly added Z80 machine code (couldn’t afford to buy an assembler at first) because you could do whole lot more with the standard 1K of storage that way.
    I don’t think it really matters how you learn as long as you enjoy it and have a degree of inate ability. After 30+ yers in the industry I still see a fair number of trainees straight out of uni with good IT degrees – 2:1’s or even Firsts – who are quite simply in the wrong job because they just don’t have any programming ability.

  • guest173

    My 7th grader is playing which makes you use scripting to do the game. this has more tutorials for students from elementary to university to get started in coding, most of them try to use game formats to make it fun.

  • Megamarc

    I started in 1989 (I was 11 back then), a friend of mine in school had a new Spectrum +2A that came with an extensive and accessible user’s manual. So I started to devour it and learn BASIC on my own, and I went to his home on saturdays afternoon to try the new things I read on the manual. At the same time I started to read some magazines that focuesd on the spectrum and copying the BASIC listings by hand. As you may guess my first programs were a complete spaghetty mess and I couldn’t figure out how could exist some other languages out there without line numbers. “How do you do a GOTO without a line number??”.

    In 1993, while I was going to high school, I started to attend to programming courses, I learnt structured programming and C so I could left behing GOTOs and line numbers, then OO with C++ and Java. I also learnt assembly on my own, inspired by the awesome demoscene world.

    Right now I’m at online university studying computer engineering grade, which is giving me formalism and methodology.

  • Thiago

    For me, it was a friend. I needed a math tutor, and one time he showed some cool things he’d coded and it sparked my interest. Not only did I learn a fair bit of code, but I was motivated to learn the applicable mathematics. Thiago |

Job Listings on GeekWork