Main content

I've been writing software for more than 12 years, and depending on what you count as software, possibly 18 years. These have been everything from large desktop applications, frontend and backend of websites, and mobile apps. In that time, I've advocated for user experience, particularly in constrained development environments where self-consistency can be as important as the latest trends in UX. I've been an individual contributor, a tech lead, a mentor, and even the CTO of a startup, although in most cases, I think these are more a description of reality rather than any official title. Work has brought me to live in Canada, China, and California, and I can talk about cross-time, cross-cultural, and cross-language communication from personal experience. (It's harder than it sounds.)

My roles have required me to spend the majority of my time writing code. That's C/C++, C#, Java, and Python. You can also add Objective-C, ActionScript, Perl, MATLAB, VisualBasic .NET, PHP (and more) as things I've worked on and released at some point in time. I think the web is so pervasive that any software engineer should just know HTML/XML so it hardly seems worth mentioning, but I've been writing websites since 1997-ish and have never really stopped since.

To round out the story, and maybe alleviate any remaining suspense, most of this work was with National Instruments and at SnapEDA. The rest you can discover from LinkedIn.