Today it finally starts: my first day without a boss. For the last two months I’ve been both excited and afraid of this day, but it has slowly approached without any regards to my mundane worries.

I’ve had many different jobs, including as a freelancer once when I was still living with my parents, and for some time now I’ve been taking some freelance projects and mentoring people on Codementor, but this is the first time since I started paying the so feared bills I won’t have a guaranteed income at the end of the month. And that’s scary as hell. It’s also thrilling: I’ll be able to work according to my own demand, I’ll have much more opportunities to make money, I’ll work on several different projects and, more importantly, learn a lot of stuff.

This is also a great opportunity to deal with what, for lack of a better name, I’ll call life debt, which I’ve accumulated during my college years. This life debt, differently from the literal sense, represents the time I’ve borrowed from my own life so I’d be able to study and pass the tests, the things I’ve promised myself I’d do one day, be it going back to the gym, reading some books or learning linear algebra.

For this reason, I’ll state publicly here the compromises I’m make with myself. During this time as a freelancer programmer, I’ll:

  • Build a game complete game. Not a simple prototype built in a game jam, a complex and polished, production-ready game. Preferably a 3D game using Unity, which leads to…
  • Linear algebra and analytic geometry the right way. I simply couldn’t make any use of what I “learned” during the college, and building 3D games it’s the perfect way to fix those knowledges.
  • Learn AI and Statistics.
  • Build a mobile project, probably using some hybrid framework like Ionic.
  • Build a project using functional programming. Not simply how to use functional techniques in my current stack, but build something from scratch using a purely functional language like Haskell or Elixir.
  • Build something cool with Arduino or Raspberry Pi.
  • Contribute to a major open source project. The is a nice way to start.
  • Learn advanced vim commands, as well as improve my workflow in many ways.
  • Implement the GTD method efficiently. I’ve tried before, but just couldn’t get it right.
  • Go back to eating healthy and exercising. My goal isn’t simply professional, I want a happy and fulfilling life, so I need to improve it as a whole.
  • Get my home organised. It may be overlooked, but often programmers have difficulty maintaining even their own rooms tidy. Those distractions simply get in your way, stressing you out, gradually.
  • Work while traveling at least once.
  • Catch up with my entertainment backlog: books, videogames, movies and series. I cannot afford another year running away from spoilers.
  • Get non-technical hobbies, like going back to playing guitar or training kung-fu.
  • Last but not least, meet my friends more frequently and have an overall healthy social life.

Finally, I’ll use this blog to both keep motivated and to share my personal experiences, which might be valuable to others. I’ll also give advice on how to overcome the obstacles I find along the way. I’ll review equipments, tools, techniques, as well as share tips for how to succeed where I succeeded, and what to avoid where I failed. I’ll try to write at least weekly, so this becomes part of my routine. I expect you find these readings pleasurable and informative, so if I fail at that, give me a heads up!

I hope you follow me on this new journey!

If more of us valued food and cheer and song above hoarded gold, it would be a merrier world. But, sad or merry, I must leave it now. Farewell. Thorin, The Hobbit

Get help on Codementor