So I’ve been working as a Cloud Systems Developer for a consulting company for the last year and a half. It’s been an interesting journey from my previous work as an application programmer. I’m going to share some of the lessons learned, comparing the role of corporate developer to consultant.
For most of my career, I’ve been an Corporate Developer working directly for the corporation I was employed with. This has some pros and cons.
Corporate Developer
The Pros:
- You get to know your code base really well as you continue working with the same thing.
- You develop depth in the industry you work within. I have worked with Healthcare, Law Enforcement, Telecommunications, Real Estate, and others.
- You have a group of people you work with day in and day out. You develop friendships, learn each other’s personality quirks, and make friends.
The Cons:
- The work can become mundane and a bit boring at times. You’re usually enhancing existing systems, not building new ones, and it can be hard to see your contribution to the whole solution over time.
- You are a “cost center” for your company – meaning that your work is seen by the company as a cost they must pay to do business. The application and application owner usually takes credit for any money earned by your work.
- Politics. You have to deal with the politics of the company you work with. This isn’t so bad as long as you work with good people, but sometimes a bad egg gets thrown into the mix, either at your level or at some level above you. It can be disheartening to do work that someone else considers valuable, but you suspect it isn’t really adding much value. I’ve seen people who are company-climbers push forth initiatives that sound good one paper, but don’t work out well in the long run – but by then they’ve either moved up the ladder of the company they’re at, or they have jumped to a new company.
Working as a consultant has its trade-offs as well.
Consultant
The Pros:
- You get to work on new projects all the time – finding new problems and solving them.
- You are a “revenue generator” for the company you work for – your time is what they sell, and this can lead to a strong sense of value of work.
- You don’t have to play the politics game – unless you’re also the primary project manager as well as the developer. You can focus on the work, and enjoy the zombie focus that comes from doing the work well.
The Cons:
- You sometimes feel a bit isolated from the client. You may not be treated as “part of the team” and enjoy the camaraderie that comes from working with people you consider friends.
- You are expected to know everything. Since you’re ideally considered an expert in your field, you are the go-to person for all the questions – some of which may fall outside your area of expertise. In this situation, you need to be ready to learn very quickly and also leverage any resources you have at your disposal to find out in depth knowledge.
- You don’t have an influence on the direction of the technology. That is usually chosen early into a project by the client, or is a holdover of existing technology that the client is already using.
For right now, I’m enjoying the role of the consultant. I love problem solving, and seeing new problems every couple months is exciting to me. I enjoy the work I do, the consulting company I work for, and they money ain’t bad either.