Michael Karlesky

A cabinet of wonders. Minus the cabinet. And possibly the wonders.

Considering working with me? May I suggest you read what others I’ve worked with have had to say

Ridiculously Good Software: Agile Development, Project Management & Proper Testing

Software is hard. Wait. Let’s be honest. It’s a miracle the stuff works at all.

Now we can bellyache plenty about byte alignment issues, mysterious interrupts, legacy software, wonky update patches, and failed table joins. But these are not truly the challenges.

Does your software project represent an actual business case? Do you understand the difference between your users and your customers? Is your project timeline even the slightest bit realistic? Can you make reliable estimates? Do you have effective testing strategies, or is it just the last step in your Gantt chart? 80 hour weeks are always a bad solution to your problems (and those problems actually started months ago).

Good software process is the machinery of manufacturing quality and value from ambiguity — on time and within budget. I can help. I’ve done it many times with a variety of clients. Let me be upfront. If we’re going to solve your problems, it may require big changes, some tough love, and a real commitment to the process.

Think of me as your software therapist. Let’s schedule an appointment.

Are you an embedded or systems software developer? Interested in applying good testing techniques to your work? I've got just the thing: Dr. Surly’s School for Mad Scientists: Unit Testing & Other Embedded Software Catalysts.

Data Systems That Actually work Right, DaNG it


Getting data flowing through your systems properly is tricky business. There are more pipes than you might expect, and it’s far more challenging to get it right than it may seem. A weekend project to replace a faucet can quickly become a chronically flooded basement.

Custom embedded systems? Sensors? Noisy environments? Data brokers? Time-series databases? Modbus? MQTT? Dashboards? Serial data protocols? Industrial IoT? Networking? Seeing simple numbers can mean complex plumbing.

I can help you get your streams of data circulating reliably and plug the leaks preventing you from arriving at the insights you need.

Not only can I help you with designing, developing, or debugging, I can also help you with operations — strategies and tools for alarms, maintenance, validation, and auditing your systems to ensure they’re working as you expect.

Contact me before you blow a gasket.

User Experience + Human Computer Interaction

Fein Electric Hand Drill, 1895

Fein Electric Hand Drill, 1895

Ever used a handheld power drill? Really simple to use, right? Did you know that the first such device was designed to be steadied with two hands while you pressed against it with your chest?

My point is that humans have been using tools for millennia. Despite this, we still must work diligently to arrive at good designs for even a drill bit attached to a motor. How much more difficult is it to get digital systems right? Computers as we know them now have existed for a handful of decades. We have a long ways to go to master our own invention.

That’s where I come in. I have over a decade of experience in the craft of software as well as interface and user experience design. And, I’ll throw in my Ph.D. studies in the field of Human Computer Interaction at no extra charge. Practical problems? Theoretical issues? Old-skool GUIs or new-fangled gestures… the more challenging the better. Let’s interface.

If you can’t explain it to a six-year-old, you don’t understand it yourself.
— Albert Einstein

Image Credits