Welcome!

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.

Blog’s Purpose

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.

Technical History

Languages

Java and JavaEE was my first love, and like all first loves they have a special place in my heart. After Java I moved on to C# on .Net 2.0 and 4.0. Then on to JavaScript. After a quick detour to iOS and Objective-C, I found myself knee-deep in JavaScript both in the client and on the server via NodeJS. Currently I am working in NodeJS and keeping an eye on functional paradigms, event-sourcing, CQRS, and reactive programing.

Deployment Models

Web and Enterprise applications is where I started, but I took a detour through Swing, WinForms and WPF (all desktop client technologies).  I have loved MVC since my first JTable & TableModel.

Architectures

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.

Domain History

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.

Leadership Roles

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.

Leave a Reply

Your email address will not be published. Required fields are marked *