I’ve been asked an interesting question a number of times in interviews over the past week or so. Today I thought I’d explore my response to the following question.
What do you enjoy the most about web development?
Now there is a loaded question if I ever heard one. If I say that I don’t really enjoy any of it I probably won’t get the job. If I say that I enjoy all of it you’ll probably realize that I’m a bit disillusioned with life and move to another candidate.
So how should I respond? With the truth no doubt.
Here is what I really enjoy the most about web development…
The Back End
When I start working on an app there are basically two stages to it. I could add some more stages in if it would make you feel better, but at the end of the day here is how I attack a “back end” and what I enjoy about it.
For me the most fun is the planning stage. Taking the app idea and breaking it apart into multiple smaller steps. Once we know what we need to accomplish with our app we can take these steps and breaking them into models, controllers and views.
The next logical step, writing the Ruby code to make all the models work together and give us actions that we can perform on them, is not necessarily my favorite part. It’s fine, but honestly if I do a good job on the “planning” part of my back end stuff, it really makes the actual code fairly straight forward. Unless of course there are some kind of difficult calculations going on, in which case the code may not be straight forward.
The designing of the data and how it all works together. That is my favorite part about the back end.
The Front End
And here is where I start to get really happy.
There is nothing more fun that taking the steps that data needs to go through and creating views to handle it. Writing html, css, javascript that I can then look at and see the results – that is my favorite front end bit.
Moving stuff around, changing color patterns, manipulating how images and text are displayed is simply fascinating to me.
Conclusion
So which do I enjoy more? That is the question at hand.
Instead of answering it by saying that I enjoy one or the other more. I’d say it this way. I really enjoy programming for the end result. Here is what I mean…
I really love the part of the back end work that ultimately has ramifications for how the front end will work, the data that it can receive, save, edit, etc… On the front end I really love making that data as beautiful as possible. Creating a user experience that is intuitive and informative… That is the brilliant part of creating web apps.
As I was thinking about this question I realized that it this is very similar to what I love about photography. For me there are two parts to photography as well, the back end (creating the data to work with) and the front end (working with that data in Lightroom and Photoshop) to create something beautiful/interesting. Again I enjoy both parts of the puzzle, but I do everything knowing that at the end of the day I want to create an interesting photo…
My point… I think… is that the results – the forms/images/videos/text/content on the front end of the website are what drive me to enjoy doing both back end work as well as front end work.
So my favorite part of building web apps. Seeing it all come together, finishing and shipping a beautiful and useful app.