It was like any other work day, the music of Outkast beating loudly against my ear drums and my blank face staring at the computer screen. When I got a message from Clint, my supervisor in San Diego, whom I like to think is a Clint Eastwood look alike, asking if I wanted to work on making a search widget. I replied my typical reply, "cool." I had no idea what a widget was or what working on one would entail. This was my first internship and my first run in with web development, but I figured if I googled enough and used what I had learned from my higher education, I would be successful...
Two Days Later:
"How the heck am I gonna do this?" I asked myself. I had searched the definition of widget and learned nothing from it. I had a starting point which was a 2008 presidential election widget of which I didn't understand 88.5% of the code, and my stomach was grumbling. I gave a sigh and did what I do best: tinker. As I assembled and reassembled the jargon, which was my base, I began to understand more and more: 22%, 30%, 35%, 27%, 32%. Yes, the 27% happened after the 35% and before the 32% because as many of you might know, when you tinker like an beast, in my case a coding beast, you usually end up thinking something does something for a while until you find out that that something doesn't do the something you thought it did. I coded and coded, and googled and googled, and pop tart after pop tart, I found myself learning more and more about html, css, javascript and most importantly jquery. I had avoided javascript for the whole of my internship and was now forced to understand it. It was harsh. I was building something I didn't quite understand or didn't know how to build. I felt just like I felt when we had to make Kachina dolls in second grade all over again: confused and intrigued. The first thing I did was find out how to query the api. I found that to be lovely and fairly simple. What followed was two weeks and 707 lines of code with ifs, elses, functions, images, and my broken logic. When I finished one part, another broke; when I created one, I realized I needed another. When I reworked a function, I needed to delete some that weren't so useful anymore, and when I reloaded the page, I often thought to myself, "hmm... maybe I still needed that function" or "why isn't this working?" But as the days progressed and my spirit fractured, it started coming together, and at the first sight of any success, I would duct tape my spirit and keep on trekking. Oh, by the way, I managed to break my ankle 4 days into this. Completely irrelevant, but it adds something to this short anecdote. As I put the pieces of the puzzle together and saw an image, or the search widget, I found some parts ugly and changed them, and when I didn't find anything ugly, either Clint or Shultz would and made me change them once again. When I found something slow, I made it faster. When it was finally done, though, I felt accomplished and smarter in the way I feel after I eat a hearty meal with a literacola. If you wish to check it out, the url is http://votesmart.org/services_widgets.php, and I admit it doesn't look like much, but it is pretty cool and totally free to add to your website. I feel like a kid who learned that drawing a cloud on a piece of paper isn't that hard. The End.
-Hector Hernandez (University of Arizona graduate, Computer Science major, from Tucson, AZ) Informational Technology Intern