Change is Hard

About once a year since I started working on my Metal book, I think I should get back to my blog. My blog was an important tool in my learning process at the beginning. I don’t know if anyone read it or got anything useful from my fumbling with learning the Cocoa frameworks, but it did give me a spot where I could work through what I was doing and write it out to better understand it.

While I was working on the Metal book, it really didn’t make a lot of sense to write on my blog because I was writing a book. Anything I learned was going into the finished product. I didn’t have much to say and figured I would get back to things once I had something to talk about.

Then came the burnout.

I burned out before the pandemic, which was a blessing I guess? After spending a year converting gin into prose, I really didn’t want to come back here and try to find some piddling thing to write about with some tiny project illustrating something. I was tired. I didn’t want to produce content anymore. I also wasn’t really sure if I knew how to create and present content to teach people stuff. And I really didn’t think I wanted to anymore.

I got into writing at the beginning because I had a liberal arts degree and I knew I could write. I figured any questions I had as a beginner would be pretty common and so I could document my learning for other people so they would not have to talk to people who didn’t remember what it was like to not know something.

I figured if I kept doing this, eventually I would get better at things. I don’t feel this was correct. I was so focused on producing content that I never really focused on doing anything. I looked at code I wrote in 2015 and I am blown away by how much better my code was in 2019. It was depressing.

I had to make a choice. I had to decide if I actually wanted to be good at something or I wanted to invest all my energy into pretending I was good and hope no one noticed. I don’t want to pretend. I want to actually be good. I don’t care if I get invited to speak at conferences or write books right now. I just want to be good at what I do.

So I took a step back.

Last year, along with everyone else, I got super burned out. I took a five month sabbatical from writing code to learn to draw. I decided to start a new project at the beginning of this year after I got my shit together.

I sat down in December last year to work on a game jam. Everyone I know in game development says it is a great learning experience. I felt ready.

I was not.

I sat down and immediately realized I didn’t know how to do anything I wanted to do. I could do bits and pieces, but I couldn’t connect them together.

I wasn’t ready.

I have spent most of this year going in and trying to figure out all the stuff I didn’t know how to do. I had a horrible realization that most of my mobile development knowledge doesn’t translate to game development. There is not a common language or common design patterns. I had to almost start over.

I am still not sure if I am ready, but I think most of my lingering questions have been answered to some degree. I am going to start. I hope I know enough that when I encounter something I don’t know, it is a small layover and not something that stops me in my tracks.

My current goal with the blog is to write once a week at least about what I am doing. I bitch a lot about Agile on Twitter, but I don’t object to the process as it is described, merely how it is practiced by most companies. I think laying out a set of tasks to complete and updating people regularly about your progress is an excellent way to get things done. I plan to write about what I did, what I need to do next, and why whatever I was supposed to do didn’t actually happen. Life happens. People get sick. Holidays happen. It isn’t necessarily important for every day to be a blockbuster. You simply have to be consistent and try your best to do something every day, even if it’s small and even if it’s just recovering from a cold. I don’t expect anyone to gain anything of value from anything I write here. I write for myself and to stay on track for myself.

At this point, I don’t anticipate returning to iOS mobile application development. I got really excited about it during a time when Apple was releasing game frameworks and had lots of new and exciting graphics stuff. As time has gone on, I have observed most companies either dispensing with iOS native code altogether, or simply using it as a front end for data pulled from a server. This isn’t really what I want to do with my career, so I am following a new path rather than trying to convince people to follow me in a direction that leads nowhere. If Dave Verwer wants to remove me from his list of iOS developer blogs, I completely understand.

I have some plans for blog posts for the next few weeks. I hope to figure out other stuff to include after those ideas run out.

This transition has been hard. It has been going on for several years. I feel silly constantly talking about how I am going to change things. Change takes time. Change takes spoons. But here we are. I hope to not write another post like this in six months. I want this change to take this time.