Yesterday, I left my job at Instrumentl, which I'd been at since leaving easypost almost three years ago. It was an interesting experience; I think Instrumentl is the first (and only, so far) place I've worked that really drank the YC kool-aid... I don't know that I'd choose to worship at that particular altar again, but it's always good to broaden one's horizons and do new things.
I was only at Instrumentl for about 990 calendar days1, but I like to think that I got a lot done in that time. When I started, the dev team was only six folks (two people in the US, one in Canada, and three in Türkiye); now it's something like 182. When I started, MFA was disabled in every tool and lots of people were logging into shared administrator accounts; now the company is on much more solid footing and perhaps even on a path to finish a SOC2 in a year or so. I built a few customer-facing features (including the public API, SSO and MFA) from scratch, and a ton of internal tools. I was only there a couple of years, but (as usual) I found myself on top of the all-time productivity leaderboards by whatever metric you care to measure3. Not that these things matter; nobody cares who wrote the most commits or who fixed the most security issues, and anybody who thinks you can objectively measure engineering performance is trying to sell you something that isn't worth buying.
Instrumentl was the first company I've worked at where I was primarily doing Ruby, which was kind of neat.
Ruby was the first programming language I really learned, about 20 years ago4, and maybe the first programming5 job
I had was working on HMC CS Staff porting the internally-developed ticket tracking tool6 from Rails 1 to Rails 2.
I did a fair amount of Ruby/Rails at Easypost, of course, but Instrumentl was all Rails. It's... definitely a lot nicer
than it was in 2008! I still think it's practically-perlish in how hard it is to read, though. I'm more-convinced than ever that implicit
receivers (that is to say, being able to just type foo
instead of self.foo()
to call an instance method named foo
) is a nightmare
for reliability and code maintenance.
Anyhow, some of why I've left comes down to differences over the direction of the company, some because I simply can't stomach reviewing one more bad PR or bloated document that someone clearly let ChatGPT loose on without thinking about the consequences, and because I'm ready to work on something new and exciting. I've got a couple of days before I start at the new place, which is going to be Svix, writing Rust full-time. Let me know if you're reading this in real-time and are bored next week and want to hang out. :-)
and obviously far fewer working days, between weekends, holidays, company offsites, and parental leave!
that is to say, 17 engineers, one manager, between four and six product managers (depending on how you count execs wearing multiple hats), 3½ designers, and a partridge in a pear tree
tickets, commits (about 3600, all squashed), lines of code, number of wiki pages, whatever
using a hard-copy of Programming Ruby which I scrimped and saved to buy
as opposed to IT or sysadmin work
named request
; now, alas, replaced by some terribly-enterprisey version of RT
Want to comment on this? How about we talk on Mastodon instead?
Share on Mastodon