Perhaps a funny story…
A friend of mine got a job in Silicon Valley. He had to write something to alert the senior devs when the servers crashed. I was supposed to get the top five names on the call list and send them a text, every 5 minutes until it got resolved. He thought he would get fancy and write a recursive solution. That was a big mistake. The first time it texted everyone once, the next time twice, then three times, etc. And he had just reset the password that people needed to remotely restart the servers. And he left it on his laptop at work. So, at 3am on a Saturday, all hell breaks loose. No one can reset the servers and he lives outside the city, the trains are shut down, he doesn’t have a car, so he has to take a cab into the city to get the password and restart the servers. In the end, these 5 senior devs got hit with thousands of text messages each. That was a bad day.
Sure, “the code isn’t working” is a bad day. The first time you realize that your code caused a bug - that’s a bad day. When you spend days on a solution that you find out either doesn’t work or isn’t needed anymore - that’s a bad day. Of course there are also situations where your mistake can cost the company business, cause a data breach, loses people money, maybe even someone’s life.
There are a lot of ways to have a bad day.
Dang, I just spent half an hour on Reddit researching PIP’s and whether or not terminations were justified, the company doing what they needed to do because they wanted a smaller more skilled team, or just a bunch of clowns. Hopefully I get ample experience before I’m let anywhere near a people killing code. What is this Portal?
We all break prod at some point.
As an intern, I created an infinite loop in a rules engine. Our software crashed for the whole Baylor Hospital system.
I know someone who forgot to turn a switch off before going on vacation. They came back to find out that the company had been billed tens of thousands of dollars for running a completely blank ad.
Lockheed Martin and JPL once crashed a $125 million spacecraft into the surface of Mars by not converting to and from metric.
It reminds me of when I got my first motorcycle. My friend (an experienced motorcyclist) told me that I was probably going to crash at around 1000 miles. He was right. I think it’s the same with software dev. In the beginning you are so nervous and you triple check everything. As you get a little more experienced you start to get a little too confident and do something dumb.
I remember when I got my first bug in prod, after about 2 months. I was talking with a senior dev. I felt like an idiot. He pointed out that there were two other devs that approved that PR, and he was one of them. That’s just the way it is sometimes.
Just be careful, double check everything, write good tests, and do good regression testing. But there will be bugs. Just try to minimize them and learn from them.
I’ll remember the motorcycle analogy, I’m 3 episodes into Mr. Robot, I think I get the ramifications a little better.