12 things I learned about consulting in 12 months (Part 1)
April 18th, 2011 Zack Mance, Consultant (email the author)
A year ago I began my consulting career with Summa as an Associate Technical Consultant. It was a dramatic adjustment from my previous job as a Software Engineer at a large corporation. After talking with a lot of my coworkers I found that the majority had the same thoughts that I did when I made the switch. The thoughts of uncertainty in what to expect from a new job, piled on top of a completely new way of doing things.
So I have been consulting for a year now, a short time in comparison to an entire career. Even so, I feel as if within this short period of time I can create a “what to expect” list. I hope that you can get some insight from my experience so that if you choose to make the same transition you know what to expect. Keep in mind that these are my experiences and you might not have the same, but that is the nature of our dynamic job; Enjoy!
Number 1: Flow Charts, Diagrams, and Paper Work, Oh My!
Remember all those times in college when your professor made you write out designs before you would begin coding? Then, once the mediocre application was finished, you had to write a report on different aspects of the assignment? I do, and I vividly remembered thinking to myself “Uggghh, I hate this stuff I am going to be a programmer, I don’t need to know how to document things”. I was wrong.
As a consultant, we are brought in to develop the best solution for the task given to us. We are not given a pre-defined solution and just told to “make it work”. We are then given a set amount of time in which we create the solution, test it, hand it to the client, and then move onto our next task. We provide support where it is needed, and help when there are issues. Although a lot of the maintenance stage of the application is the responsibility of the client, I never really thought of how a client would go about maintaining an application in which they did not write. Since my previous job was a single application, I was my own maintenance team and had the joy of knowing exactly how to solve problems if something went wrong (pshhh like us programmers ever do anything wrong! It was defined that way in the requirements! Right?).
As a consultant, you are required to transfer your knowledge of the application that was developed to the client for whom it was built for. The only way to really do this is by documentation. So once a task is given to the development team, they must create a requirements document and a design document. We maintain both of these throughout the development processes so they do not get stale. Then once the application is finished, we must create a handover document that explains the solution in detail.
To all the professors I ever whined to about reports; I am sorry.
Number 2: The Clients will be hostile friendly
I am a people person, I love making new friends, telling the same story 20 times, making people laugh. So when I start a job I want to work in an environment that is prone to feeding my social quota. I was under the assumption that as a consultant, the client would be angry at me for being there. I guess it was from movies like Office Space, where the word “consultant” had such a bad tone.
When I started working at a client’s site though, I soon understood that they were just as friendly and nice as everyone else in the industry. As long as you work efficiently, and you’re not reclusive, you can make as many new friends as you’d like. The application being developed is of course the main priority, but establishing relationships with the people around you never hurts either!
Number 3: Unit testing is Alive!!!
Okay, so my short circuit joke was kind of bad. Sorry for my attempt at geek humor! Seriously though, Unit Testing is another huge part of development that I thought was going to be put on the back burner when I became a consultant. I figured there would be some unit testing, for larger pieces of functionality, but the smaller things would fall through the cracks. In my head consulting was such a fast paced world that things like this would just not be as relevant. I was wrong.
I think I have written more unit tests than lines of code. I am exaggerating of course, I hope. It seems that not only is it imperative that we document how things were done, but we also need to tell the client if during maintenance anything was broken. We are not always available after our contract is done, so developing unit tests are a way of telling the client what they changed has modified the expected behavior. Unit tests can be our best friend, even though if at times they seem a little tedious to do.
Number 4: Friends with Benefits
Friends at work was something I surely had figured out. I thought, “Well we are always at different client sites, how does anyone really make friends with coworkers being a consultant?” I felt that one of the biggest benefits of having friends at work is that you can ask questions, and go to them for help when you need it. I was concerned that I would lose that when I would be with different coworkers all the time.
Once more, my misconceptions have been overcome. At Summa, your fellow consultants might as well be sitting at the desk beside you. They may be at a different client site, but they are only ever an email, or yammer post away. It really helps to create a positive learning atmosphere when there are so many intelligent people at your finger tips!
As for a social aspect, something is always going on within the company. The consultants are always getting together to play paintball, having a happy hour after work, and even attending yoga class when it is offered. These things create camaraderie between our consultants that allow us to better communicate solutions and ideas.
Number 5: It’s Sink (Float) or Swim
Another misconception that I had when I came into the consulting world was that everything was “sink or swim” with this career. I assumed that if you did not know what you were doing while on the job that you where cut loose and left to struggle. When I started and was given my first placement, I spent every waking minute trying to brush up on skills that I thought I would need. During this time, I remembered thinking to myself “I don’t want to be weak link”.
What I learned is that the dynamic nature of a consulting career makes knowing everything an impossible task.
As the assignment progressed, I picked up some skills that I needed, learning quickly on the job. At times there were still tasks assigned to me that were unfamiliar. Projects are very collaborative though, and for tasks outside of my skill set there were plenty of people who could help at Summa, both on my team and on other projects. Often all I ever needed to do was ask one of the principle/senior consultants on my team and we would discuss the issue at hand, come up with a solution and then pair program an example, at which point you were set free to extrapolate the solution.
In the end, I leaned that if you don’t know, you are not going to sink, but it’s more likely you will float to the top and learn.
Part 2 Coming soon…
Entry Filed under: Summa
Pages
Categories
- Agile and Development
- Application Modernization
- Cloud Applications
- Process Integration
- Summa
- Technology + Healthcare
- Uncategorized
Most Recent Posts
- Summa Is Award Finalist at IBM’s Impact 2012
- Working with JqGrid and ASP.NET MVC - Setting up a base jqgrid parameters class
- Rebase a Slave Mercurial Repo to a Subversion Master
- The Social Enterprise Part 2 – How To Set Up Chatter In Less Than 30 Minutes
- Implement Clear Governance for BRMS
Feeds
Calendar
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Mar | May » | |||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | |

1 Comment Add your own
1. qatar culture | May 19th, 2011 at 7:52 am
My partner and I stumbled over here by a different page and thought I should check things out. I like what I see so now i am following you. Look forward to going over your web page repeatedly.
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed