When I talk to people about programming, I often comment about how I prefer to write back-end code. In fact, it even came up in an interview. They had several positions open and asked if I preferred back-end or front-end. I told them back-end without even batting an eyelash. In all honesty, it was the first time I ever really got to choose.
Most people that I tell that too, programmers and non-programmers alike, look at me funny. The front end gets all the glory. Very few people care about Windows 7’s back-end code. Or what the iOs4 is doing underneath the covers. They love the multi-touch and all the other fun stuff, so that HAS to be more fun to write, right?
Not for me. Some of it might be my electrical engineering background. Four years of solving equations, deriving equations etc gave me little interest in how my circuits looked. But I think the bigger issue is that the front end is so nebulous. Ask someone what they want on a GUI and you’ll never find out. Create a mock-up and you’ll find out what they DON’T like. Even after several iterations of GUI design, it is often met with both approval and disdain…sometimes from the same person!
But I think more than that, it’s troubleshooting front end code that annoys me. When I first started working on GUIs I was using MFC to write a C++ app (about 10 years ago.) We didn’t have a lot of cool designers, or ways to anchor controls to the screen. I spent a good chunk of my time fixing resizing issues, such as user changing resolution, user minimizing, maximizing or adjusting the size of the application.
In the recent years, there have been improvements and better methods for GUI design. But I was reminded again this past week why I don’t like it. A co-worker spent about 8 hours chasing down a printing bug for our website. Chrome, IE 6,7, 8 and Safari all handled the task beautifully. Mozilla wanted to throw a blank page after page #1. He finally got it resolved, and I felt for him. At the same time I was relieved that I had said “back-end” in my interview.
I get funny looks when I say that, but (at least for me) I get to keep my sanity.