At the beginning of this year I wrote rbspy (docs: https://rbspy.github.io/). It inspired a Python version called py-spy and a PHP profiler called phpspy, both of which are excellent. I think py-spy in particular is probably better than rbspy which makes me really happy.
Writing a program that does something innovative (
top for your Ruby program’s functions!) and
inspiring other people to make amazing new tools is something I’m really proud of.
started a side business!
A very surprising thing that happened in 2018 is that I started a business! This is the website: https://wizardzines.com/, and I sell programming zines.
It’s been astonishingly successful (it definitely made me enough money that I could have lived on just the revenue from the business this year), and I’m really grateful to everyone’s who’s supported that work. I hope the zines have helped you. I always thought that it was impossible to make anywhere near as much money teaching people useful things as I can as a software developer, and now I think that’s not true. I don’t think that I’d want to make that switch (I like working as a programmer!), but now I actually think that if I was serious about it and was interested in working on my business skills, I could probably make it work.
I don’t really know what’s next, but I plan to write at least one zine next year. I learned a few things about business this year, mainly from:
- stephanie hurlburt’s twitter
- amy hoy
- the book growing a business by paul hawken
- seeing what joel hooks is doing with egghead.io
- a little from indie hackers
I used to think that sales / marketing had to be gross, but reading some of these business books made me think that it’s actually possible to run a business by being honest & just building good things.
this is mostly about side projects, but a few things about work:
- I still have the same manager (jay). He’s been really great to work with. The help! i have a manager! zine is secretly largely things I learned from working with him.
- my team made some big networking infrastructure changes and it went pretty well. I learned a lot about proxies/TLS and a little bit about C++.
- I mentored another intern, and the intern I mentored last year joined us full time!
When I go back to work I’m going to switch to working on something COMPLETELY DIFFERENT (writing code that sends messages to banks!) for 3 months. It’s a lot closer to the company’s core business, and I think it’ll be neat to learn more about how financial infrastructure works.
I struggled a bit with understanding/defining my job this year. I wrote What’s a senior engineer’s job? about that, but I have not yet reached enlightenment.
I gave 4 talks in 2018:
- So you want to be a wizard at StarCon
- Building a Ruby profiler at the Recurse Center’s localhost series
- Build Impossible Programs in May at Deconstruct.
- High Reliability Infrastructure Migrations at Kubecon. I’m pretty happy about this talk because I’ve wanted to give a good talk about what I do at work for a long time and I think I finally succeeded. Previously when I gave talks about my work I think I fell into the trap of just describing what we do (“we do X Y Z” … “okay, so what?“). With this one, I think I was able to actually say things that were useful to other people.
In past years I’ve mostly given talks which can mostly be summarized “here are some cool tools” and “here is how to learn hard things”. This year I changed focus to giving talks about the actual work I do – there were two talks about building a Ruby profiler, and one about what I do at work (I spend a lot of time on infrastructure migrations!)
I’m not sure whether if I’ll give any talks in 2019. I travelled more than I wanted to in 2018, and to stay sane I ended up having to cancel on a talk I was planning to give with relatively short notice which wasn’t good.
I also experimented a bit with a new format: the podcast! These were basically all really fun! They don’t take that long (about 2 hours total?).
- Software Engineering Daily, on rbspy and how to use a profiler
- FLOSS weekly, again about rbspy. They told me I’m the guest that asked them the most questions, which I took as a compliment :)
- CodeNewbie on computer networking & how the Internet works
- Hanselminutes with Scott Hanselman on writing zines / teaching / learning
- egghead.io, on making zines & running a business
what I learned about doing podcasts:
- It’s really important to give the hosts a list of good questions to ask, and to be prepared to give good answers to those questions! I’m not a super polished podcast guest.
- you need a good microphone. At least one of these people told me I actually couldn’t be on their podcast unless I had a good enough microphone, so I bought a medium fancy microphone. It wasn’t too expensive and it’s nice to have a better quality microphone! Maybe I will use it more to record audio/video at some point!
I co-organized !!Con for the 4th time – I ran sponsorships. It’s always such a delight and the speakers are so great.
!!Con is expanding to the west coast in 2019 – I’m not directly involved with that but it’s going to be amazing.
There were basically 4 themes in blogging for 2018:
- progress on the rbspy project while I was working on it (this category)
- computer networking / infrastructure engineering (basically all I did at work this year was networking, though I didn’t write about it as much as I might have)
- musings about zines / business / developer education, for instance why sell zines? and who pays to educate developers?
- a few of the usual “how do you learn things” / “how do you succeed at your job” posts as I figure things about that, for instance working remotely, 4 years in
a tiny inclusion project: a guide to performance reviews
Last year in addition to my actual job, I did a couple of projects at work towards helping make sure the performance/promotion process works well for folks – i collaborated with the amazing karla on the idea of a “brag document”, and redid our engineering levels.
This year, in the same vein, I wrote a document called the “Unofficial guide to the performance reviews”. A lot of folks said it helped them but probably it’s too early to celebrate. I think explaining to folks how the performance review process actually works and how to approach it is really valuable and I might try to publish a more general version here at some point.
I like that I work at a place where it’s possible/encouraged to do projects like this. I spend a relatively small amount of time on them (maybe I spent 15 hours on this one?) but it feels good to be able to make tiny steps towards building a better workplace from time to time. It’s really hard to judge the results though!
some things that worked in 2018:
- setting boundaries around what my job is
- doing open source work while being paid for it
- starting a side business
- doing small inclusion projects at work
- writing zines is very time consuming but I feel happy about the time I spent on that
- blogging is always great