• The cover of the 'Perl Hacks' book
  • The cover of the 'Beginning Perl' book
  • An image of Curtis Poe, holding some electronic equipment in front of his face.

All Around the World: Celebrating Ten Years

minute read



Find me on ... Tags


Celebrating Ten Years

All Around the World is now celebrating its ten-year anniversary. Managing director Leïla Contraire and I collaborated on this post to talk about what we’ve accomplished.

It has been an impressive journey working with American, European, and British clients with an international team. Stabilizing, modernizing, developing new and old code, supporting, training, managing on-site teams.

And that’s not all, we have been expanding.

While at heart we are a Perl consulting company, we have branched out into a variety of languages. We’ve done C++, Lua, TypeScript, Go, Python, Java, React, and more. We still have Perl as a core focus, but being able to diversify not only makes AAW stronger, but gives us the ability to appreciate different approaches to problems.

So after ten years we thought it would be a great time to answer the questions that people at conferences keep asking us.

What do you do?

Our job is to solve a large variety of concerns for our clients: untangling an old code base, handling the work in-house teams don’t have time for, using our expertise to develop new tools that the company has less experience with.

Old or new, there is always this excitement of being able to bring a solution. Given our many years of experience, we have seen just about everything. It doesn’t mean the work is easy—it often requires hard effort both from us and the client—it just means that no matter what is thrown at us, there is this deep certitude that we can solve it and that’s an amazing feeling.

What makes you different from other consulting firms?

In our experience when clients need a consulting company, they either want devs who are going to deliver the company strategy, or they need people who can put together a solution that will address all their concerns.

Because we care, we excel at the second. We love to come in, listen to the client concerns and aims, and propose the best solution, taking into consideration all the parameters. We love to bring flexibility in our solutions, always keeping in mind that we are not here to stay. We are just a temporary booster for a long-term adventure.

We can achieve that because our teams are special. They share our values. They are dedicated, talented, and complementary. Working with them is like being part of an orchestra. Everyone is essential, everyone is part of something bigger than themselves, and seeing them work is simply magic.

In a way to go back to your previous question, we are bringing magic to the tech world.

What do you bring to your clients?

What we bring depends on what the client needs.

Rescuing Legacy Code

Sometimes it’s untangling a mess of legacy code, transforming an old system into something maintainable. After understanding the code, we design an appropriate architecture and gradually, layer-by-layer, transform the code to that architecture. Sometimes we finish that work. Other times we evolve the code to the point where the client is capable of taking over.

Network Provisioning Automation

Of course, we also build new tools. In one case, a transatlantic telecom client was struggling to manage the costs of network provisioning due to it being a manual process. Many large projects were stalled due to time spent managing day-to-day tasks. We built a system that automated the provisioning, including security, freeing their network engineers to work on the difficult problems that actually required human intervention.

Data Management

Data management is another key area. We have found that even the best software developers often do not understand how to design a database or structure large amounts of data to be useful to their company. This often leads to complex, slow code that tries to work around the limitations of their data. We get asked to sort this out. This is often a delicate process, requiring extensive testing as we slowly restructure the data and processes to deliver the quality the client requires.

Security

Security and reliability are uppermost in everyone’s mind today, but they’re often viewed in terms of cost instead of profit. As a result, they often get ignored until the company’s hand is forced.

For one of our largest clients, most of their internal employees had full access to everything on their system. In redesigning their access control they found it both fragile and difficult to implement on a multi-million line codebase. We were brought in and over the course of two years, we deleted large swaths of their codebase, replacing it with a single configuration file and a handful of supporting modules. The project was a great success and made it trivial to have fine-grained control over access, even down to individual components on a page.

A/B Testing

Today, much of the software world has agreed that testing their software’s behavior is important. But what about testing their customer’s behavior? Does your new sign-up form increase or decrease the number of sign-ups? Can you prove it? One of our customers could, but the A/B testing system they built was difficult to work with. Because they put all of the data into a single database table, the system required custom SQL be written for every A/B test. The SQL had to be run from the command line to produce reports.

We rebuilt their entire system with a properly designed database, along with beautiful front-end charts showing the performance of all tests for whatever confidence level desired, including the ability to set the minimum number of required visits per test. Creating a new test only took a few few clicks. Stopping and restarting tests, including adjusting the number of buckets was trivial. A/B testing is a fantastic tool for discovering if your changes have the impact you’re looking for. You can stop guessing and start using a data-driven approach.

What are you the most proud of?

The certitude that, as a team, we can address any problem that is given to us.

What have you learned during the past ten years?

There are three key lessons we have learned.

Trust our instincts

If something is not right for us, it’s likely not right for the client or our teams. We know when to say “no.”

Hiring is everything

It is not just about assessing technical abilities, but also evaluating communication skills, critical thinking capacity, and the candidate’s desire to contribute to something greater. At our company, we take immense pride in a job well done.

Never give up

Even in the face of adversity, we believe there is always an opportunity for something more significant, happier, and worth building, just around the corner.

With these insights, we are better equipped to steer our company towards sustained growth and success.

Why are you developing a game?

Because we needed to create something we believe in, that belongs to us, to our teams, something that lasts. We are immensely proud of our work on Tau Station .

As for lasting, it has 8 years of development, and we are only approaching the marketing phase.

It has been a labor of love, the sheer joy of using our experience to tell meaningful stories, and the real struggle to make it happen.

Creating something—giving life to something—is such a different adventure than consulting. It gives us perspective, understanding for our clients, as even in our code base, we sometimes see the pain of legacy code.

What would you like to say to your future clients?

Come and talk to us . No matter the problem, the need, we have the solution.

Please leave a comment below!



If you'd like top-notch consulting or training, email me and let's discuss how I can help you. Read my hire me page to learn more about my background.


Copyright © 2018-2024 by Curtis “Ovid” Poe.