Find your feedback loop
When I was 17, I started a degree in Software Engineering. The first programming language I learnt was Lisp, and I don’t think we ever even programmed with it. I just learnt the syntax, and all the assessments were writing answers to logic problems on paper!
Then there was another language. I think it might have been C? The assessments were all command-line based. You would write a little program, and then try to execute it. I remember spending hours trying to get the damn things to compile, but it just wasn’t happening for me.
The only real web tech I came across in that course was JSP (it was 2005). Again, I remember spending so much time trying to get a login form working with JSP. I don’t recall there being much error feedback either. It was like the thing worked or… blank page.
Needless to say, I didn’t like the Software Engineering degree. I found it very difficult and found little joy in it. My takeaway at 19 was that I wasn’t smart enough to be a programmer. I put my class credits towards a 3 year IT degree and enrolled in Business Management.
I was struck by how different Business School assessments were. If I spent 20 hours on an essay, I had a decent quality essay worthy of a high grade. In my SE degree, I could spend 40 hours beating my head against the command line… and barely get a passing grade.
I went on a different path for a while, but my love for the web led me to consider pursuing a career in web design. I enrolled in an “Interactive Media” degree1. One of my first classes was on HTML and CSS.
When I would add HTML and CSS to a page, I would get instant feedback. I would add the code, and things would appear on the page. They may not have looked exactly right, but they were there, giving me clues as to whether I was on the right track. I was hooked.
I remember working on my assignments on the weekends and spending hours getting the HTML and CSS right, but it felt like no time at all. I would be so absorbed by it I would forget to eat. I wouldn’t learn the name for it until years later, but I was experiencing intense Flow for the first time in my life.
Soon after that, I started using JavaScript and ActionScript. I recognised the concepts I had been taught in my SE degree, like variables, objects, and arrays. They were no longer abstract ideas but valuable tools. I was building real UI and animations instead of completing abstract tasks like “sorting a tree”. Everything fell into place in that context. I soon realised web design wasn’t really for me. I was going to be a developer and an amazing one at that.
I’m sharing all this to say that if you want to learn how to code or be a developer of any kind, how important it is to find the technology and feedback loop that tickles your brain in just the right way. That allows you to create something that inspires you to keep learning and build your confidence. For me, in 2010, that was HTML and CSS, but for you, it might be SwiftUI, Svelte, R or something else entirely.
After using JavaScript, I’ve gone on to learn many more programming languages and technologies across the stack. If I were handed those command-line assessments that left me feeling so inadequate and stupid in 2005, I could do them easily today. I just needed to find the right context in which I could learn programming. My wish is that everyone else who is struggling can do the same.
Footnotes
-
Australia has a government loan scheme for higher education. That’s how I’m able to do all these degrees without ending up to my eyeballs in debt. ↩
Comments
Comments are turned off for this note because for some reason, spammers love it 🤷🏻♀️