If you could design your own dream job, what would it be like? Here are some thoughts about mine.
At my dream job, I could immerse myself in the latest technologies and ideas, and spend as much time as I wanted learning (and teaching).
If I wanted to use Java in my dream job, I could do it without explaining for the umpteenth time why Java isn't slow.
I could use a language like RubyAt my dream job, "play" would not be a dirty word. in my dream job if I felt it was the best tool for the job, without dealing with people who say they don't think it's ready for the enterprise.At my dream job Marketing would not set my tasks and priorities. I would look at what the customers needed instead.
We would not "prioritize requirements" and "scope tasks" at my dream job. Instead, we would design/code, gather feedback, refine, and repeat.
At my dream job, competitive analyses would be brutal and honest, not rosy and fluffy.
Everybody I worked with at my dream job would be above average.
At my dream job I would always have enough disk space, cpus, monitors, hardware, software, etc. to do my job comfortably and efficiently.
My dream job would not require me to make up time estimates for things that cannot be estimated, and then chastise me for not meeting them.
When fixing bugs at my dream job I would be free to fix them in the most elegant way, not the most expedient way.
At my dream job everyone would be encouraged to participate in the outside industry or community instead of being anonymous and hidden behind technical support and public relations.
At my dream job, "play" would not be a dirty word. Neither would "strategy" or "refactor".
Nobody would monitor my net activity at my dream job or restrict the sites I visited (within reason :)).
At my dream job I could save as much email as I needed and would never have to do housekeeping to keep my mailbox under quota.
I could use any standard web browser I wanted at my dream job and not be locked into a certain one just because it comes with the OS.
At my dream job there would not be separate quality testing groups. Developers would be responsible for the quality of their own code.I could make source changes at my dream job without filling out a two page form explaining what I want to change to someone with 1/10th my experience.
At my dream job there would not be departments and turfism; there would be flexible project teams and a software commons.
All the tools we used at my dream job would be open source, including anything we had to write or modify ourselves. Custom/proprietary tools would be replaced or open sourced.
Continuous integration and testing using industry standard tools would be the norm at my dream job. In fact we'd be pushing the envelope on those standards.
At my dream job, I would be empowered to be responsible. People would take my advice and I could see a direct link between what I did and the success of the organization.
When I created something at my dream job, it would quickly find its way into users' hands so they could provide immediate feedback without waiting a year or more until the next release.
My dream job would not require relocation, or much travel.
And finally, at my dream job I could write and promote open source software used by huge numbers of people, and get paid for doing it.
Now it's your turn: what would your dream job be like?
(BTW, this is not a reflection on any job I may or may not have now. But if you're hiring for a job like this, let me know. :))