Consulting Services

Helping your software dev teams ship faster with less stress

Does it feel like there’s not enough time to get everything done? If you’ve recently had to let people go, you’re probably under even more pressure. If your business is doing well, hiring is an option, but it’s hard and expensive.

What if there was a way to make the people you already have more productive, with the same hours? You would be able to ship faster with less stress, and deliver more value to your customers.

The most common sources of wasted time and money are slow manual processes, slow dev workflows, slow test suites, and unnecessary meetings. Fixing these issues effectively is hard. I’ve consistently observed that engineers automate far less often than they should, for the following reasons:

  • They feel they don’t have the time right now. There’s always something more pressing, so they keep deferring the decision, which slowly but surely erodes productivity.
  • They don’t have experience writing scripts or using automation tools.
  • They underestimate how often a task will need to be run.
  • Due to the way our brains are wired, they don’t think about the long-term benefits of automation. It might not seem worth it to save 30 seconds per task, even if that task is run 10 times per day. But if you multiply that over a year, that’s half a work week saved!

The cost of automating (including learning how to automate) may initially be higher than the cost of doing the job manually. However, with experience, you’ll be able to automate faster, and that skill will compound and pay for itself as you automate more and more tasks.

Over the past 9 years, on every team I’ve joined, I have found ways to save 3 to 7 work-months per year through automating manual tasks and dev workflows, speeding up onboarding and test suites, improving code quality and maintainability, improving developer happiness, and reducing or eliminating unnecessary meetings.

I can do this work for you and/or teach your team how to do it, or simply identify the time-saving opportunities for you and leave it up to you to address them.

In addition to automation, some of these outcomes were achieved using insights from Behavioral Science research, and Upstream Thinking. I can give a talk at your company to teach you these techniques. Here’s a related talk I gave at ParisRB in 2020 called Speeding up Tests with Creativity and Behavioral Science. For Upstream Thinking, I recommend Dan Heath’s Upstream: The Quest to Solve Problems Before They Happen.

In addition to reducing the amount of time and money you’re losing every day, I also offer these additional services:

I can help you improve your internal technical docs and customer-facing docs. I’m known for my detailed technical and beginner-friendly blog posts, tutorials, and documentation. My writing has been featured several times in the Ruby Weekly newsletter, the most popular newsletter in the Ruby and Rails communities. You can read my articles on my personal site and on the Ruby on Mac blog.

If you feel like you’d benefit from my expertise, book your free discovery meeting and we’ll go from there.

Below are some quotes from colleagues praising my work. Many more testimonials are available on my personal site, and here’s my résumé.

I’m lucky that there’s a really solid example of improving via marginal gains that appeared this week. Moncef took the initiative to fix a process that has been slow and time-consuming for the last several years on this project and improved it. The project was to fix how we report out the changes between releases.

This is the type of initiative I like to see in folks on my project and it sets a great example for other engineers. There was also immediate success in using it and even the customer understands how much time and effort this will save the team so that we can continue to focus our efforts on more important engineering projects. I hope that Moncef will continue to make these types of improvements to the process where he sees that they are needed.


It’s been such a pleasure to know Moncef in the limited time I have been able to work with him. He’s a person with so many varied interests, which shows that he has a strong intellectual curiosity about people and the world. That kind of perspective always makes for a better coworker.


Moncef has demonstrated technical expertise in many different areas, expanding beyond back-end coding and lending a hand wherever needed. One coworker noted that “automated tools created by Moncef got him on-boarded to in one day”. His peers note the “impressive volume and quality of Moncef’s code contributions”, and his “meticulous attention to detail and quality”. Moncef’s teammates rely on his “experience and insight into technical problems”.


Moncef has been able to pass his knowledge and experience on to his teammates. He is great at bringing new engineers up to speed. Moncef’s peers “view him as a teacher and look forward to learning from him”, each one mentions how they are “better for having worked with him”. One coworker said that when pairing with Moncef on coding tasks, they “always left with new ideas or techniques”. Moncef clearly inspires his teammates.


Moncef’s ability as a mentor and teacher is enabled by his interpersonal communication style. Described as “direct, concise, and complete”, Moncef is “a master of delivering just the right information — in both spoken and written word”. His peers really appreciate his availability and “patient nature”.

Rails app upgrades and maintenance

Do you have an old Rails app that needs to continue running in production, but you don’t have the time or people to keep it secure and up to date? Is it harder and riskier to make changes as time goes on? What would happen to your business and your reputation if your customers’ data was compromised due to running old versions of Ruby and/or Rails?

For a fraction of the cost of hiring a full-time developer, I will give you the peace of mind that your app will be up to date and free of known security vulnerabilities.

I offer two fixed-price options: a one-time fee for updating your app to the latest versions of Ruby and Rails, and a monthly retainer for ongoing maintenance that includes the following:

  • Keep gems up to date (more reliably than dependabot)
  • Update Rails and Ruby versions before they reach end of life
  • Set up monitoring for downtime and errors
  • Make sure domain name registrations won’t expire
  • Make necessary updates on the hosting service
  • Fix exceptions
  • Improve tests
  • Audit gems to see if any can be removed/replaced
  • Audit code for any improvements
  • Find other ways to save you money

If you want to stop worrying about your app, and leave it in great expert hands, book your free discovery meeting and we’ll go from there.