I’ve been making software professionally since the late nineties, in companies ranging from tiny shops to large enterprises, making both internal corporate and commercial software.
I’m currently a staff software engineer at Built Technologies. On the Platform Team at Built, I led an effort to update the micro-frontend architecture, abstracting away dependencies and centralizing much horizontally-concerned code into shared libraries to maximize maintainability and speed development time for customer-focused teams. This included a goodly amount of internal documentation, high test coverage, and focus on ease of use. As of writing, I’m leading an effort to further refine how we ensure quality across our architectural profiles.
Before these recent years as an individual contributor, I was the first director of engineering at a little company called TelTech. They “hack” the mobile phone experience with apps that give people more control of what happens with their phone calls. I led a small but dedicated team of great engineers responsible for the whole kit and caboodle. And for almost a decade before that, I worked at Infragistics, a commercial software vendor with a long history in UI and UX tools for software developers and designers, where I served in many roles over the years, ending up as the director of product development for over 90 software developers in their developer tools division.
In my time I’ve held many roles spanning most disciplines in software development: developer, architect, product manager, interaction designer, and more. (See LinkedIn below for the whole history.) I’ve worked in and led software efforts in many contexts and many stacks, and I always love tackling new challenges.
In my free time, I like growing my beard, spending time with my wife and kids, smoking meats, brewing beers, and just generally chillin out.
People Say That I’m…
- A thoughtful, fun-loving but driven guy who really cares about the people who work with and for him as well as making awesome things with them.
- Something of a perfectionist, but reasonably so.
- A strong writer, and also that I am pretty good at naming things.
- A peacemaker — tries to listen to all sides and to be fair and help others to see each other’s perspectives.
- Professional ADO.NET 2: Programming with SQL Server 2005, Oracle, and MySQL — Wrote a few chapters for it, the most interesting being the custom ADO.NET Data Provider, which was an ADO.NET to LDAP/Active Directory mapping layer that allowed for SQL- like queries to be issued rather than the obtuse LDAP syntax.
- ASP.NET 2.0 MVP Hacks and Tips — Part of a horde of ASP.NET MVPs contributing. I authored the Cache Hacks chapter that showed how to create an object- oriented cache for ASP.NET as well as a cache viewer (similar to ELMAH).
- Silverlight 3 Programmer’s Reference — This started as a Silverlight 2 book, but they outpaced us shipping, so it became 3. I wrote the chapters on Silverlight architectural tour, styling and dealing with resources, using services (including HTTP-based and sockets), cross-cutting concerns, and “making the app come alive” — about events, responding to user input, personalization, and internationalization.
I’ve written so many articles and blog posts that I lost track long ago, but here is a sample. Unfortunately, as the internet has aged, a number of my blogs and articles have gone offline. Sorry. ¯\_(ツ)_/¯
- Articles on Dev.to — Mostly having to do with soft skills as a developer.
- Sorting Custom Collections — print mag CoDe Magazine article on the custom sortable collections mentioned above.
- Articles on ASPAlliance.com — All developer articles from earlier in my career.
- Usability in Practice Series on MSDN — co-wrote with Charles Kreitzberg, PhD, a long-time usability expert. We collaborated on choosing topics of meaning to devs to help them come to terms with UX. He would author the theory side, and I would author a dev-centric/practical side (sometimes with code). (No longer online…)
- Storyboarding in the UX Process –for UXMag on the value of storyboarding for UX design.
- UX Manifesto: 7 Principles for Better Software — this is an attempt to distill UX guidance for devs down to 7 practical principles. (No longer online…)
- Best Practices for Interface Design with Windows 8 Development — an overview/intro to designing for Windows 8 for developers. (No longer online…)
This blog is my most recent professional blog. You may also find my blogging at:
- Previous Blog at Wordpress.com
- My Blog at Infragistics
- Tech Posts on my Second Blog — dotNetTemplar (No longer online…)
- My First (Tech) Blog (No longer online…)
I was awarded Microsoft MVP for eight consecutive years, 2003–2010. The first few awards were in ASP/ASP.NET, then Software Architect, then Client App Dev, and finally ending with a few years of Silverlight.
I have been an ASPInsiders member since 2003. Originally it was a peer-based excellence recognition program partnered with the Microsoft Web platforms team.
Inducted into the INETA International Speakers Bureau (now defunct) in 2006. This was a select group of recognized speakers on Microsoft .NET technologies.
- US Patent 8,290,905 B1 — Method and system for accessing interface design elements (2012) — for innovative work on Infragistics Quince UX/UI design patterns browser.
- US Patent 8,413,062 B1 — Method and system for accessing interface design elements via a wireframe mock-up (2013) — for invention of new UI metaphor to discover UI/UX design patterns.
- US Patent 10,157,046 — Method and apparatus for generating an explorer for user interface prototyping — for invention of new way to create UX/interaction design prototypes.
- Microsoft Certified Professional (2005) (Num. C390–7325) — Web Applications in C# and Solutions Architecture
- Certified Scrum Product Owner
I’m always happy to meet new folks.