I've heard that a lot of programmers sometimes get "in the zone". They're working on implementing something new, and they've got all these ideas in their brain and they're just pounding out lines and lines of code, and the hours just melt by. They don't want to get up. They just want to keep coding until they're done, even if it's past End-Of-Day.
I mentioned a few posts ago that I don't really get in the zone when I'm writing code. But I think the closest I ever get to feeling that way is when I'm done making all my code changes and I start making commits. Git commits.
I don't think I have strong opinions about too many things in the tech space, but I care a lot about commit messages. Every time there's a new dev on my team, and I review one of their PRs for the first time, I always point them to How to Write a Commit Message. I know I'm never going to get the hundreds of developers at the company to abide by these guidelines, but damnit I'm gonna try.
I rarely ever make a pull request with just one commit in it. I start with a gigantic diff, and I try to break it apart into smaller, easier to digest pieces. "Okay, first, I'll commit changes I made to the schema of this table, and then I'll make this change to the model layer, and then I'll work on the controller,..." When I make bug fixes, I start by adding a commit that adds a failing assertion, and I commit it by itself:
Exposes a bug in the code. This will fail as of this commit
The order matters too. If I made changes to five different files, what order do I want the reviewer to look at them in? I want to be able to guide the person, and not have them feeling overwhelmed because there are so many changes. I want them to know why I made certain choices in the code, and what parts of my change I feel unsure about.
The act of organizing everything helps me find places in my code that could be improved as well. Does this method need better documentation? Can I easily read this from top to bottom?
And I'll even throw in pointers for looking at a diff:
Look at this diff with the -w option, and you'll see that the only things I changed here were whitespace.
Use the --color-moved flag to see that I didn't add any new logic, just moved it from one spot to another.
And when I can't make something easy to digest, I'll say that too
This diff is kind of a mess, so I'd just recommend looking at the method in the file itself.
In the end, if I'm happy with everything, it feels like I've created something beautiful. At least to me.
Sometimes I wonder, is it really worth it for me to take an extra four hours just for committing? I know for a fact that some people I work with don't even read the commits. They just look at the full diff in bitbucket. And then I get a comment like this:
Why did you remove this line?
And in my head I'm thinking "Well if you read the commit message that went along with it, you'd know exactly why I removed it >.>"
But this scenario is slowly becoming less and less common.
A few weeks ago, everyone on my team was tasked to find an example of good documentation in the code. And one of my co-workers brought up my 30+ commit pull request, and said that even though it was large, it was very easy to follow. It was easy to see which parts of it were simple, and which other parts required a more thorough review. I think I spent a whole day putting those commits together, and it made me feel so good to know that it made a difference. For me, it was one of the most thoughtful comments I've ever gotten about my code.
Like, in a good way.
The first month of this year has been busy. Way too busy. I somehow seem to keep getting myself in this state at work. But now that it's February, things have calmed down.
This past week was my company's semi-annual company meeting that we traditionally have done in person, but it's been remote ever since COVID happened. As it stands now, this is the last virtual company meeting week, and I am so excited for when I'll get to see so many of my co-workers in person again.
Monday was actually kind of nice. I went into the office and two of my friends were there too. We got smoothies in the afternoon, and we goofed around and didn't work too hard.A bunch of other friends were also going to come in on Tuesday, so we all planned to grab Tacos. At the end of the day I thought, "Wow, this might be the best virtual company meeting yet!"
Then on Tuesday morning, I learned that one of those co-workers tested positive for COVID, so I stayed home for the rest of the week out of an abundance of caution. I never ended up catching COVID from that, but I was pretty bummed about having to stay home.
I wanted to make the most of the week though, so I went for a run on Tuesday, which was the first time in months that I've been running. I did a simple strength workout on Wednesday, and I went on a longer run on Thursday. I also bought groceries and cooked every night. And even though I was kind of sore, my body felt good.
I wasn't terribly invested in all of the work meetings throughout the week. There was a point in time where I would get so motivated every time the CEO spoke, talking about the growth we saw year over year and how every single person contributes to that. And I wanted to do more. Apparently I had been working at "snail pace", so I must have felt like I needed to do more. But I didn't. I have never ever been told that I wasn't getting enough work done.
And now, while I get so much more done every week, so much that people tell me that they can't believe how many tickets I keep cranking through, I still have lingering feelings that it's not enough. Not because I care so much about the company, but because I just have these expectations for myself.
I'm still working on letting go. I'll probably struggle with overworking until the day I quit my job. But this week was okay. This week I took breaks and put exercise and good food and social interactions and even household chores above my work. And I'm finding that when my mind isn't so mentally drained from work, that it's possible to find some time to read and work on my personal projects. And that feels really good.
For the past two weeks it seems like the people in my apartment building are constantly doing laundry. I've had to do my last two loads of laundry at friends' houses. And today, when I don't have to do any laundry, the machine is finally available.
Anyway, I've been back at work for three weeks and it's been an adjustment. Work itself isn't really that bad. It's not as busy during this time of year, and we've made changes to my team's processes so I don't have as many meetings to attend. Work is interesting enough, but not too hard. It's pretty chill.
But work just takes up so much time. How am I supposed to work 40 hours a week, cook my own meals, exercise almost every day, keep my apartment tidy, occasionally hang out with friends, and get enough sleep? I didn't even bring up my personal projects. How do people with families do this? How do other people have so much free time that they get bored?
And there's something about working that gets me so hungry. I am convinced that critical thinking burns more calories than physical activity. I've been eating breakfast every morning, before I start work, and at 10am I'm feeling the shakes, and I need food. It's like clockwork. I'm still trying to figure out how to deal with this.
So yeah, I still want to keep saving money so I can retire early and just have more time to do the things I want to do. I don't need a ton of money. I've been tracking my spending and I spend way less than I make, but the unknown cost of health insurance keeps lingering in the back of my head. My dad is currently on COBRA, and I'm looking into options on the healthcare marketplace on healthcare.gov for when that runs out. And holy crap, these options are terrible. COBRA is not cheap. It's like 4 or 5 times the amount he had to pay when he was still working. But the marketplace healthcare options are even more expensive. And none of the options even come close to having coverage as good as what he's getting now.
I hate the fact that getting healthcare is so much of a hassle. I hate that there is even a "healthcare marketplace" to begin with, that you can shop for health insurance. I hate the idea that healthcare is so closely tied to what job you have.
I feel like I shouldn't be complaining about this when I'm privileged enough to even consider retiring early. I'm just trying to help my dad right now, and researching healthcare options has made me very, very tired.
When I tell people I want to retire early, sometimes they ask me how I could stand having so much free time. Won't I get bored? Well, it's getting close to four weeks of my sabbatical, and even though I don't have my 40 hour work week to deal with, I still have way more things that I want to do than I have time for.
I originally wanted to keep a log of what I've been doing with my time, but I quickly realized that even doing that is a lot of work, and I'd rather be doing the things than recording that I'm doing them.
I've been working on the Teochew site a lot. I'm really, really happy with all the progress I'm making and all of the Chinese that I'm learning. But it does take up a significant amount of time, and I haven't really been able to devote as much energy to my food blog or other things like reading or visiting all the interesting local establishments. I asked for video game recommendations, and I haven't spent any time playing video games since my sabbatical started!
That's okay though. I've constantly got ideas brewing in my head, and now's when I have time to act on them. I'm glad I can really dive into a project for myself, doing it in a way that works for me. Some people get into the zone while they're coding and they code for hours and hours and barely come up for air, but I'm not like that. I think I can do about two hours before I need a break. So I spend an hour or two working on the Teochew site, and then I go for a walk or I make some food. And then I get back to it. It's been really, really good.
And I'm exhausted by the end of each day. I'm still working out almost every day, including DDR a couple of times a week because it's nice to go to the arcade during the day when it's less crowded. I'm still hanging out with friends a few times a week. That's important to me. And I try to keep up with chores and errands, and I wonder how people with full time jobs and families do it.
I've been thinking of my sabbatical as my retirement trial phase, to really see if this is what I want. And each day confirms that it absolutely is.
In 2011, I went to the James River with my sister, two of my cousins, and my uncle. I don't think I would have really remembered this trip if my uncle hadn't taken a lot of photos. This was back when I was a chubbier college student, and my sister and cousins were just little kids.
But I'm glad he took all of those photos, because it reminds me of a good memory in a good place.