Well, new year arrived and we are used to create lists of the projects and things we plan to do that year. It is a cultural thing, and the common result is… most people do not finish or even start the wishes they imposed to themselves. The main problem is the underestimation of the effort, sacrifice and difficulties that will be in the process. And for an example, check the plans I laid out last year. It is soul-crushing view. Of all of those points, I managed to find a new job and to finish a simple game (although not of my own design).
The main reason for the failure of the purposes for that New (past) Year is what I just said: I underestimated the challenges that finding a new job in the begining of the year would pose. What that meant is that I spent the first few months of the year working towards getting a job. Changing the professional profile online, doing several (successful) interviews, studying and refreshing programming concepts and topics, etc. All focused on the job hunting.
The Old Job
It was a step back in my career. Economically speaking it was the best one yet, however, technically speaking was boring and uninspiring. The worst part of those cases is that it drains your mental energy. A dull programming job forces you to write boring code that you are not really interested in, and the process of debugging it to find hard to find bugs is a long and slow process.
I know a job does not need to be the my dream job, and the money was good enough to compensate the boringness. That is why I accepted it. And there were some bits that were interesting, like refreshing C programming, learning a bit more the logic and concepts for embedded programming, etc. But it was not purely embedded and the requirements for the software were simplistic. Not very challenging.
Considering the above and the fact that I am still hungry for programming, it ended up being a bit soul crushing and killed my energy. After the work I just wanted to be away from the computer as much as I could.
So early on I decided this would be a temporary gig and the end of the year would be, likely, the end of the job for me. And so I went, ending the year jobless as the previous one.
The New One
It is a blessing to live in a country that has, virtually, full employment. That is the reason I quit the job and started looking for a new one. And it was easy to get some new solid offers. Well, one position I had interviewed for at the beginning of the previous job ended up being the new one. I am hyped to start there, the opposite of what I felt with the boring well-payed gig.
It is about writing renderers and plugins for 3d design software and graphical software in general. And I will love to learn that and work on it. Actually I have been attracted to that kind of programming since I started with the videogame project. For me, when using Unity, the most interesting part was trying to create the interactions and behaviors I wanted with the code. The design of the game itself was not the main interesting part to me, so I realized the part that was more exciting was understanding the graphical and physics engine. I can say it is, on paper at least, the kind of job I dreamt about when I decided to get into programming: physics based problems being solved using code. I love the idea, let’s hope the reality is close enough.
Considering the above, it is clear to me that what I like of programming is to solve complex problems because solving the problem is what I love, and programming is the tool I use. And the lost of income that comes with this change is not irrelevant, but it is not important for me. So finger crossed.
The failures of the year
Some of the bullet points I wrote were actually the same general goal, so to not get too much depressed, I consider them just 1 failure.
Write regularly and grow the blog
What a shame! I didn’t do it. Not even close. I didn’t have a clear idea of what I really wanted to achieve and there has been not clear path. At the moment, I think I know what I would like to do, so hopefully this year I will increase the amount of posts I publish here.
Finish Crafting Interpreters book
I didn’t finish it. Actually, once I got into the new job I had to refresh the knowledge of C, as well as learn an internal library that was… well, half baked. So every bit of energy I had to dive into new concepts and code was depleted. It is a book to read while writing and without pausing the work for days. Otherwise, you will forget and miss details and it gets more and more difficult as you go through it. That being said, I hope this will be the year I finish it and get deeper knowledge about compilers and interpreters.
Start a Youtube Channel about Programming
I have a bag full of reasonable excuses, but it all goes down to the fact that I didn’t really know what I wanted to do exactly. Add there a lack of energy and focus and you get the idea. I did some tries, but consistency and having a clear plan are fundamental, and I didn’t have them. It is not a discarded idea, I have some vision about what I want to do, so maybe I will start it this year.
The Successes of the Year
Find a Job
It was the priority and it was successful. At least for the year, as I already left that company. It was a very well paid job, but the reason for that was that the job is boring and almost no interesting challenges in it. Apart from it, the company was not a software company, so everything was broken. There was room for improvement and team managers were open to accept ideas and proposals. But there was not much to it and the high-level management was all the time fighting between them to gather political power inside the company, meaning that plans could change at a whim of someone there. Not a good place to work for a software engineer that wants to learn more and become more experienced. So December was the last month I worked for them. But it did the job of keeping my bank account in good shape, so I am grateful for that.
Finish and publish a game in itch.io
I did this to some degree. It was the final project for the course on Unity I started. When I wrote that goal, I was thinking about a game of my own. However, after dealing a bit with Unity I realized I am not so interested in designing and creating a game itself. At least, not at the moment. It was a very interesting experience and I got some ideas on how games work. So I could consider this to be done.
The new Goals
It is easy: take the previous failed ones and put some less optimism on the things I will be able to do. So here we go:
Write more regularly. At this point, aiming at volume makes no sense, so let´s aim at regularity. Write every week a little. The fact is that I try to do posts about things that I have to learn more, or that requires me to read and research some things, so it takes time. I will be regular at writing and it will, hopefully, allow me to reach 2 posts per month.
Finish studying and learning Crafting Interpreters. That´s it.
Succeed in the new job. It is about graphics, rendering and other topics about graphics, it is interesting. It mix some math, a bit of physics and deep programming. Sounds like my dream job, so finger crossed.
That is it. Some may say that those are not enough goals for the year and they may be right. But I can always set a new goals if I finish those. And this is, hopefully, the most uninteresting post I will publish here this new year. Thanks for reading and keep an eye around here… in case I succeed.