I have been temping as a secretary/administrator since I finished uni while I look for a job in my chosen field. For the most part, this is rather dull, easy work that pays the bills but certainly doesn't add much to my life. The real advantage is that my hours are arranged to leave me with time every day for going on interviews, making phone calls, networking and sending out the all-important job applications.
Every now and again, something comes up that's vaguely within my field and I get to spend a few days really enjoying what I'm doing. A couple of months ago I was asked to design some new brochures for the department - cue me learning to use Publisher, playing with graphics and doing some writing. This week, I've been asked to turn some forms that the department members have to use into Excel spreadsheets, complete with calculations.
These forms have, until now, been arranged as Word documents with lots of tables. Filling them in involves gathering lots of information and numbers, doing half a dozen calculations that always get mucked up halfway through and then typing everything in. Wouldn't it be much simpler if people could just put in the basic numbers and let the spreadsheet do the hard work for them?
Until this week, the most complicated thing that I've done with Excel is use basic maths formulas for accounting and reconciliation in my previous disguise as a purchase ledger clerk. Some of the results that my colleagues need to generate vary depending on different factors, so I've been delving into the more complex side of Excel - IF clauses, OR, PRODUCT, nesting IF...
Hell, it's almost like actual
programming, something that I love doing. There's something incredibly satisfying about working through logical operators and finding that your idea works. It doesn't matter what language I'm working in (and, really, Excel formulas probably don't count as a full programming language), it's logic and problem solving that I really love. Delving into code, operations and working out the logic of if and else, true and false. Figuring out what a language can do and how it can do something that you need.
Maybe that's why I'm enjoying the process of learning PHP/MySQL so much. I've got a crude version of the system that I aim to build already - a couple of features still need to be added, but I'm already looking at a good basis for what I need. It's got some basic server-side validation for the forms, functions for administering elements as well as forms for user submissions, search scripts and (hopefully) generates valid XHTML and CSS on the client side. The next stages are learning a bit of JavaScript for client-side form validation and learning about sessions and authentication. The bit that I'm really enjoying, though, is taking the stuff that the book teaches and putting it all together to do what I need it to do.
Sometimes I'm such a nerd.