Moncef photo

What I’m up to now

In late October 2021, I quit my day job to focus on my education and productivity business. This is where my passion, strengths, and skills intersect. I’m known for my automation skills, and detailed tutorials that work the first time. My guide for setting up a Ruby development environment on a Mac has helped thousands of people since 2012. The process is now automated via my popular Ruby on Mac script.

Even for experienced people, Ruby on Mac can save you hours when setting up a new Mac. It comes with a customizable template that already includes common dev tools and Mac apps. You can easily add any additional tools and apps. And then with a single command, it will install everything for you.

My story

I was in college when Netscape, Internet Explorer, and JavaScript were created. Back then, there weren’t any web development courses, so I had to teach myself. It was partly out of curiosity, and also necessity. I was making music with a friend, and we needed a website to promote our productions and my DJ mixes. We were about to graduate, and we thought our site could help us land a job. My friend ended up in a web dev firm, and I went to AOL.

I wasn’t writing code at AOL, though. At least not at first. I stayed there almost 14 years doing mostly Software QA. On the side, I was still updating my music site and learning things as I needed them. I discovered Wordpress and taught myself just enough PHP, MySQL, and CSS to be able to tweak themes and plugins.

In 2003, I wanted to open an online record store, but I didn’t know where to start. I think I searched for “how to code an online record store”, and I found a tutorial by Macromedia that was literally “Record Store: Building Your First Web Application in Dreamweaver MX”!

I made a lot of progress with that tutorial, but then I wanted to integrate with PayPal. My store was in PHP, but I needed JavaScript for PayPal. I remember thinking, “How do I get PHP and JavaScript to talk to each other?!” I struggled with this for days, but I figured it out on my own.

A few years later, I discovered Ruby, and then Rails, and fell in love. I tried a few tutorials, but what worked best for me was learning by working on something I needed. I built my first Rails app, Fix My Tumblr Tags, to solve a problem I was having.

Throughout those years, it never occurred to me to blog about what I was learning. That changed in 2012. Although I was great at finding bugs and UX issues, I grew more interested in writing code. An opportunity came for me to lead the iOS automated testing effort at AOL. I jumped on it, and the best tool I found during my research happened to use Ruby!

I thought this would be a great way to practice my coding skills, and help me transition from QA to development. To reinforce my learning and stand out from other junior engineers, I decided to start a programming blog.

Instead of using Wordpress, I chose to look into static sites, mainly because the popular frameworks were based on Ruby, and also for their speed and security. I thought I would pick up more coding skills that way.

I ended up choosing Octopress, which was based on Jekyll. While trying to install Octopress, I ran into a bunch of issues. I was determined to figure it out, so I recorded my screen while I was looking up errors and slowly fixing them.

Once I figured out the recipe for installing Ruby on a Mac, I knew that would be my very first blog post. I didn’t want others to suffer like I did.

I wrote a very detailed guide with screenshots for every step, and tested it several times. It quickly became very popular, and people started thanking me for saving their day.

That gave me the confidence to keep writing guides about what I was learning. When I wrote another detailed guide about iOS automation, it also became popular, and led to me getting invited to talk about iOS Automation with Calabash at the Mobile Testing Summit in San Francisco.

Another turning point happened when I attended the TechCrunch Disrupt conference in NYC on May 23, 2012. I remember the date because that’s the day my life changed.

AOL had bought TechCrunch, and I was in charge of automated testing of the TechCrunch iPad app. As a thank-you for our hard work, AOL invited some of us to attend the last day of the conference.

That day is when Todd Park (former CTO of the United States) and Steven VanRoekel (former CIO of the US) gave a fascinating talk about innovation in the government. They announced the Presidential Innovation Fellowship, and mentioned that it was inspired by Code for America.

I thought to myself, “Code for America? That sounds cool! Let me look them up.” I followed them on Twitter, and saw that they had an open application for their fellowship.

I was so excited about this chance for a career change, but also scared because the fellowship only paid $35,000 and required you to live in the San Francisco area for 11 months.

On top of that, my fiancée and I were preparing our wedding. We were living in Virginia, and she could not leave her job. How would she feel about us getting married and then living apart for almost a year?

We talked about it, we went over our budget, and we agreed that the benefits could outweigh the temporary setbacks. It helped that one of my brothers lived in San Francisco and that I could split the rent with him. There were also opportunities for my wife to come visit, and for me to work from home later in the fellowship.

I remember keeping the fellowship application open in a browser tab for months. I waited until the very last day, and finally submitted it, with my fiancée’s support.

I made it through the first few stages, and for the last one, I had to record a video of myself answering a few questions. I got the email from Code for America right when we were about to travel to Morocco for our wedding.

I recorded the video from my parents’ house in Casablanca, and sent it off.

A few weeks after returning to Virginia, I got the acceptance email. I woke up my wife, “Honey, honey, I got accepted!”

Where I’ve worked

Before I quit my day job in October 2021, I was a consultant at Truss, a distributed-first, mission-driven company. I focused on impactful marginal gains that increase productivity, save time, and teach engineers best practices.

I helped shape Rails best practices on the Caseflow project, and made the test suite almost 3 times as fast. I also learned Golang to help improve the code quality on the MilMove project. I gave an internal talk on testing best practices, and helped speed up the test suite, as well as common tasks that developers ran every day. These time savings translated to at least 8 person-weeks saved per year.

Prior to that, I spent four years at 18F, where I led the analytics effort on login.gov (source code), and helped shape best practices on the Engineering team. Through my automation skills, speeding up test suites, and reducing meetings, I saved over 1400 hours across all engineers.

Prior to joining 18F, I was developing Ohana API, an open source project that makes it easy to publish and maintain an open directory of community resources using the Open Referral data standard. I started Ohana API with Anselm Bradford and Sophia Parafina during our Code for America Fellowship in 2013. Ohana API was one of seven winners (out of 628 entries) in the Knight News Challenge: Health, and was featured in several media outlets (PBS NewsHour, Los Angeles Times, SF Examiner).

In 2014, I also provided Ruby on Rails and QA consulting to OpenCounter and Crowdpac.

Before joining Code for America, I led the Automation effort for the AOL Mobile team, focusing on iOS automated testing using Calabash, Cucumber, Ruby, and Objective-C. My work at AOL resulted in an invitation to talk about iOS Automation with Calabash at the Mobile Testing Summit in San Francisco.

Music also plays an important role in my life. I used to DJ regularly between 1993 and 2011, opened (and coded) an online record store (Monfresh Recastow) in 2003, and hosted an online radio show between 2006 and 2011. You can listen to some of my favorite records on the Fresh Tunes section of monfresh.com, which also hosts all 209 episodes of Monfresh Sessions, along with many of my DJ mixes. I also used to run They Make Music, a site featuring interviews with various Dance Music artists.


Twitter: @monfresh

GitHub: monfresh

Email: My first name + my twitter handle + .com