Wednesday, March 20, 2013

Behind The Scenes

When somebody I know visits Slick Text for the first time, they're inevitably impressed. In my completely biased opinion, Slick Text is a great product, and there is good reason that these people offer compliments. Similarly, our customers are often very pleased with our company and our product.

"The website looks great!"
"It's so professional looking!"
"It's so easy to use!"
"The customer service is excellent! "
And I appreciate these compliments. I really do. But these compliments aren't really directed at me, even if it's friends or family saying them in my general direction.

These are things I have no control over, and very little hand in creating and maintaining. I didn't design or build the front-end of the website. I didn't design the interface (though I sometimes offered feedback or suggestions). I have close to zero influence on those aspects of the product. And I don't interact with customers. It's not my strong point, and these are things better left to my business partners. You know, the guys with job descriptions like "Graphic Designer" and "Sales Person".

These easily-accessible, front-facing parts are not the parts I deal with. Instead, I deal with the guts of the application. The parts nobody sees. The parts that, if they were seen by a majority of my friends and family, they would just stare at in utter confusion. Essentially, nobody sees my work, and if they did, only a small portion would understand and appreciate it.

This can be very difficult for me.

Especially when things break.

When there's a security issue and people are able to get high-priced accounts for free, that's my fault. When we accidentally send 30 text messages each to 50 different customers, that's my fault. When our analytics are innacurate, when our registration system breaks, when a CSRF vulnerability is discovered, when interaction with various APIs breaks, when certain URLs are not recognized while editing messages, when posting to Facebook doesn't work, when time zone issues are discovered...

All of the responsibility for that lies with me. I'm the one who built those systems. I'm the one who can fix them when they break. I'm the one who has to extend them to add new functionality.

Since our code is not open source, there are two people in the world who will ever see it. Matt, who, to his credit, gives me kudos for getting things done, and has sometimes (mistakenly) referred to me as a genius...

... and me.

With all due respect to Matt, who is learning what he needs to in order to write some effective PHP and SQL, I'm probably the only person who understands our systems. The only person who will look at them and critique them with full knowledge of how they work.

So I want to write them well. I want to create well-architected, clean, readable, beautiful code so I can appreciate it.

Because nobody else is going to.

No comments:

Post a Comment