Challenge, creativity, imagination, elegance & power are what I strive for in my work. I am passionate about building software that is architected cleanly, provides real value to end users and is a delight to use. My name is Tom Hubschman.
The purpose of this blog is for me to get all the stuff in my head out of my head and into a form where it might help a engineer, team, project or company. If it achieves that at least once, it’s purpose will be fulfilled.
Dependency Injection and separation of interfaces from implementations has been a way of life, I write my own injectors when necessary or expedient but also enjoy using frameworks.
Multi-layered system design has been the way I design things the number of times I have ended a class with “Servlet”, “Service” or DataAccessObject (DAO) is so many that last week I called the mustard on a ham sandwich the Flavor Providing Layer.
Patterns in general please me, whether GoF or my own version. I enjoy exploring a given problem and identifying the natural patterns that emerge to best support its function.
I started out at a San Francisco network infrastructure provider, then moved on a media company, then worked for four years building SmartCare, Africa’s largest Electronic Medical Record (EMR). Returning to San Francisco I focused on Pharmaceutical Research applications, then back to EMRs. Most recently I finished up a few years of consulting and am currently working in Digital Marketing.
Teams Sized from 3 to 20
I enjoy engineering and I enjoy leading and managing. I have been fortunate to have a variety of opportunities to do both. While in Africa I was promoted twice to lead a sizable (20+) group of software engineers, network engineers and support personal. Later in Silicon Valley I has hired to design a product, hire a team and build the product. After finishing that project I was promoted into a Director role leading 10 engineers, QA and product owners.
Still I haven’t liked being too far from the code itself. Even in my leadership roles I have always continued to make code commits and stretched by own technical chops by learning new languages and tools. I also enjoy code reviews, tech talks and crafting learning and certification programs for my team.
Agile & Iterative
Agile and iterative has been the way I have worked since 2007. I enjoy the heartbeat of iterations and the thrill of regular demos and releases. Target Process is my tool of choice but I have worked with others.