If you haven’t read my what’s this all about post, I’ll give you a quick review on my background. I started out at a firm, albeit a small one. After almost three years of that experience I moved on to a small – now medium – sized business where I’m the Senior Developer (BTW let’s be honest, that title means nothing, it’s only because they hired a ‘Junior’ developer). I also, took a shot at freelancing in my free time for about a year and a half and I continue to do some of that today. Ok, so now that you know where I’m coming from , I think that I’m qualified to give an opinion on the subject. But, before I do that, I feel like a pros vs cons list would be good fun.
Firms: Pros and Cons
When I’m talking firm here, I’m talking about a shop that specializes in development for clients. As in, a beginning to end design and development firm.
- Client interaction
- Fresh projects every few weeks/months
- The ability to try out new techniques on a regular basis
- Breadth of experience across different areas of business
I could probably list a few more but this is good for now. These are the ones that really stuck out in my mind. The big one is that second one. Having a new project to sink your teeth into every few weeks is great. It keeps things really fresh and interesting. It also allows you to apply new techniques you may have just heard about to your next project or it may involve something that requires you to go out and learn something new. That was my absolute favorite part about working at a firm.
- Client interaction
- Growing support lists
- Juggling several projects on limited time
- Content; The nightmare of nightmares
Ok – I know I included client interaction in both. This is really a function of your firm. If you work somewhere who’s really selective of their clients and picks projects based on the compatibility of the client-firm relationship, you’re going to run into less of this. But, if you work somewhere in which the next project just comes from the next person willing to sign on the dotted line despite need, compatibility, or deadline – you’ll see what I mean. By the way, I’m not ragging on that second scenario. You have to do what you have to do to get work and get your firm’s name out there and that is completely respectable. But, the ability to pick and chose the projects to work on really maximizes the odds that you, you’re client, and your developers will leave the table satisfied. Ending up with hard to deal with clients is inevitable though. If you’ve even been to clients from hell you can relate.
Typically in a firm environment content creation is left to the client. They know their business better than anyone so, really, they should be the voice talking to the consumer. This ALWAYS ends up being a major problem. By the time I left my position at the firm I had completed something like 12-14 projects and worked in small bits on others. I can’t think of one of those projects that wasn’t delayed due to content creation. Think about it, these businesses come to your firm because they’re doing business – so when the heck are the going to have time to write a bunch of gobbledy-gook to impress the googlers? It makes sense.
Organizations: Pros and Cons
I didn’t really know how to label this but I’m talking about a small, medium, or large business who’s main function is not to produce websites.
- Focus on one project at a time
- Content creation in house
- Specific business focus
- Working within teams to solve problems
- Opportunity to move vertically in the company
The biggest change going from a firm to a company is that first bullet point. This is a ‘to each his own’ point. Some people love focusing fire on one project at a time and really diving deep to get it right. Not that this can’t be done in a firm but, generally speaking, firms work on tighter deadlines than you will at a company. It also allows you to focus on just one specific area of business. It makes is so much easier to get to know your audience and reset your mind to think like they do. Also, that pesky content creation becomes the job of someone with accountability to worry about; it helps.
- Only one project/focus can get boring
- Things move slower due to sign-off’s
- Your opinion is easily trumped
- Working for ‘The Man’
Ok, that last one is kind of a comedy throw in, nothing about working at a company says you’re a sell out. Much like your favorite indie band getting signed to a major label people will say ‘you’ve changed’. Unless you’re working in an industry that is intensely interesting to you, things can get stale over time. It’s a pro and a con – basically the website becomes you’re baby, you’re one and only, and if you grow apart it can hinder results. Just like any other relationship in life, boredom is a silent killer. The one thing I didn’t think about before I made my move was the fact that I’ll always have someone above me and that person may, or may not, have in depth knowledge of web development and design trends. If they don’t, and they’re ego-maniacal (to even a small degree), you might find yourself losing battles over things that you know you’re right about. That can be a very tought pill to swallow, the key is to remain honest – the ability to say ‘it’s your call but I respectfully disagree’ is absolutely vital.
Having worked both positions and being able to draw my past experiences in both makes this choice clear for me. I love my job at my current company and that would be my recommendation to someone asking this question. Keep in mind that every experience is different. Some firms are great and do great work and I can see myself in that position again someday. But, the ability to work within a company, in a team, working towards one unified goal for one audience is extremely fulfilling. Plus, there were so many additional support needs that worked in parallel with the website it kept me busy and entertained with new projects. For example, we needed a way to evaluate XML phone records, we needed a simple page editor for static HTML pages so writers could enter content without knowing any HTML or CSS, and the list goes on. Those projects taught me not only new methodology and coding techniques but also taught me how to design better user experiences and utility for my apps.
In the end the choice is yours. If you’re presented with this scenario you need to step back and evaluate what you like in your current job (firm or company) and think about some of the generalities I listed above. It’s really about knowing yourself and how you like to operate. Either way, if you find yourself in this position, you’re clearly doing something right and you should pat yourself on the back. :]