I got a nice email from a high school senior with a couple of questions I answered. I waffled on a bit, but in case anybody was interested...
What does your job consist of? What is in your job description, and how does it differ from what you actually do?
I've never had a job that had a job description. I've only worked for small companies (or larger ones where I've been hired for a short-term project).
I guess my job title would be "Perl developer", but that isn't just what I do. I can't use on what's written on my business card as I don't have an official job title (no-one here does). In some ways my job is closer to being in customer service, it's to do whatever is needed to make clients happy, and then bill them for it. Most of what I do is support medium to large sized businesses by running their e-commerce websites. I do everything from develop largish systems (generally under 15,000 lines of code though), to writing short CGI scripts, to some Javascript, hacking at Microsoft Access databases, etc. I also help keep our servers running, putting my sysadmin hat on when the need arises.
Describe a typical day at your workplace.
First thing every morning I get to enjoy sifting though my overflowing inbox to see if any disasters have happened overnight, though I prefer to check things at home before I leave to cut down on nasty surprises. Then I touch base with my boss or project managers to work find out what of my "highest priority" tasks take precedent. Then it's seven hours of work (I have to bill that a day) split over anywhere between one and ten clients. Usually it's only two or three projects at once. I also have to field calls, emails, and handle anything that comes up.
What challenges have you run into at your job? Is there anything I should watch out for?
It's hard to stay focused on something when you're getting interrupted. It's often a juggling act. There's also the problem that I don't have a 9-5 job, I can't just drop tools and leave if things aren't working. I'm unofficially on call all the time, if something breaks on the weekend (or more usually 6pm Friday) I have to fix it. I think it's rare to have an IT job where work just stops and you go home. One of the things I personally find challenging is the pressure to deliver a quick fix, or the cheapest solution instead of doing something "properly". I wish I had the time to craft something that is perfect but that's not always possible.
What is the best thing that happened to you at work? The worst thing?
I've had the chance to be involved with some big companies, it's nice to be in a meeting where big things are at stake and you're able to affect a change. I've been a major part of projects that have seen serious increases to a client's bottom-line. It's very satisfying.
Some clients just aren't fun to work for. There's only so much I can take of being shouted at on the phone or being faced with impossible demands. It's surprising how many people call up at 5pm and expect things to get done that day.
What advice would you give to someone entering your field of work?
You have to love what you do or it's not worth it. It's stressful and hard, but fun.