I currently work for a small company, officially doing tech support, either over the phone or going out and seeing people (pool car FTW).
As it's such a small company though, I work next to my boss (head software engineer) so I also test software/hardware, write some software for use either by customers or within the company, help improve algorithms and things, write instruction manuals/user guides, update the website, basically dabble in everything the company does.
That's why I'm working for a small company, to get experience in a lot of things, to see if anything really takes my fancy to pursue for a more long term career. Unless the money gets really good, I expect to be out of here in 3 years time.
Atmosphere is informal, which I'm enjoying, and working next to my boss means that I'm pretty much his first consultant on new ideas and so on, so I get to be involved above my position I guess.
Meh, I like it so far, only been here 9 months though