Enterprise Software

Can you identify your shortcomings as an IT consultant?

If you asked clients for a brutally honest critique of your work, what do you think they would say? IT consultant Chip Camden decided to take stock of his shortcomings to see where he could make some improvements. He reveals what he learned -- warts and all.
Have you ever wondered what clients might say if they had to write a critique about you? It didn't really enter my mind until I read TechRepublic member meryl_logue's comment in the discussion thread about how to become an IT consultant:

I NEVER hire a consultant without at least 3 referrals. AND... I always ask that one of them be a negative referral! I want to hear good and the bad, and I want to talk to them about the bad to see how they handled it, their perspective on it, etc. It gives me insight into how things might go if (when) the going gets tough. And it lets them off the hook of trying to look like Superman.

This makes me think about when I was in corporate management and had to give performance reviews; I always included at least one area in which the employee needed to improve -- regardless of how good he or she was. I felt that it was more helpful to their professional development than just saying, "Keep up the good work."

I started thinking about my shortcomings. I decided that it would be a useful exercise to give myself an honest self-evaluation in the hopes that I would start correcting my less-than-positive work habits. Here is what I realized about myself:

  • I'm lousy at estimating; I almost always think that I will be able to complete a job faster than I really can. I've noticed this flaw in many productive developers. I think it's almost a requirement for getting things done because, if you could clearly see all of the obstacles that you'll have to overcome in a project, you'd never get started. The attitude of "Oh, yeah, we can easily do that" gets you into the project before it can be Eeyored to death. (I know... it sounds like I'm making a virtue out of a vice.) I've been working on improving this part of my work for years, but I'm only marginally better at it than when I first started programming. Ouch.
  • Sometimes I don't ask for help soon enough. I'll spend a lot of time researching and devising a solution for a problem that could have easily been dispensed with if I had only asked for help. Maybe it's hubris ("I know I can solve this") or not wanting to bother colleagues or appear unknowledgeable; regardless of the motivation, it's suboptimal. I'm working on keeping the communication lines open and my ego in check.
  • I can't devote enough concentrated effort on one project because I usually have too many irons in the fire. I've been trying to do less, but it seems like there's always something demanding my attention.
  • I have a tendency to think I'm God's gift to software development. The solution to this problem is to keep learning new things because, the more I learn, the more I realize how little I know.

I think that about covers it, unless you want to count "I'm unaware of my own faults."

You have a much better chance of overcoming your faults when everything is out in the open. You may not enjoy the process of becoming more self aware, but the possible outcome (i.e., more satisfied clients) is definitely worth it.

So, I've shown my warts -- now I want to see yours. If you had to extract a negative referral from a client, what would they say? If you have asked a client for a negative referral, how did they react?

About

Chip Camden has been programming since 1978, and he's still not done. An independent consultant since 1991, Chip specializes in software development tools, languages, and migration to new technology. Besides writing for TechRepublic's IT Consultant b...

35 comments
blieffring
blieffring

This is to be used as a personal mental exercise. A saint knows and lists all of his moral weaknesses and a sociopath knows of none. Listing personal concerns in a job application/review is like telling villainious HR and management that your superpowers fail and you are can't perform the expected in the presence of Kryptonite. Personal concerns usually are not at the felonious level that concerns management.

tuomo
tuomo

Funny - you stole my list! One more I would add to the list is - I'm "the best" proposing and really getting other people to document their work, preaching / teaching the importance of good documentation, so much that I have problems to find time to document my own! Maybe it is part of being too busy but not an excuse, especially in consulting! Aren't we all Gods gift to development? Estimates - I'm better today, after 30+ years, but that 30+ years creates another problem, you start thinking that everyone should do things as fast, so there is still a problem. Maybe in next 30+ years.. And I would give an advice to the person asking a negative referral, if you don't know the environment where it comes from, it is useless. Too many things can cause negative referrals, I have none (lucky probably) but I have seen many (I mean a lot) which have absolutely no relation to work performance - whatever that means?

zhenchyld
zhenchyld

lol dude i think those shortcomings are universal to any developer. i'm constantly getting bitched at by my friends for not being able to go out because i'm waist-deep in code all weekend and they cite the same things, practically verbatim. nice to know i have honest friends though.

knit_sachin
knit_sachin

Well I think... my biggest shortcoming was that I use to think that it would be hard for new comers to do the tough job which make me to end with lots of work and me struggling to finish it... Than I realized and started giving the challenges to other people and help them when needed instead of ending up doing everything by myself, which also gave others an opportunity to learn.

ahmed zaheer
ahmed zaheer

very nice article, and i think what referrals can be negative about is the work under stress problem, if the deadline is close or a problem rises with no solution, this can get us on nerve.

rswanson
rswanson

Chip, What would be really good for everyone is to take a personality test and answer the questions as truthfully as possible then study the results. I took one of these about 6 months ago and realized yeah I know this about me I just either convinced myself that I would improve (tommorow never comes?). The most beneficial thing that came out of this experience is that I personally allowed myself to be off the hook to work on my character flaws temorarily while I figure out a how to fix plan. I would encourage anyone reading this to go take an online personality test they are not that expensive and look at yourself in the mirror and pick a couple flaws in the concrete at a time...mix up your brand of patch material and get busy. Character of a person is the most critical - do you trust, respect, ect...you won't work with someone for an extended period if you don't trust and respect them! Best wishes to all. Be Blessed - Acts 16:31 Roger Swanson Computer Network Enterprises, Inc. - President Summerville, SC www.cneworks.com www.cnegraphics.com

Jaqui
Jaqui

is that I am the type to look at projects and try to foresee problems. make for a slow start to getting anything done.

scott
scott

I have two huge faults - First and foremost is my good buddy procrastination. The runner up is good ol' lingering invoice ..... OH..... I guess maybe I should see a pattern. One would think that perhaps never getting paid on time would be the best motivating eye opener of all. We all have faults and fortunately for me not many clients complain because I am slow to invoice. I find myself having difficulties completing what I consider low paying projects, which is why I stopped taking them all together. I guess I figure lots of work should equal lots of reward, or... maybe I am just lazy.

Sterling chip Camden
Sterling chip Camden

... that I really AM God's gift to programming. (just kidding) One thing I didn't do while writing this article was to actually ask any of my clients for their input. There I go not asking for help again. But I did email the link to this page to a few of them -- it'll be interesting to see if I get any comments out of that.

Sterling chip Camden
Sterling chip Camden

... you're saying that it's good to review your weaknesses for yourself, but you shouldn't share them in an interview? So, what do you reply when an interviewer asks you "what's your greatest weakness?" -- "I work too hard"?

Sterling chip Camden
Sterling chip Camden

(or so it seems to me!) Actually, I've gone back to some old code where I was being extra clever, and after three or four years I'm staring at it and saying "what was I thinking?!" You're right -- a negative experience almost always has a complex set of causes. Otherwise, you would have fixed it, right?

Sterling chip Camden
Sterling chip Camden

... is a tough skill to learn effectively. If you take your hands off completely, they might mess it up. But if you're too involved, they lack initiative. Finding that balancing point is the key.

Sterling chip Camden
Sterling chip Camden

A lot of online tests are just for fun, or designed to sell something. Pick your tests wisely is you're going to base your self-assessment on their results.

Sterling chip Camden
Sterling chip Camden

... of one of my faults. They both have their benefits, so I guess it's a matter of moderation.

Sterling chip Camden
Sterling chip Camden

... as well as failing to demand payment in a timely fashion. I used to feel slighted when clients didn't pay on time, and it was embarassing to me to bring it up. Now I realize that it's just that they'll stretch it out as far as they can -- nothing personal.

IT.Consultant
IT.Consultant

so I've been told by my previous manager) is a double-edged sword. He admired my analytical skills, attention to detail and dedication to high quality. But, he was right when he said that I'm a perfectionist. So, rather than try to get rid of this quality, I need to balance it with other considerations. For example, sometimes I work on doing just good enough work on/under schedule and cost rather than finding the best possible solution all the time.

MarkRyken
MarkRyken

Spend the time to figure out how long I honestly think it will take to finish a project, and then double it. This seems to be pretty accurate for me. The other is if I've done my due diligence call support. Maybe I could fight with it and figure it out but even if I have to pay for the support it will probably be resolved quicker and cheaper for the client.

blieffring
blieffring

Superman's personal job description: I fly everywhere and resolve the impossible, except in the presence of Kryptonite. My stories generate large sales of special editions. Management preformance review: Hard to find. Not always in compliance with working hours, overtime requirements and travel policies. Medical conditions limit expected performance. Monitoring possible personal relationship with co-worker. His actions directly strain the limits of our scheduling and infrastructure.

Locrian_Lyric
Locrian_Lyric

I tend to be somewhat obsessive, and often have difficulty striking a work/life balance, but my wife is putting her foot down as of late and is making sure I don't burn myself out.

Jaqui
Jaqui

two ways to sell this fault, one to yourself, one to the client. 1) no under-estimating time to completion by much. since you know you are going to examine every aspect in detail before you start writing anything, you know it's going to take a fair bit longer. :D 2) no fast results, but very high quality results when they do start coming in. because you examined the project and problems that could come from it in detail before writing code, first generation code is more likely to be secure and stable than not. a "team" where one is the charge ahead type and one the examine in detail type would do excellent, if they didn't kill each other first because of different work styles. a couple of posts that are a good indication of my approach to projects: http://techrepublic.com.com/5208-6230-0.html?forumID=102&threadID=257702&messageID=2455124 and http://techrepublic.com.com/5208-6230-0.html?forumID=102&threadID=257702&messageID=2453094

Sterling chip Camden
Sterling chip Camden

... for those of us who got into this industry precisely because it seems so precise (but rarely is in practice).

PMPsicle
PMPsicle

Actually three reasons ... both backed by studies -- published and not mine so nay-sayers go away :> The first is that engineering types tend to underestimate the effort variance when figuring out the estimate. Huh? Basically, if the best case is five units, most likely estimate is ten units and the worst case is 20 units, most engineers (including IT) will estimate at 7,10 & 15 respectively. Which means that the ultimate estimate will be low (11 units in the first & 10.4 in the second). Second, most estimates fail to seriously consider the "wavefront of knowledge" -- the earlier the estimate (ie further out in the process) the less accurate the estimate can be. Many of us either work in or provide point estimates (i.e. 10 units) when a range is more appropriate (5 to 20 units). Making matters worse is that our clients hear only the point anyway. Finally, we fail to account for the efficiency variance ... different people work at different speeds on different types of work. That can account for a variation of 5 times! Put it all together and a project which is estimated at 9.8 days will actually take between 5 and 100 days and most likely will be completed somewhere between 11 and 55 days. That's assuming of course that the user waited until the we've completed the work necessary to get to the first reasonable estimation point ... most don't. Is it any wonder that IS can't estimate? (FYI ... for those of you advocating agile methods ... all you are doing is budget bounding the work ... this is the budget -- we'll get what we can done, done -- what we can't, we won't).

Sterling chip Camden
Sterling chip Camden

Sometimes even that doesn't work for me. But a lot of the work I do is research-based, so I have to give myself a bit of a break. It's hard to estimate what is by definition unknown.

Sterling chip Camden
Sterling chip Camden

... busting sh*t up whenever he needs to get to the bad guys or save Lois.

Sterling chip Camden
Sterling chip Camden

Yes, sometimes a piece of code is like a fine soup -- everything balanced with just the right amount of spice. And at other times I just need to pour it down the sink.

Jaqui
Jaqui

person a would force person b to speed up, and visa versa, making a best practical end result. The conflict most likely between the two make it not a useful regular situation, but on a large, one off job, a pair of consultants with the two work types could team up with e-commute work and give the client fantastic value. The recipes show my "procedural" thinking fairly well. ;) and can actually be related to programming, a specific task in a project being one recipe, the entire project being a cookbook. [ ok, so I'm one of those that sees a strong co-relation between cooking and programming, shot me :p ] With nearly 20 years cooking, the co-relation between the two helps me, since for me cooking is an effortless form of art. I'm constantly working on getting programming to be the same.

Sterling chip Camden
Sterling chip Camden

Yeah, in an ideal world person (a) would have the first prototype done in a day, which person (b) would pick apart and be even better able to identify all the required features and potential gotchas of getting to the final product. In the real world, they probably both go to upper management to get the other one taken off the project. Those are some good looking recipes, Jaqui.

Locrian_Lyric
Locrian_Lyric

how many times have you heard "Oh, well, I really wanted THIS"?

Sterling chip Camden
Sterling chip Camden

... but what can we do about them? I've often found that doubling or even tripling my guess results in needing to double or triple that. Maybe it's scope creep or getting interrupted by other things (because we've allocated plenty of time), but I tend to get things done more quickly when I've estimated short.

blieffring
blieffring

We know what we know. We know of what exists, but is not quantified. We don't know what we don't know.