In a section with a title like this you may expect me to talk about offices vs homes, tele-commute vs real commute, Mac vs PC, and items of that nature. While there are points to be made with each of these, they are not really vital aspects your work environment - they can all be made to work, and work well. There’s another aspect of the work environment which is much more important: The people in it.
As a web developer you’re going to be working with other people, they are critical because without them you do not have any work.
Even if you’re a lone freelancer - you're still part of a team when you work. And especially for a freelancer; it's important to realise the next job has to come from somewhere - which means talking with potential employers about new projects, where you will team up together on a new project.
You need to communicate with your client, employer, and co-workers on a regular basis. Good communication skills are an important asset of successful web developers, and they can be a hard skill to learn. It’s not just about being clear and prompt in the way you talk, but nor does it mean that you must master English and spelling (though that will help).
The foundation of good communication is the attitude its based in; good web developers leave their ego at the door; they have and hone an ability to empathise with others.
A work environment based in empathy and lacking in ego is one of the most important aspects of the work environment, and these are two of the most important things you can develop in yourself; if you can’t leave an ego at the door, you’re not going to be a good team player. Anyone involved with the project you're working on is part of your team; your employer, your client, your co-workers. If you can’t empathise with others you’re not going to be able to provide a well fitting solution to your clients and you’re not going to get the most out of your team.
With that said, I love the work environment being a web developer allows; the opportunity to meet many different types of people doing many different things. A place where you can continually grow, learn, and challenge yourself, where you can do so with other people who are doing the same thing.
I get satisfaction from a job well done, a happy client, and a happy team. But remember that the happy end result of a job well done doesn't last long - the majority of your time will be spent doing work with the people around you. You'll be finding bugs together, planning strategies, and working out all sorts of things. You'll screw up, they'll screw up. What will stick with you most about your day at work isn't whether the computer is slow, or the fact you're on Windows instead of OSX, or the annoyance of a broken version control system. It's whether you felt supported by the people around you.
A good work environment leaves you happy come the end of the day, and there are many good work environments in the web industry.
While I’m talking about the work environment, a couple of points for special consideration must be mentioned here. I’ll be brief and let your own judgement consider how this applies to you:
Women and people of colour are under-represented in much of the technology industry, and it’s no different for web development. There is an unconscious bias built into the fabric of a lot of tech industries which, even without conscious intent, can make an extra challenge for such people. If you are a woman or person of colour, well you’re likely familiar with this stuff from elsewhere - I’m sorry but this industry is little better than others for you. It’s also not as bad as some - there are a number of well known and well respected web developers who aren't white cis men; and it’s my belief the situation is improving. Personally, I’ve been fortunate to have worked in places where these potential problems have largely been non-issues.
Speaking directly to my fellow white male peers: be prepared to challenge your self-image and world view, and above all be prepared to listen and empathise when people tell you things. Even if what’s said hurts your ego. Assume that the speaker is talking in good faith with good reason. The web industry can only be improved if the people in it are adult enough to listen, take criticism, reflect, and change themselves. Be willing to consider your part in any problem, and don’t assume that just because you don’t intend to be a problem that you’re not being one.
An additional point which I am going to address to men in particular; many of you know this, some of you don’t: work is not a place to flirt or pick up women. This is simple professionalism. What you do outside of work hours is your own business, but inside them, you’re a professional. Flirting, innuendo, 'lads talk' and dirty jokes are not appropriate, and make for an uncomfortable and hostile work environment.