One thing I constantly complain about to my long suffering wife, is “other people’s code”. I’m not alone in this, every programmer complains about all code that is not written by them. Your own code works, other people’s doesn’t, or is difficult to use, or is weirdly written or isn’t documented or one of 500 other reasons (I’m guilty of them all). It makes you wonder how anything works at all.
Of course, I am being hyperbolic but there is a kernel of truth in it and after 20+ years of programming this kernel has grown into a giant ogre that far too often hits me over the head with “other people’s code” and “problems you’ve fixed N times before”. Which is why, a couple of years back I started to look into options for what I would do with the rest of my life. I’m never going to retire, I’ve known that for a long time. What would I do? The retirement age in 2035, in Australia, will be 70 but life expectancy will be around 90 and I’ll be 62. What am I going to do for 30 years? 30 years of sitting around a house watching daytime TV? Sorry but no, I’m going to be working for a long time yet and I know I don’t want to be solving the same problems over and over again for another 45 years.
So I’m returning to University to pursue Law, I start in February. When I read about and look into law, for the moment at least, it’s exciting and interesting. The thought of using yet another API (not written by me!) makes me want to watch daytime TV.
The feeling of needing something new was crystalized this week when I implemented the “VerticalLayout” component while working on Quoll Writer version 3. The layout is designed to lay out components in such a way that vertical and horizontal space is not wasted and everything is “packed in”. I originally created the layout in Java Swing and this week I ported it, with only minor changes to JavaFX and you know what, it worked FIRST TIME. It needed some tweaks afterwards to work properly with JavaFX but the first time I tried it it just worked. Compare that to some of the months long fights I’ve had with “other people’s code” throughout my career and it’s clear to me that I need to start doing something else with my life.
Now, I’m not naive, Law isn’t going to be a wonderful panacea where magical pixies live and unicorns fart rainbows. I’ve spent a few weeks actually going into courtrooms and watching the legal system in, real, unfiltered action and it’s exactly as I expected it to be. Sometimes boring, sometimes mired in paperwork, sometimes mind-boggling things can happen. The legal system is inefficient and frustrating (some cases can take years to come to court and be stuck in legal tedium) but, for me at least, it will be fresh view on the world and I can leverage my already considerable knowledge and experience in technology. For example, I have already thought of 3-4 different software systems that the legal system needs. So I don’t plan on leaving anything behind, more I just need something new, and don’t worry QW isn’t going anywhere, I’ll still be working on that, after all it’s “my code”.