ENGINEERING JOURNEY

Building RQ

Every project starts somewhere. RQ didn't begin with a product roadmap or a business plan. It began with a few engineering questions that kept appearing during software releases and a curiosity to see whether they could be answered differently.

It Started With Releases

One thing became obvious while working with web applications. Release day often wasn't stressful because teams lacked automated tests. It was stressful because nobody could confidently answer one simple question.

"What should we actually test before releasing?"

Developers knew what changed. QA engineers knew how the application was validated. Engineering managers needed to decide whether the release was ready.

Everyone had part of the answer, but nobody had the complete picture.

Looking At Runtime Instead

Most engineering tools describe the application from the source code outward.

RQ started by asking a different question.

"What if we learned from how the application actually behaves?"

Every API request, automated test and user workflow already reveals something about the system. Those relationships exist for a brief moment while the application is running and then disappear.

Preserving those relationships eventually became a much more interesting problem than simply collecting execution traces.

Many Ideas Changed

The first prototypes looked very different from what exists today.

Repository integration originally relied much more heavily on hosted repository platforms. That worked, but eventually exposed practical limitations for continuous engineering workflows and meant repository credentials had to be managed outside the customer's own environment.

That gradually led to the idea of the RQ Agent, where repository operations happen inside the customer's own infrastructure instead of relying entirely on remote services.

Looking back, many architectural decisions followed a similar pattern. Something worked, until a better approach became obvious after using it for a while.

One Idea Stayed Constant

Although Java, .NET and Python all work differently, the engineering questions remain surprisingly similar.

That became an important design goal throughout the project. Instead of building different products for different languages, RQ tries to provide one engineering model that behaves consistently across runtimes.

The implementation changes. The engineering concepts shouldn't.

Still Evolving

RQ is still an independent engineering project.

Some ideas from the first prototype have disappeared completely. Others have survived almost unchanged. Every iteration has helped simplify the architecture, remove assumptions or make the platform behave more consistently.

There is still plenty to build, but the motivation hasn't changed: help engineering teams make release decisions using evidence gathered from real application execution instead of relying purely on memory, documentation or intuition.

Thanks for Reading

If these ideas resonate with how your team approaches software delivery, I'd be happy to learn about your workflow and hear your thoughts on where RQ could be useful.