Buy @ Amazon

Conference: JSConf 2013, US - Javascript Masterclass by Angelina Fabbro

I stumbled on this talk by Angelina Fabbro on Javascript Master class in JSConf US, 2013 which to me is very enlightening. Her talk is about becoming an expert as an intermediate (Javascript) developer.

Angelina Fabbro is a programmer based in Vancouver, Canada and works at Steamclock Software. Angelina has a background in cognitive science, building clever robots and researching what people pay attention to. Her record as a web developer is balanced with modern iOS experience and a keen sense of design. Angelina also both teaches and mentors for the Vancouver chapter of Ladies Learning Code.

The presentation deck in the above talk can be found at

The quick summary of the talk is below for the impatient and more importantly for my future reference.

You are not an expert, if:
  • You don't grok all the code you read
    •  Javascript example: You don't really understand bind, and can't differentiate call versus apply in JS, etc
  • You can't explain what you know
    • developers need to be patient and clear enough in communicating and disseminating knowledge
  • You aren't confident debugging
    • not using debugger in chrome
    • not using callbacks and instead use a ton of console.logs
  • You rely on references/cheat-sheets way too much    
    • you need to internalise some of the APIs even if they were to change

What does it take to be an expert programmer?
  1. Ask why obsessively to the point that you annoy yourself
  2. Teach and/or speak at an event
  3. Work through a suggested curriculum of books
    1. Learning Advanced Javascript (online)
    2. Secrets of the Javascript Ninja (Book that evolved eventually from above online content)
  4. Experiment recklessly (The code doesn't care)
    1. Do silly things to see what happens
  5. Have opinions
    1. "It's okay to not like things, but don't be a jerk about the things you don't like." Now, please internalize that, says Angelina Fabbro. I really appreciate her for saying out this loud and clear. Man, I've lost count of the jerks that I came across who are plainly opinionated and insecure.
    2. Be reasonable and ready to accept that you could be wrong. Be wrong is fantastic, as it gives you opportunities to learn.
  6. Seek mentorship
  7. Programme a lot
  8. Stop fucking programming sometimes. You need a break. You need time away from the computer.
  9. Write a lot of JS
  10. Write in another language for a while
    1. and compare it with the language you know. This helps exercising your brain
  11. Think (logically) like a programmer even when AFK (Away From Keyboard)
  12. Know what feedback is good feedback and reject all else
    1. Haters gonna hate. Some ppl aren't very happy with themselves. They may likely be mean to you. Just ignore them. [Yeah, I've done this in the past and I continue to ignore jerks]
    2. Differentiate Good feedback and troll feedback
  13. Break free of imposter syndrome
    1. If you write code you are a programmer. The end. Get out of this illusion.
  14. Fall in love with your process of
    1. taking a balance between writing code and taking a break
    2. arguing your point and then take the opposite position (helps critical thinking)