I don’t blog much these days, but usually do manage to get in a year-in-review post every December or January.
2019 was a tough year. Not bad, but lots of changes, lots of stress
I’ve probably been more focused on work this past year than I have been in many years. To be honest, work has often been somewhat of “what I do in between my side projects” rather than the other way around. This year, the balance was very much the opposite. In fact, I had no real large side projects at all in 2019.
As mentioned in last year’s update, at the end of 2018 I became the Director of Engineering for Notarize. I took on this role with quite a bit of trepidation. I was actually offered the VP of Engineering role, but naively thought that taking on a lesser title would mean less responsibility and stress. In retrospect, it’s obvious that when you’re on top of the pyramid, it doesn’t really matter what title you go by. I could be the VP Eng or CTO or Director of Engineering or whatever else, and I’d still be doing what I’m doing now and stressing out just as much.
About three weeks into this new job, I got my first big challenge. We needed to do a significant, company-wide layoff, and I had to come up with a list of engineers to let go. Like, a dozen of them. I was very tempted to hand the list in containing just a single name – my own. But that wouldn’t have changed the outcome and would have just been taking the easy way out and giving the problem to someone else. We got through it, but it was one of the most painful things I’ve had to do in my career. Every one of the names on the list stuck me like a knife. They were all good people, many of them friends. I did what I could for each and every one of them, giving recommendations on LinkedIn, letting them know of other opportunities as they came up, and even acting as a personal/professional reference for several.
The rest of the year has gone a lot better. The remaining team members came together, got more focused and we’ve done some great work this year. We had two hackathons, agile training, a stability week, did some reorganization, sent people to some conferences, started warming up to the idea of having multiple remote engineers, and lots of other good stuff.
But there have been lots of ups and downs for me, personally. I’ve always tried to avoid management positions and remain a hands-on coder. That is all done. Apart from the occasional special projects, I’m not doing any regular coding at all. And I’m pretty much trying to figure out what I’m supposed to be doing day by day. It’s very different than being an engineer and having a project, feature or a bunch of tickets assigned to you. Every week, every day I have to decide what my job is going to consist of. It might be dealing with legal, personnel or code quality issues, coordinating requests across teams, arranging meetings and presentations or just about anything else. The panic points come when I’ve done everything that has been a pressing issue and I’m sitting there thinking, “now what the hell am I supposed to do???” And don’t talk to me about your imposter syndrome. You don’t want to know how bad mine is.
But overall it’s been great. A major learning and growing opportunity.
Like I said, I haven’t really had any major public facing projects of any kind this past year. I still love geeking out over my multiple Thinkpads, trying different Linux distros, tweaking my home server and installing various media servers and other services on the home network and an external VPS and a few Raspberry Pis. Always tinkering with something.
But there has been one project slowly brewing, which I think I’m ready to make public…
I’ve been getting the urge to go back to writing books. I’ve written or contributed to about fifteen books with various different publishers. And a few years back I self-published Playing With Chaos. There are pros and cons to going through a publisher and self publishing.
And then there’s a third option that I have not tried yet – open source publishing. Enter bitbooks. I’ll be posting more about this soon, but basically, I’ll be creating books on github. Not a new idea, but one that appeals to me right now. You can check in any time and see the progress of any current books. When they are complete, they’ll be available in various finished formats – epub, mobil, azw3, pdf. Free as in freedom and free as in beer. They’ll have a Creative Commons license. No DRM. No charge to download or read, but I’ll set up ways to donate for those that find the material useful.
One part that I’m most excited about is that because of the open, flexible publishing format, I’ll be able to provide code samples in multiple languages. That’s one huge problem with coding books – they are almost always tied to a specific programming language. Of course, the text of the book and the examples given in the book will have to use a specific language, but I’ll be providing the actual code samples on github in multiple languages. And I’m hoping to get some community involvement as well, with people submitting examples in their own favorite languages as pull requests.
Again, more on this coming soon, but go ahead and check out the site and see what’s up there so far.