New Year, New Goals

December was an odd month for me in terms of work.

I had a few fun bells and whistles to add to the two main programs the clinic uses, but overall both programs are stable and I didn't have any outstanding bug fixes or user requests. The two chief projects for the month turned out to be rearranging employee offices and our hard copy archives, and figuring out and managing an incentive project levied by one of the insurance companies we're contracted with.

The insurance project was complicated, and both projects were time consuming, but neither were urgent, and as no other issues cropped up over the course of the month, it was a relaxing December, which is not usually the case.

Having wrapped up both projects a week before the end of the year, I found myself spending the final week looking forward to 2020 and realizing it's time to restructure my job duties and responsibilities, an exciting, if overwhelming, prospect.

I'm in this position due to the efficiency and stability we've achieved at the clinic over the last year:

  • My office manager has grown into her role such that I'm able to back off most of the things related to day to day office function.
  • The two programs I've been writing over the course of the last year and change have matured into a fully functioning environment no longer in need of constant bug fixes or feature completion.
  • The staff and our physical systems have also reached a point of stability and efficiency where bumps and glitches in a given day don't throw us too far off, and we're all able to do more in less time with less energy and stress.

Reworking my job for 2020 feels a bit like making New Year resolutions, but because it also encompasses the direction of the clinic as a whole for the year, I guess it's technically more a yearly business plan.

So, what will I do in 2020?

Learn project management

I've been using OmniFocus for years, and have basic task tracking down well enough, but I'm terrible at project management, resorting to bits in OF, bits in Things, bits written down on scraps paper or in random text files, and worst of all, bits floating around in my head.

I don't generally screw things up too badly but the more complex the project is the more of a mess I tend to make, redoing things which weren't done correctly the first time through, having to deal with sudden emergencies which should've been planned for, etc.

I think the basic skills I've learned about designing software can be brought to bare in learning how to plan and organize projects, and I can see where lessons learned here can be transferred back to programming, and I'm certain all the other things I'm hoping to accomplish this year will be made easier if I spend some time learning how to better organize my projects.

Youtube has been a remarkable source of useful information when it comes to learning about things like weight training and wood working, and a quick search shows plenty of OmniFocus related content there. I know the The Omni Group also maintains a pretty good learning section on their own site, so I shouldn't have a problem finding useful information.

Write more code

While the function of our programs is stable and currently complete, behind the scenes the code base is a mess of me learning as I go, and there are great swaths of the early code which need to be cleaned up and made more efficient. I've learned so much this year about using protocols, delegation, and encapsulation that when I do have to go back and work with the older parts of my code base it's incredibly tedious, full of redundancy, and error prone.

And despite current completeness, there is still a ton of room for evolution in the programs, and I have a whole list of ways I'd like to do that. As my skill has grown, so has my vision of what's possible, and I can see ways we can advance functionality, even if my users can't, so don't know to ask for it.

For example, I need to develop an iOS version of at least one of the programs for use when the doctor does rounds at the local nursing homes. I've done almost nothing with iOS so far, so that will be a whole other experience.

There are also a whole host of accessory tasks the staff does which could be made faster, easier, and more accurate by automating them, not to mention figuring out how to bring custom machine learning algorithms to some of our work.

Improving the doctor's workflows

The amount of information my wife has to deal with in terms of patients health, insurance company impediments, and just maintaining her status as a practicing physician in Texas can be overwhelming. Working to improve her workflows in all these areas isn't at all new, in fact all my work at the clinic seeks to help her specifically to one degree or another. This year, though, I'd like to make a more focused and wholistic effort to identify ways to make things easier on her in terms of tracking, interacting, and executing.

Quality of life for staff

I've tried to engage our staff for years on ways I can try to improve their quality of life for the 40 hours a week they spend at the clinic, but I don't think I've ever gotten any feedback. When I can think of things which might increment their QOL I implement them. Sometimes it works, sometimes it doesn't, but as with improving the doctor's workflows, this year I plan on taking a much harder look at the problems and possibilities involved in creating a more healthy atmosphere for the staff.

It's easy for me to get bogged down in minutia and routine; it's comfortable and requires less mental energy. This year, though, I need to continue breaking through the familiar to expand my vision and understanding.