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 senior software engineer Monte Carlo Data. We are the first and best in the up and coming Data Observability category of solutions, which enable end-to-end observability and monitoring for data workflows. Think like DataDog is for infrastructure, only with your data pipelines instead of servers. We all wear many hats here, but I’ve been mostly focused on the backend with Python, Django and Graphene/GraphQL (for APIs), PostgreSQL, and a smorgasbord of AWS services.
Before Monte Carlo, I spent some years at GLG as a principal software engineer. I used to say they are like match.com between subject matter experts and companies that need their unique insights. At GLG, I mostly worked with React and Node server side, along with a gargantuan SQL Server data source. Did a fair amount of query performance tuning there, in addition to the full stack dev and some framework and dev tools development used by multiple teams.
Just prior to GLG, I was at CentralReach, which provides practice and learning management software to folks in healthcare who focus on helping kids with autism. What I loved about CR was working for a place that helps those folks better serve those kids, and of course the technical challenges and good people to work with are what make the day-to-day enjoyable.
Before these recent years back as an individual contributor, I was the (first) director of engineering at a great 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 immensely 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.
When I Grow Up…
I want to either make some software or write a book (or both) that has a lasting impact and contribution to humanity.
- 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.