How did you learn to program?

I’m curious to hear people’s stories on how they came to learn about programming software. There’s people from all levels here, and I’m really impressed/confused by a lot of the people who know a lot more than me.

I’ve learned all on my own, first from my interest in Max, then getting into Processing and now SuperCollider. I have brief moments where I consider getting formal education, but I already have a four year degree and don’t have any desire to put myself into more debt. Also, I still haven’t figured out if I’m really into ‘programming software’ in the abstract, I say in the abstract because I’ve done next to no programming that doesn’t relate to music or visuals.

So I hope people are willing to share their stories and thank you!


i don’t remember when i first became interested in programming, and there were no computers around when i grew up. as a matter of fact i didn’t really have access to any computers until my first year at a university (studying computer science). so i would just read about programming (a book on assembler was one of my favourite reads!) and write programs on paper. then finally my brother gave me his programming calculator when i was around 12, and that was the first time i was able to program a real device :slight_smile: in some ways coding module firmware means being able to bring back that initial immediacy and excitement…


After having a false start trying to teach myself Flash, I remember coming across this book called “Flash Math Creativity” in the very early aughts, which had these really nice layouts of generative images alongside the code that was used to create them. It introduced me the the world of using programming to make interactive graphics and while I had only the most cursory understanding of ActionScript (the language used to program in Flash), I knew that I had to learn it and the examples in that book felt like codexes for me to decipher.



A couple years later, the first alpha version of Processing came out and participating in the community that formed around it was a really big formative programming experience for me.


I learned BASIC on a TRS-80 in my teens, entirely self-taught, with the mutual assistance of various friends who were also learning. First this meant spending vast amounts of time at the Radio Shack that was walking distance (a little under a mile) from the house I grew up in. Eventually it meant spending way too much time in my bedroom using my own TRS-80 and its accompanying tape cassette drive to store programs I was working on. I entered college a few years later with a floppy disk drive and the plans to double-major in English and computer science. Comp sci proved way beyond my abilities pretty quickly, especially because of my attempt to do it alongside another major. I studied so hard for both those majors I ended up in the hospital with malnutrition toward the end of my first semester. (There was a strike by a lot of the student services on my campus my freshman year, so we were left to fend for ourselves food-wise. I’m guessing that if the cafeteria had been running I would have eaten better and not ended up in the hospital.) Anyhow, I didn’t drop comp sci immediately, after struggling through C, and APL, and some other languages, and learning to write compilers from scratch. I first took linear algebra, which would have counted toward the major, but eventually I acknowledged I wasn’t cut out for it. (Fun fact: one of my professors was Alan Perlis, who won the first A.M. Turing Award.) I even took a summer job after freshman year programming for a division of an aerospace company, but when I got back to school for sophomore year I knew I was done with comp sci. In part this was due to my having joined a music-journalism magazine on campus, and that was taking up a lot of my time, as was DJing and eventually helping to run a concert venue on campus. I haven’t programmed since, but I have been planning on picking it back up. I’ve been working through a Processing instruction manual lately. We’ll see how that goes.


I went to an engineering school focused on computer science, where I technically learned programming (I also had a few classes in university before) but I actually started to do proper programming when I started working. And I have to admit that my code for the first few years would probably make me scream in terror/shame/anguish now ;). I work in video games and when I started I was doing AI R&D for games, which wasn’t always directly applied to shipping projects, so there was somehow less incentive for my code to be all nice and clean and efficient.

Overall, I think you do need to know the basic concepts and understand how they relate to each other and after that it’s experience, experience, experience. What does make a huge difference and is something you should get when it’s your day job (not always the case, though) is having other people working with you, talking about how you plan to implement things, looking at your code and giving you advice.


can’t or don’t or won’t


I’m not sure I’d put learning programming in the past tense for me yet, but I’ve been hacking away at it (pun 100% intended) off and on for the past couple of years, and can definitely relate to OP’s relationship to it. No formal education, just an itch I always wanted to scratch and could never quite scratch enough it seems…

I’m a formally trained musician through and through, and like OP would hate to take on more debt to study formally (especially after the cost of music college). Also, it’s not so much that I’m thinking about a career change – it’s more that I’m looking at programming as my next step as an artist, just following my nose, so to speak, and whether or not it feeds my income in any way isn’t a huge consideration. Though, I admit that knowing that I now have a skill that’s actually marketable is pretty cool! :slight_smile:

It started by developing an interest in Linux for some reason. I’m not sure how or why. But I just thought the whole idea of Linux was unbelievably cool, and despite its massive adoption in so many areas over the past couple decades, I immediately realized that its potential had only begun to be tapped. Naturally, liking the idea of putting together my own OS led to wondering how an OS is put together in the first place…i.e. code.

At the same time, I suppose I naturally fall into the roll of a programmer since I’m lazy – by which I mean that if it can be automated, it’s a crime to not automate it. I’m a game/film composer primarily, and the amount of things in the pipeline that can screw up and waste unnecessary time is ridiculous, so I’ve gotten in the habit of automating a lot of the more dry/boring parts of my workflow, first with training wheels like OS X’s Automator, eventually leading to scripting languages such as Python and Javascript. It was messy and piecemeal for like a year, and honestly it still sort of is, but I actually like learning in such an organic way, driven mostly by need. It’s fun, and creative in its own right. You pick up a lot of interesting things when you allow yourself to tumble down a rabbit hole.

Now I’m living pretty deep in Max world, and as soon as some projects are finished up, I’m going to tackle C++ in a serious way. Screw building your standard EQ that tries to sound like a piece of hardware that already exists – I’m way more interesting in processing audio in ways no one’s ever thought of!

Maybe the best thing I’ve learned about programming is that the language really, really doesn’t matter, and the more languages you know, the easier it becomes to pick up another. It’s like learning scales or modes or something – it’s just a way of organizing concepts and achieving certain results. There’s more than one path to the top of the mountain, and as such there’s more than one programming language, but also most paths (and also languages) have a whole bunch in common.

For me it all just comes down to the fun of trying to solve a problem. It’s much closer to creating “art” (whatever that word means) than people generally give it credit for. In fact, I’m not convinced they’re at all separate…maybe programmers and the like are just artists that somehow convinced the world they needed to be paid!


When I was about 13 I thought that mechanical things, like mechanical calculators and simple electrical circuits were fascinating. Mind you, this was in the 70s, long before “personal computers” even existed. I learned that my upstairs neighbor, who did babysitting for, was a programmer, and I asked her if she had any books on computers I could read. She brought a giant volume: “The IBM Self-Paced Instruction Cours in COBOL”. The first few chapters described the basic ideas of computers, and then went on to programming… I must have read it every spare moment. Soon, she brought me flow-charting paper and a template, and punch card coding forms from work. A week later I wrote my first program, and she had it keypunched and run at work… That’s how I started…


I started around 1980 with a TI 99-4A. I was a kid but me and my dad went to the local computer user group meetings at the library and picked up cassettes with games and programs and lessons from other members. I didn’t reall grasp much about the language and eventually spent most of my time playing games like Hunt the Wumpus.

I finished college before PCs and the internet hit so didn’t get a degree in computer sci.

After college I started playing around with QBasic and later, because I learned that Douglas Adams loved it, AppleScript (which was a mistake). I began buying a lot of books on languages and dipping my toe into a lot of stuff but everything was just learning at home.

Eventually I decided to go back to school and have been a full time software developer since. I mostly work in c# now and vb when legacy things need attention.

I’ve worked in many languages and have preferences but with most languages, my experience has been that it doesn’t take long to pick up syntax and start doing something, but learning the framework can take years. Golang might be a bit of fresh air if they can keep the language small… have only dabbled so far.

If you’re looking for advice… If you’re doing this for fun, then keep it fun. Work with any language that lets you control what you want to play with. If it’s modular and music, find familiar environments and tools that support coding and go from there. I haven’t done much reading about music Languages yet but have seen Max teletype and monome pop up pretty frequently. I’m definitely interested in exploring those at some point, but not too interested in sitting at my laptop all night after coding all day.

@Andrew_Sblendorio, what environments, utilities do you want to control? Of the work you’ve done on your own already, what’s been the most enjoyable and fun to work with? Do you want to focus on music in general, or modular, or max…other? Do you want to change careers or is programming for personal enjoyment only?


When I was six, I had an older friend with a C64 and the Shoot-'Em-Up Construction Kit cassette, and everything sort of followed from that.


I got my first intro to programming in high school, where I learnt Pascal on an Apple IIe. I stepped up to more serious programming in university (maths/physics degree), where C was taught to first year students on a PDP-11. I continued programming in C & Perl while in college and through my PhD studies (astronomy). I really learned to code (& debug code) in a serious manner during my first job in Sun Microsystems, where I was working with a huge body of code (millions of lines in the case of OpenOffice). These days, I’m no longer in a software development role, and I mainly write small amounts of python & SQL to solve specific business (reinsurance) analyses.

1 Like

I attended this very left wing coding bootcamp in 2016 and doing so has been the most impactful decision I’ve ever made. It’s totally changed my career, circle of friends, city of residence etc.

I’ve realised that I’m far more interested in programming for it’s own sake, than in using it to create things. This has led me to learn Haskell, and fill my brains with esoterica. This is totally different from how I approach almost every other subject, and I’m curious what it is about programming that makes me so much interested in the process than the result.

Programming is very empowering. Whilst I regret not learning when younger, or doing a CS degree, I’m extremely grateful to have the skill now.


I love reading all these vastly different adventures into development. Especially the reasons for doing so!

My first taste was programming an Arduino in high school back in 2010. That was also the year I got my first synth: a Korg R3. I had the feeling that I really wanted to understand both the hardware and software of musical devices, and discovering Monome played a big part in my attraction to creative software and hardware.

Long story short, I decided to study EE at Utah State University, but quickly started being drawn more towards CS as I felt like I could be involved in all of my interests, not just music, but anything I wanted really. Security and privacy was a big reason to get involved with CS and I hoped I’d be able to make an impact somewhere.

After a few year hiatus from school for some personal rollercoasting, I started delving into learning C and Python. Fast forward, and after narrowing down my goals, I decided to go to a dev boot camp for a few months coding all day everyday in Swift for iOS apps. I got an internship followed by a job writing in Swift, and I’ve been building iOS apps for the past couple years now actually. Trying to get back into C and picking up Kotlin currently.

As far as returning to my initial interest in software development with music, I’m building/refining some synth apps for iPad. And really starting to try my hand at deeper MaxMSP work. Would love to build some Monome/Arc apps. Maybe delv into some light firmware modding for meadowphysics this year? :wink:


I started with BASIC in 1994, just as a curious kid mucking around. My family’s first PC was a 1986 XT clone made in Taiwan (which still works reasonably well considering its age!!), and we had a thick book for learning BASIC. In 1995 we got a new PC and the internet, and I was amazed to find services where you could make your own web page. These eventually led me to learning HTML and a bit of JavaScript, and other things followed from there.

I chose to study software engineering at university as programming is what my brain is wired for. Just about everything else seemed either boring or too difficult. I can’t say I’ve turned it into an exciting career, but it means a lot more to me that I can apply the software skills in my personal life.

I dabbled with Python, HTML and CSS on Codecademy in high school (when I was ~15), but didn’t really get properly interested in programming until I went to uni for Electronic Engineering, and did projects in C (wrote some code that improvised background jazz music for a restaurant - that was fun), Java, VHDL, Pure Data (made a couple synths for a project in first year, and did a voice synthesis project last year) and Matlab.

Now I’m doing an internship for a tech company writing VHDL (technically a hardware description language not a programming language) but occasionally scripting in python and stuff. Excited to see where it all takes me! One of my goals for the (hopefully near) future is to release something open source and try to give back to the whole DIY scene.

1 Like

I learned how to program on my ZX Spectrum in the mid 80s, but I don’t remember actually making anything apart from menu screens for games I wanted to write but didn’t know how.


This is very interesting! Really curious what kinds of things you automate in terms of your composition/musical practice.

I’m enjoying this thread. Thanks for having started it, @Andrew_Sblendorio.


In 1998-9 I realised I needed a website. Looking at what HTML could do at the time, I decided I wanted a Macromedia (remember them?) Flash based site. I spoke to various developers and designers and the the consensus was that the time and workload would cost me $200k. I didn’t have $200k for a website (who does?) so I set about learning ActionScript (Flash coding). I’d never done any coding before, but fairly quickly it just seemed to be just logic, which I’d always enjoyed. It took me about a year to build the site. By about 2006 I’d come to hate Flash based sites, so I scrapped it and replaced it with a CSS based site. I didn’t really code that. I used Dreamweaver, etc. A little bit by hand to finesse. I very much regret being talked into replacing that site with my current outsourced WordPress based site. It turned out to be way more generic than I’d hoped, but that’s what you get when you don’t DIY. The only ‘coding’ I do these days is Teletype. That’s my abbreviated story.


My Dad had us into writing (copying) BASIC code from magazines into the Acorn Electron then BBC B. My sum retention of BASIC can be written in 2 lines that pretty much everyone knows…

10 Print “Steve* is cool”
20 goto 10

  • you may have used your own name!