Hopefully showing that these massively influential people started just like everyone else, and if they made it, you can too!
Let's take a look at what he had to say, shall we?
1. Tell me a bit about yourself (hobbies, education, etc)
I’m a 24 year old product manager working at ShiftJS, a startup I helped found. I attended University of Washington until my research professor convinced me to join his cutting edge AI startup.
Throughout my ~8 years of programming, developing game engines has taken the biggest chunk of my time.
I love building things, and building a game engine is just an exercise in building something that will never be complete.
2. How old were you when you started programming? And what language was it?
I was ~16 and it was x86 assembly. It all started because I wanted to cheat in World of Warcraft. Back then (maybe still idk), the way to get into WoW cheats was through memory editing and reverse engineering disassembly instructions. I realized quite quickly that I really enjoyed that type of work, so it wasn’t long (1-2 months) before I started learning C and Java.
A little over 2 years.
4. What got you started with it?
I was the lead architect on our massively scaling compute engine written in NodeJS/Typescript, so I would now consider myself a veteran JS/cloud developer.
5. If you could re-define the language, what would you change?
I have two things. One is something that really annoys me but I don’t think is that serious.
I don’t agree with the choice to use the elipses notation ... for both object destructuring and variadic arguments in a signature.
I just think that the same operator is used for essentially opposite purposes, and the DX could improved. Maybe…
Mine isn’t great, but neither is the current standard.
My serious change would be around the type system and specifically the way numbers are handled by the language.
Actually have a few:
Partial Application (even better with TypeScript)
7. What advice would you give to someone who's just starting to learn JS/Node?
The event loop, callbacks and promises (including differences between async, parallel, concurrent)
Prototypal inheritance model
My other advice is that it’s not weird to feel overwhelmed, if you’re just coming into the JS world. There’s too much information and it’s always changing. The only way to be productive is to selectively filter out some of the noise.
8. Any particular learning resource you'd like to recommend?
I recently wrote a pretty popular post https://dev.to/taillogs/the-best-book-to-read-as-a-developer-1h4m, so that’s the book I would recommend.
I also really really like the tutorials/work that Tania does on https://www.taniarascia.com. The reviews are just on a different level than what most people are producing.
9. Is there a project / website / something you'd like to promote while you're at it?
Sure I have a hobby project for sharing terminal environments with docker https://github.com/rylandg/myos.
We’re building something that is seriously going to change the full stack developer landscape at ShiftJS, and it’s based on my idea. That’s obviously a great feeling and I really think we’re building a great product. We’re taking beta registrations here https://shiftjs.com/
10. Favorite superhero?
My friends and I argue about this a lot. Objectively, Superman is just the best superhero by a huge margin. He’s got every cheat code enabled. On a personal level I like Spiderman a lot, my dad is a huge fan so Spiderman was a significant part of my childhood.
So, what did you think?
Ryland is working on the next best thing for Fullstack developers while at the same time, being a major contributor to our community through Dev.to. If you haven't yet, make sure you follow him both on Twitter and Dev.to to make sure you're up-to-date with him.
Leave your comments below if you have any questions for him or comments about his answers!
See you on the next one!