The pit in my stomach fell through the floor when I suspected that I had selected the wrong tab on the SSH client to type ‘DROP DATABASE’ into. The emails that came flooding into my inbox over the next few minutes were not a promising sign.
“Hey, I was working on a wiki page and now I’m getting an error.”
“I’m trying to show the new hires our internal policies but I can’t bring up our website.”
The unfortunate mess which I suddenly found myself in was my fault despite good intentions. A few days earlier I discovered my consulting client had a test web server connected to a production database. Testers were unknowingly changing production data from the test system.
To fix the misconfiguration problem I switched the test web server’s connection to an old test database. However, the test database’s contents were out of date. I intended to drop the old database then import the latest production database’s contents. My commands ended up doing the reverse. Production was dropped while the old useless test database was exported.
Late on a Friday afternoon before a long weekend is a terrible first time to inquire about your client’s database backup policies. Fortunately, the operations team took database snapshots every night. It took several hours but we successfully restored the production database from the most recent nightly backup.
I learned a couple of lessons during the ordeal. Obviously backup your data on a regular basis. But more importantly, work with a capable team who’ve got your back and can help you recover from mistakes.
From Dropping Databases to Developer Evangelism
My name is Matt Makai, and I recently joined the Developer Evangelism team at Twilio. I live in Washington, D.C. and I’ve spent much of the past nine years here consulting for commercial, non-profit, and government clients.
In 2013, I wanted to learn how Washington, D.C.’s tech scene differed from other cities in the United States. So I spent five months road tripping to thirty cities to meet with software developers and tech startups around the country.
During my five months of traveling, I met many tech community organizers and software developers, including several members of the Twilio Developer Evangelism team. I also learned ideas from other tech communities that could benefit D.C.’s tech scene. I joined the Twilio Developer Evangelism team after returning from my trip to apply those ideas to D.C.’s tech community.
Building a better tech scene has the potential to positively transform our government in the same way software has changed other industries. I am applying the ideas that I learned on the road to help facilitate that positive transformation in D.C.
Supporting Each Other in the D.C. Tech Community
One surprising aspect of D.C.’s culture I realized while traveling is that people here are more afraid of making (and admitting to mistakes) than other places in the country. Successful people move from all over the country to D.C. so they can rapidly advance their careers in the political center of the U.S. There are expectations that you already know what you’re doing when you get here. In D.C., even a small mistake made publicly feels like a career ending move.
But if you’re not occasionally making mistakes, you’re not stretching yourself to new limits. Mistakes are critical to improving your skills whether you’re living in D.C. or three thousand miles away in San Francisco.
My five months spent on the road, travelling through so many states and meeting so many different developers, made this lesson more clear: whether you’re a beginner or a grizzled veteran, not being afraid to make mistakes is critical to improving yourself.
The right environment removes the fear of making mistakes. When you surround yourself with other capable people, they can help you fix mistakes quickly and learn from what went wrong to prevent the issue from recurring.
Workplace colleagues are not the only support network to help you out when you’ve made a mistake. Going back to what I learned during my travels investigating other tech scenes, in D.C. we need to improve as a community in assisting each other. I’m working as a Twilio Developer Evangelist to build that supporting culture. Let’s eliminate the fear of making mistakes in D.C. and stretch ourselves further as a tech community.
I’m here to help in Washington, D.C. and beyond. Reach out to me at any of the following:
- Email: email@example.com
- Twitter: @mattmakai
- GitHub: mattmakai
- Web: http://www.mattmakai.com/