JavaScript of the Week: a conversation with Ryland Goldstein

Hello and welcome to a new installment of what I like to call "JavaScript of the Week". In it, I want to feature one person from our beloved Node.js + JavaScript community asking them some interesting questions and getting some advice for the newcomers.


Hopefully showing that these massively influential people started just like everyone else, and if they made it, you can too!


This week we have with us Ryland Goldstein (A.K.A @taillogs on Twitter) , Product Manager from ShiftJS.


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.


3. How long have you been working with JavaScript?

A little over 2 years.


4. What got you started with it?

When we started ShiftJS (Binaris at that time), neither I or the cofounder knew any JavaScript, NodeJS, or anything about the cloud. It was obviously a skill we needed to know, so we both spent a month or so becoming very comfortable.

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.

Doing numerical work in JavaScript is just way harder than other languages.



6. What would you say is the best feature of JavaScript?

Actually have a few:

  • Template strings

  • Arrow functions

  • Partial Application (even better with TypeScript)



7. What advice would you give to someone who's just starting to learn JS/Node?


There are basically two fundamental concepts that most JS developers avoid learning. If you actually take the time to learn them, 90% of the problems you think you have with JavaScript/NodeJS go away.

  • 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!


Find me around

  • Facebook
  • Twitter
  • Check me out in Pinterest!
  • linkedin-logo-grey
  • The Couch Developer channel
  • My Github profile
  • Stackoverflow profile
  • Email me!
  • Black Twitter Icon