cliffhall - Overview (original) (raw)

Cliff Hall

💥 Availability for Consulting

I consult corp-to-corp through my company Futurescale.

Software Engineering

I've slung a lot of code since the days of 6502 assembly for C64 and the Apple ][. Here's where I'm strongest at the moment.

Project Leadership

I enjoy leading remote, globally distributed teams to success. This requires continuous integration, unit testing with an aim for 100% coverage, and rigorous code review. It makes a team stronger and certainly elevates code quality. The highest compliment for a team I've led was that the codebase appeared as if created by one person.

Software Architecture

With every new system design, I am guided by Einstein's maxim: "As simple as possible, no simpler."

A common thing I see is domain language drift across teams and departments acting as a major source of friction and misunderstanding. That's why I approach new projects with domain-driven design, i.e., agree upon the things and the processes that operate on the things first (nouns and verbs). Build a glossary for the project and everyone from code to marketing is on the same page from the jump.

Within modular software, the biggest problem is separation of concerns, e.g., not muddling view handling responsibiilities with business logic and domain logic. As opposed to toolkits which offer a grab bag of utilities, frameworks help developers focus on requirements by providing a set of actors with roles, relationships, and collaboration patterns that solve for separation of concerns.

When I began working for large enterprise clients, I noticed that the frameworks avaialble for the prevalent development stacks were overcomplicated and made maintenance harder. Junior team members often struggled to understand the collaboration patterns at play between the framework actors. This led to messy, confusing code that is hard to maintain.

So in 2004, I created the PureMVC Framework. PureMVC is a lightweight, object-oriented MVC architecture that was eventually ported to over 15 programming languages and is still used today. Also wrote the O'Reilly book.

🧠 Currently Focused on AI

Building Agents

Solving Domain-specific Problems with AI

Since founding Futurescale in 2004

⛓ An on-chain builder through multiple bulls and bears

Letting crypto go

In 2018 I began working with Solidity, convinced that NFTs (not crypto) might actually be useful. I documented my developer journey in a webseries as I discovered how radically different the field was from any other language or environment I had ever worked on. It was bewildering, interesting, and greenfields as far as the eye could see. Everything hadn't been built, and the possibilities were endless.

Since then, crypto scams and the vicissitudes of the market have made it impossible to work in as a professional developer for hire, so I have decided to redirect all of my focus to AI, but I learned a lot on my blockchain journey, and met a lot of great people along the way.

📈 Enterprise and government work