i switched from JavaScript to backend engineering a year ago and i've never been happier
i started writing JS around 2010 coming from Ruby and PHP. Fist it was basic HTML/CSS work, then got into more UI engineering (back then it was Backbone + jQuery). But the more i worked on anything UI related the more i felt that it was draining me
I never had this excitement that other UI engineers had. When you work on a feature and you can actually see it on the screen and your product users can say that "oh.. you worked on that? this is cool!"
At the same time i was doing algorithmic interview questions for fun. I freaking loved every part of it. i could rotate binary trees all day long. The closer to raw bits and bites i got the more exciting it seemed
But i still stayed in JS world, because i learned JS relatively well and learning a new language seemed like too much of work and i didn't want to lose all that knowledge that i already had
So i ended up working on JS tooling instead. First it was setting up infrastructure for new Yahoo Mail, then working on test runners, eventually Jest. Non of this work was UI related. All infra and all JS
Last year my team at FB stopped existing. It sucked and i had a month to find a new project to work on. I moved to NYC and started working on graph traversal algorithms in PHP.
PHP sucks a lot for graph traversal. It was literally the worst possible language for that thing and it made me want to quit my job and the industry. But then i decided to hack on rewriting some of it in rust and it completely blew my mind
All of the interview questions suddenly became super useful in day to day work. I had to read white papers of graph algorithms and implement them myself. I spend time working with raw memory and optimize some algorithms than iterate through billions of graph nodes
I've been building a graph database at FB since last summer and last month i picked up a project to build MySQL connector in C++ and it's been so much fun!
You can follow @aarondjents.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: