Happy New Year

Growing up, New Year’s Eve used to be an annual tradition of code updates to my blog. I don’t have the same drive that I did back then, but I did get a chance to update my list. Below are the fifty resolutions I want to tackle in 2022:

  1. Rock climb more
  2. Workout regularly to lose weight
  3. Learn Cantonese
  4. Learn drums
  5. Play more double bass
  6. Write more
  7. Learn SketchUp
  8. Fantasy football site
  9. Get new glasses
  10. Publish a video game
  11. Learn Godot
  12. Learn Blender
  13. Learn Procreate
  14. Practice guitar
  15. Learn mandolin
  16. TI4 rules app
  17. Fix record player
  18. Königsberg for a single language
  19. Catalog books
  20. frame and hang the posters
  21. Raspberry Pi project
  22. Become a home inspector 
  23. Finish movies on scratch poster
  24. catalog board games
  25. Finish CS masters degree
  26. Get a Real ID + renew passport
  27. Teach Iggy ASL
  28. Practice tarot regularly
  29. Re-learn piano
  30. Play mahjong regularly
  31. Get really good at Excel
  32. Revitalize your blog
  33. Create a budget!
  34. learn a fighting game on a fight stick with decent netcode
  35. information radiators for the office
  36. Bike more (ebikes or your own)
  37. Author a children’s book
  38. Get good at using the sewing machine
  39. Get good at solving math contest problems
  40. Write a D&D campaign 
  41. Arduino project to monitor plant soil humidity levels
  42. Grace Lee Boggs learning project
  43. Start a software co-op
  44. Start cooking again
  45. Write sheet music regularly
  46. Eat healthier
  47. Set up Hubitat
  48. Learn how to make chiptune music
  49. Contribute to civic open-source software
  50. learn data viz (https://flowingdata.com/, https://www.kaggle.com/, etc)

It spans from simple to ambitious and everything in-between. We’ll see what sticks!

New Year’s Resolutions

My list is currently at 32 — when I get to 50 I’ll make sure I don’t have any repeats and then probably rank them or something.

One of those items is to give this blog more attention. I’ve written even less in 2021 than I did in 2020, so 2022 could be a great time to turn it around. And even just knowing that I’ll probably use this space to write more tech posts instead of the emo posts of yesteryear — totally fine by me. If anything, it’s a perfect example of narrative documentation that can later be compiled into something more… expository? Is that one of the writing forms we learned in middle school? I swear most of the crap we learned growing up we had to unlearn later because it was taught incorrectly or without the correct context or nuance. Or it was just flat-out racist. (There’s all the obvious “X was omitted from history class” ones but check out just how many tunes you know are actually minstrel songs you never learned the full history of!)

I have the next few weeks off so might do a follow-up post before the end of the year. But if I don’t, have a good rest of 2021 and see you in 2022!

Re-approaching Productivity

I bought David Allen’s Getting Things Done (GTD) oh so many years ago (I think when I bought my first Kindle!), but I never finished it. I’m sure a big part of it was getting distracted — there’s no denying that — but I think I’m also a bit hesitant to revisit it. “Productivity” is a scary word for me, and I think part of that is its abuse within the framework of capitalism.

I think I’m ready to revisit it now. When I was learning from Manager Tools, I was just beginning my drift even further leftward from my already liberal identity. During that time, I was cognizant of the primary audience being business owners, managers and stakeholders — not the stumbled-into-managerial-role I had at the time. I have a feeling that something similar will hold for GTD, and therefore I need to have a similar approach to learning from it.

So I’m deciding to try out the audiobook version of GTD, which will give me the guide rails I need and also give David Allen’s updated version a chance. I don’t expect him to even mention capitalism, but I do expect a bit more self-awareness. Probably Elizabeth Warren-levels of awareness.

I think my own environment and context has changed significantly enough that the concepts I’m currently tackling — productivity, equity, mental health, neurodivergence, Left ideologies — are driving me to unify them in some way or another. I don’t expect something neat and tidy here, but — in the tradition of Grace Lee Boggs — I think exploring how they’re related will push me to a greater understanding of how we can continue to evolve and push for change.

Revisiting Management

I recently hopped to a new company a few months ago and am now an individual contributor. And while I’m glad I no longer have to manage people for the time being, I know it will be something I revisit down the road, at either the behest of the company I now work for or my own renewed desire, or perhaps both. I also continue to reflect on how well I managed my teams over the last few years, which is what has prompted recent reflection as well as this blog post.

In 2018 I became a manager for the first time. My boss at the time — who also happened to be our team’s architect, my mentor and now my friend — sent me to Dallas for the Manager Tools Effective Manager and Effective Communicator conferences. It took place over two days, and I learned a lot about how to approach leading and managing a team. Mark Horstman broke down a lot of the myths of management I had inadvertently steeped over time, and expanded upon a lot of the intuitive lessons I had learned but not yet grounded in rationale or experience. His talk at USI gives a good taste of what it was like to not just listen to him, but work with him on management and communication.

In the talk he goes over the four behaviors that matter, and the tools his company developed to enact those behaviors. I’ve listed them below, with the latter in parentheses.

  1. Know Your People (One on Ones)
  2. Talk About Performance (Feedback)
  3. Ask For More (Coaching)
  4. Push Work Down (Delegation)

I’ll be honest — I haven’t thought about these in this way since Mark first taught them to me. And for better or for worse, a lot of those behaviors were enacted by the org structure we had at the time. Here’s how my boss fared with these behaviors with me as his direct:

  1. He was excellent about doing 1:1s with me and getting to know me. He did them consistently and knew about my interests outside of work as well as how well I was doing with schooling.
  2. 1:1s help facilitate this, as did his involvement in our sprint retros. He also filled out and discussed quarterly reviews with me. Each of these feedback loops (weekly, bi-weekly, quarterly) helped me learn from my mistakes.
  3. This didn’t happen often, but I would seek out coaching during 1:1s and I remember when I had to have a talk with one of my directs and he challenged me to take that on while stepping outside my comfort zone.
  4. Work was naturally pushed down because he was involved with planning our sprints.

At the end of 2018 I got a new boss — a remote boss, an overworked boss, a boss with no prior history working together. During that time I didn’t reflect on these behaviors, but looking back I notice something scary:

  1. He was not consistent with 1:1s every week. It took over a month to get them started, and he only started after I kept pushing it. He also frequently canceled 1:1s if he had a meeting with me at some other time during that week, figuring that was a valid substitution. (Narrator: it was not.)
  2. Outside of spotty 1:1s, he was not involved with our sprint and therefore had little context for our sprint retros. We had quarterly reviews that were based on a list of accomplishments he had each of us write up and send to him. Then these would be hastily written up and discussed before they were due to HR.
  3. This sometimes happened, but instructions were vague and expectations were never set.
  4. Work was only pushed down when someone was breathing down his neck. And it never aligned with what our team was doing or with what product wanted, so getting it into a sprint was a mess.

Going back to Mark’s talk, Mark spells out the two most important responsibilities of a manager: results and retention. The first boss did both of these things; the second boss did neither. Which brings me to my next reflection: how well I did as a manager. Without going into another breakdown of the four behaviors, for each of my directs — relationships are with people, not teams! — I can tell you that I was focused so much on retention that I papered over a lot of the bad that my own boss was doing to make my job impossible.

Retention was most important in my eyes because we were bleeding a lot of people in 2018 (both those let go and those looking for greener pastures) and HR wasn’t doing a damn thing to help us hire good candidates. Mark even mentions it — hiring the wrong person is worse than hiring no one at all. But we as a company weren’t trying to do more with less, we were doing less with less with the expectation of more. It was devastating.

Towards the end of my time at that company, I started to focus more on results when I realized that retention of my people wasn’t enough to combat the lack of retention in the rest of the company. That first boss I mentioned — the one who did everything right — was eventually stretched thin and chose to leave, along with most of the other architects in the company. And I soon learned that other teams were bleeding people as well. We got a new CEO halfway through 2019 but by then we had lost a lot of blood and it was going to take time to close the wound and begin to heal. And that’s when I decided to leave.

I don’t really have a happy ending or anything here. I’m still working through the details and reflecting on where I was and where I am now. I should probably get my copy of The Effective Manager back and maybe even purchase a copy of The Effective Hiring Manager.

I also know it’s two in the morning, so I’m not going to make good decisions right now, especially purchasing decisions. And I’m not currently a manager — I should be focusing on being an effective IC. Which probably means getting better sleep, eating healthier, making sense of my Todoist tasks and sticking to a budget. 🙂

Another First Post

I had a long day at work but because I made a large batch of congee yesterday, I was able to put on Snoopy in Space as soon as I got home and work on getting this blog setup. It runs on Ghost — a version of the blogging software that is much more advanced than the last time I used it. And yes, once again, I’ll eventually move all of my old posts over to this blog.

Edit: I moved to WordPress instead. Something about not being able to do indented Markdown lists and also no POST endpoints for API fun.

Click thru for the full thread!

I’m not entirely sure what I’ll write about. I really just know I want to write again. A lot has happened since my last post, especially professionally — I now have a much healthier relationship with my job! And I know that over time, I’ll find my voice again. In the meantime, you’ll just have to get used to me figuring out how to use words again.

2019, here we are

Today In-Summary

Today I accomplished:

More about that fried rice…

The other day I purposefully made more rice than I could eat so I’d have leftovers for fried rice. My mom also made a ham for Christmas and gave me some of it, so I used that for my protein and practiced my knife skills cutting it up. The veggies were frozen. I used soy sauce and oyster sauce and even threw in some butter as advised on “Basics with Babish” (still used a wok, though!). I even thought about how the salts and fats came together in this dish — that’s about all I know since I’m still in the middle of Salt, Fat, Acid, Heat.

More Generally

It’s 2019. I was thinking about how the year change is arbitrary, but having the time to reflect is still real. Because of Christmas, we’re encouraged to take time off and regroup. I was also reading about the history of the weekend and in summary I just want to say that even though the year-change is arbitrary, the desire to improve is continuous and the act of talking about it now is coincidental.

During my senior year, I set some goals for myself that I wanted to accomplish. I remember how useful it was to frame that year’s projects and reflect on what I was doing. I hope to do something similar this year with completing my thesis, working as a developer, and being healthier with what I eat and how active I become.

Tool Boxes

Photo by s w on Unsplash

I like to tell people to develop skills like they would add tools to a tool box. I think I first came across this metaphor as a musician and it made perfect sense: learn scales, rhythmic exercises, excerpts from different composers — combine in different ways later on when you encounter something new. Rinse and repeat.

And it applies to what I do now with software too. Except… I’m just not applying it. I’m not thinking about it in the same way that I would with music, which I approach very theoretically and like a puzzle. You would think that kind of thinking would be obvious with programming for machines, but I’ve been a bit stressed out. And when I’m stressed out, I stop trying to add new tools — I instead rely on the ones I have, and even then only the very familiar ones.

I thought of this again today with cooking. I was using my rice cooker and only now decided to measure out the amount of rice I was going to use. I used to do this when I would measure out rice when living with my family! But I lost my dad and with that stress I forgot how to cook. And it’s only until today I realized I could gain that tool back, measuring rice.

Going back to music, I want to reflect on how I succeeded reasonably well without practicing. And it’s because I created a bunch of tools and I became intimate with how they worked. Then when I was stressed out playing (which was, admittedly, most of the time) I’d still know how to use those tools.

It’s also worth noting that because I had those tools, I was also less stressed out about what I was playing. The same goes for cooking. The same goes for coding. And the same goes for whatever it is you’re trying to do. If you can develop an intimacy and familiarity with the tools of your craft, you’ll be able to wield them that much better when you’re under a lot of pressure and stress.

Moving Offices

After our company closed our office to save some coin, I’ve been working from home now for about a month and have a better handle of what that change has meant for me and my well-being. Everyone on our team is adjusting slightly differently, but hopefully by shedding some light on my experience I can shed some light on what to prepare for if the same thing happens to you.

First, What We Accounted For

I think we did a lot of things right when preparing to work from home. The big thing was to do trial runs, communicate about our experiences, and share any insights we might have. We tackled it as a team and that was really useful.

As for specific advice, we immediately figured out the following:

  • It would be difficult to truly know what WFH is like until we got all our equipment shipped from the office (extra monitors and keyboards, etc.), so we tried to focus on learning other aspects of what would change.
    • On the flip side, it gave us a clear impression that working out of coffee shops wouldn’t be ideal given the lack of equipment. Meetings in coffee shops have gotten less awkward, but they can still be noisy.
  • Getting out of the house was obvious to fight getting restless.

Working From Home a.k.a. Changing Your Commute

I think the best way to treat a transition to working from home is to think about it as a change in your commute. At this same company, we had moved our office downtown and it changed everyone’s commute. We should have treated this the same way. I think if we did that, we would’ve considered the following:

  • Commute route / length would change drastically
    • This might mean we need to reconsider what transit benefits mean for us.
    • If the length changes drastically, we should consider what that means for our routines.
    • Sometimes the mode changes, like going from a car to a train. There may be more or less walking.

I didn’t really think about the impact of walking less every day — the little amount I did when going to and from train stations and going out to lunch was instrumental in keeping my mood up and keeping my weight down! And that weight crept up on me — I didn’t notice it until I weighed myself at the doctor’s.

The separation between work and home is also important. I play games and program for fun in the same space I now work. Having the monitors in the same place isn’t a huge problem, but I need to make sure I get out of my desk and do something else for a bit before returning to it. Otherwise it all kinds of melts together.

Last, having a zero minute commute means more time in the day, right? Except for me, that commute time was necessary to stay sane. I used it to read books and get into a better reading habit! So now I need to make sure I bake that in to my schedule again.

Offices Are Social Spaces

And we are social creatures. We knew this would be affected, but it’s hard to gauge that in testing when you still have an office to return to. Not only does it feel more draining working from home without anyone to talk to, it completely affects the problem-solving methods that our team was accustomed to. We have to be much more deliberate.

And yes, Iggy is great, but she’s not a person! No matter how hard she tries. 🙂

Corporate Passed On Costs To Us

This one is simple — company not only saves money on not having an office via rent, but also via utilities, amenities like snacks and coffee, and providing a gym. And not only do we have to pay for these now in a budget sense, we also have to build their responsibility into our habits. I can’t just bring a duffel bag to work and swing by the gym during lunch — I need to take a twenty minute bus ride to the gym, workout, and come back. I also need to pay for it. And before you ask, no, none of us received raises to cover these costs.

Ultimately, Structure Is Good

I talked to my therapist about this today. Even though I’m not Type A and I don’t impose a lot of structure on myself, I like to dance around existing structure. Without it, I can’t dance! So it’s a big change for me to not have my routine of waking up, showering, getting on a train, sitting down at a desk and saying good morning to everyone.

So we need new structures: for our habits, for our social well-being, to make sure we budget appropriately and to help us do our jobs effectively. And if you know me, you already know I don’t have a lot of faith in those in positions of leadership and power to lead on this appropriately. So we need to roll up our sleeves and get ready to get our hands dirty.

Bringing this back

This blog has been neglected for a bit, and I think I should bring it back in some form. In general, I’ve kinda laid low since the beginning of July, when we went through some huge restructuring changes at work and I haven’t had the energy to process them in written form. Instead I’ve been just trying to process them as they came, by myself and with my team. It’s been a lot, but I feel like I can at least post some updates now.

I now work from home. Which is to say, I see a lot more of my dog Iggy now. She’s nuzzled up against me right now, alternating between snoring loudly and trying to get some pets in. The biggest changes to my lifestyle center around broadcasting my work actions more (lunch, logging on and off, reaching out for help) and making sure I don’t go stir crazy being inside all the time. Iggy helps with this too.

I want to do more technical writing in the near future. Advent of Code is around the corner and I need to prep some CI/CD examples for different languages for the group I mentor. I also want to do more work on ceruleanlabs.com and that includes setting up Concourse so team members can manage their own deploys without me. Honestly, I guess I’m doing a lot of DevOps these days.

This blog is interesting in that it contains samples of my writing for over a decade of my life — without that context, it’s really scary to release out into the wild. But if I do it right, then I shouldn’t be too worried — it shows an individual growing over time and continuous learning. After all, that’s all I can really hope for myself. Right now, this blog only shows entries since May 12th. But the archives are there (I should add them to source control) and I still plan to republish them at some point. It is just not a top priority given all the other things I want to accomplish, and I don’t want to cut any corners to complete the archives import because it needs to be done correctly.

Anyhoo, that’s it for now. Expect more posts in the near future. ^_^

Separating Ideas From Actionables

I use Todoist for all of my task management, and for that it works wonderfully. However when it comes to tracking ideas — or even things I just think I should do — Todoist is lost. It’s the same problem with email — items collect dust because I don’t want to act on them but I also don’t want to write them off or forget about them.

For example, I made an item for a new tattoo. But there are no actionables for it right now. Actionables might include eventually saving money? Coming up with ideas for a design? It’s like I need a placeholder for it because I want to break it down further and categorize it, but right now I can’t.

Part of me wants to build some custom view to handle all of these use cases. The other part of me just realizes I just started to figure out how Filters work and finally made one to separate work tasks from other things I might want to do. So I’m probably getting ahead of myself with wanting to use the Todoist API. This is the same brain that sometimes wants to build custom budgeting software instead of just using Excel!

Filters have a lot of strength because the tasks can be prioritized differently based on what I need to do. So something like a “Chores” list would just list all my chores and then I’d do them when I have time and energy. Something like a software project might just have a priority order and then I’d pick which one to do next.

We’ll see what I can do to better leverage the software I have. I still want to develop better ways to develop ideas, build out habits, and plan out larger projects that have several components that need to be done over larger swaths of time.