How Experts Learn JavaScript — Part 2

Recently, I’ve been catching up with JavaScript experts to find out how they learned JavaScript, and what they do to keep up with this evolving language. I hope their experience and tips can set you up for success no matter where you are in your JavaScript journey.

Photo by Greg Rakozy on Unsplash

In Part 2, I catch-up with Guy Nesher, Hazem Saleh, Christina Keelan & Tirell McKinnon.

Guy Nesher

Guy Nesher is a lawyer turned developer who specialises in single page applications using the various libraries that pop into existence every other day.

How did you learn JavaScript?

I started my career as a lawyer but quickly realized that the actual work is quite different than what I imagined (TV shows lie!) and then decided to make my way back towards development. I was a computer geek as a child, I’d taken a few courses and already knew the basics, so I was able to make the move relatively quickly. I initially played with a lot of different technologies but ES6 was just becoming popular, I realized I could build really fun things with it and kinda fell in love. The rest is history.

How do you keep up with changes in JS?

The first couple of years after ES6 was released were kinda crazy, with new libraries coming out every other day — but in many ways the market is much more stable these days. Things are still changing and I make sure to follow a few blogs and get my weekly update through the JS Weekly newsletter — though if I’m honest meetups and conferences are still the best place to discover new technologies (and meet the people who develop them)


Hazem Saleh

Hazem Saleh has more than fifteen years of experience in Cloud and Mobile technologies. Besides being the author of five technical books, he’s also a regular contributor to many blogs and a regular conference speaker.

Hazem is ex-IBM where he worked for ten years. Now, he works for Viacom New York as a Software Architect.

How did you learn JavaScript?

I learnt JavaScript 15 years ago, and since this time, I’ve used it in numerous web and mobile software projects. I’ve used it in the client side world and also in server side world (thanks to Node.js).

I learnt JavaScript/TypeScript incrementally over time exploring many sources of information including online tutorials, articles and some of the great books such as “JavaScript: The Good Parts”, and “JavaScript: The Definitive Guide”.

One of the biggest challenges that I saw in JavaScript is the ability to perform unit testing for JavaScript code. Especially given that there are a lot of JavaScript frameworks that have different philosophies in designing, structuring and developing JavaScript applications.

In order to overcome this challenge, I draw from lessons learnt developing many JavaScript applications. I find that focusing on learning the main concepts of writing clean testable JavaScript/TypeScript code is as important as focusing on learning a new cool JavaScript framework/API. As long as JavaScript/TypeScript code is well organized into classes/objects, the coupling between classes/objects is minimized, and dependancies are managed properly then the task of unit testing JavaScript/TypeScript code will be simplified.

I find that focusing on learning the main concepts of writing clean testable JavaScript/TypeScript code is as important as focusing on learning a new cool JavaScript framework/API

Choosing the right tool for unit testing JavaScript code is also another challenge which motivated me to write a whole book about it “JavaScript unit testing”.

The conclusion is that JavaScript is really an interesting language, and TypeScript made JavaScript even cooler. On top of reading online resources and learning the language syntax and best practices, the best way to solidify your JavaScript knowledge, is to be engaged in a real project in which you can face problems and come up with solutions.

How do you keep up with changes in JavaScript?

The JavaScript community is one of the most active development communities ever! Almost every week, there is a new framework/library or an update to an existing frameworks. The amount of activity is a big motivator to keep learning!

One of the ways which helps me personally to keep up to date is to subscribe in weekly newsletters and give myself at least 30 minutes daily to read what is new. One that I follow is JavaScript Weekly.

(Editor Note: Shoutouts to the JavaScript Weekly newsletter is becoming a theme in these interviews, kudos to them!)


Christina Keelan

Christina is the community manager at fly.io. She previously worked at RethinkDB and before that, in the fashion industry.

How did you learn JavaScript?

I sort of “accidentally” fell into it. I was working in the apparel industry as a production manager and designer and was very unhappy. I lived in the bay area and decided to look into office manager roles at some of the local tech startups. My interview at RethinkDB went really well and they offered me a community manager role. I was scared but eager to make the leap. Once I felt comfortable in the industry and my new role, I started playing around with code. Now in my current role I’m able to make meaningful technical contributions and speak on topics we’re working on as a team. It was a terrifying leap, but was completely worth it.

How do you keep up with changes in JavaScript?

I work remote so it can be a challenge, but I’ve found that going to meetups and talking to people outside of my team really helps give me a new perspective on things. When I’m hitting a mental road block, I reach out to some local devs I know and get coffee and talk shop. It helps me think of my problems in a new light, but it also helps me learn about how others in the industry problem solve in different ways or with new tools.


Tirell McKinnon

Tirell is a Senior Software Engineer, regular conference speaker and US Army Veteran. He has experience working in software across many industries including fin-tech and e-commerce.

How did you learn JavaScript?

I was first introduced to JavaScript during an internship in my senior year of college.

Like learning anything, it came with its challenges. For me the main challenge was JavaScript being a dynamic and prototypal based language after coming from a traditional OO language — C#. Also, around 2010 JavaScript had a lot limitations.

What kept me motivated while learning JavaScript was the immediate feedback loop.

Any breakthroughs/aha moments! when learning?

For me these usually happen after I figure out what a language can and can’t do. With JavaScript this centered around understanding callbacks, prototypes, & scopes.

How do you keep up with changes in JS?

JavaScript has taken a huge step forward with ES6 and the ecosystem around the language is now very strong.

I feel that over my career I found being comfortable enough to narrow my primary focus down within the ecosystem has helped tremendously. It helps me avoid burnout because, it’s not possible to learn everything and also be an expert.

it’s not possible to learn everything and also be an expert

I’ve always felt programming was very much a skill which benefits my learning style. I learn best by building things ie. side projects, running into issues, and solving my encountered issues along the way.

Front-End masters is an invaluable resource, freecodecamp, newsletters, and looking at github issues for the particular tech I’m trying to learn.

I’m motivated to learn because I really do enjoy programming and building tangible products that also allow me to explore JavaScript changes during the implementation of features. I specialize on the front-end because I love the fact that I can create something tangible either for myself or a user.

Overall, I enjoy JavaScript because I feel it really is an empowering language, it has way more than just a technological impact. It has improved the lives of so many people; JS is approachable, widely used and provides many areas to specialize in.

Overall, I enjoy JavaScript because I feel it really is an empowering language, it has way more than just a technological impact.

In short, keeping up with JavaScript changes that are happening involves me keeping my eyes / ears open, following JavaScript newsletters, and building products with JavaScript.


If you missed it, check out Part 1 of the series.

See Guy, Christina, Hazem and Tirell at FullStackNYC in May👍