A few years ago, I was a software engineer at a medium-sized company. I’d been there just under two years, and I was seven years into my career. I was doing…okay. At a glance, I was a quick, versatile engineer with above-average product intuition. I oriented myself in new codebases easily. If you needed something shipped, come hell or high water, I would build and ship it for you. Occasionally, I wrote tests.
My title was Senior Software Engineer, and I was restless.
I’d just gotten a new manager, someone I thought knew me pretty well. …
Back in the heady days of early July 2017, I was tasked with adapting the Medium 💚 system into something that allowed variable input. With the binary 💚 button, users could tell us when they liked a story, but we wanted to know how much they liked it, in comparison with other stories.
In theory, this new data would allow us to surface truly good content over shiny clickbait. It was also the first piece of a larger project to open up our partner program and start paying Medium writers!
The Medium 💚 system worked like this.
On web, iOS, and Android, we had front-end components that rendered the button everywhere: on post listings, user profile pages, responses, topic pages, and in a few places on every post page. When you tapped it, it sent a 💚 request to our backend. …
Last week I was blocked on product development, so I added an
:emoji: typeahead to the Medium editor, because I was tired of
Try it out! Type a colon, followed by the name of your favorite emoji into any Medium post. (Here’s a cheat sheet.)
We already implicitly allow emoji in the editor. We even gracefully handle multi-character emoji like 👨👩👦👦 and 🇦🇺 when you backspace and arrow around. Which…
git blame → Nick Santos, obviously. 🙏
The Medium editor has a bunch of plugins, which translate key and mouse input into editor commands. …