Archive for the ‘Consulting Consultants’ Category
Consulting Consultants: If You Must Specialize in Something
Written by Michael Koby on May 9, 2008 – 2:07 amYou should specialize in application development. A couple of weeks ago, we looked at the pros and cons of specializing as a consultant and how can hurt you long term (see Consulting Consultants: Why Specialization Can Hurt). But after I wrote that I began thinking about my own skill sets and how I can greatly improve my abilities and make myself a better consultant. My conclusion is what we will be looking at today.
In the article I linked above I touch on something. That something was the idea of specializing in a programming language. Because learning one can help you easily learn many and it can keep you billable and relevant as a consultant. There is more to specializing in a programming language than learning more than one. There is the logic that comes with learning how to develop and program applications that can be transferred to other areas and other platforms, services, and architectures.
You see there is a theory (or theories) and practice behind application development that will pretty much never change on a grand scale. The idea of “Object Oriented Programming” and the theories and “best practices” behind it have not really changed over 20-25 years. The concept of requirements building, architect-ing an application, and coding have pretty much stayed the same over the last few decades. Sure there are new theories and ideas but the general rules stay the same. There are different methodologies, concepts, and paths one can take in doing development. Many of these are transferable across languages and remain extremely similar regardless if it is C++, C#, Java, or even Python.
This is why specializing in a language and and application development can give you that specialization “credit” but keep you transferable between technologies. Programming is an incredibly logical process and that process can be applied to anything that requires problem solving abilities. Then on top of that if you understand, lets pick Java, if you need to learn C#, the overall concepts behind application development do not change, just the syntax for developing the logic and algorithms.
I am definitely still of the opinion that you should not specialize too much on one technology and platform because that causes you to (in many cases) want to use that technology/platform to solve all the problems you encounter. I think that a good consultant understands several tools (even if they are not experts on those tools) and can determine the best solution for the problem at hand.
However, I do think there is some value in specializing in a particular programming language (with the intent to learn others) and understanding development concepts, theories, and methodologies. You start with one a single language and then move through the others as you need to. The .Net platform is not always the best solution (neither is Java, Python, or C) but a solid understand of a single language can help you move across others with ease.
Tags: consulting, development, programming
Posted in Consulting Consultants |
Consulting Consultants: Honesty versus Exaggeration
Written by Michael Koby on May 2, 2008 – 2:19 amThere is always a need to, as a consultant, to oversell yourself to some degree. Especially if you are a freelance consultant and not working for a consulting firm. The desire to answer “Yes” to every “Can you do” or “Do you understand” question can be overwhelming when you are trying to land clients, jobs, and projects. The question always exists about when you should be honest and when you should exagerate your skillset. For this week’s Consulting Consultants I want to look at a couple points on both sides.
When it comes to doing an interview or talking to a client, you want to be as honest as possible. The main reason for this is because if you set an expectation, it is your responsibility to follow thru on that expectation and deliver upon it. You want to give your client the impression that you can fix their problems but you want to do it in a way that lets them know what you can and can not do. Everyone has their strengths and weaknesses. If you are honest with your weakness upfront it sets a resonable expectation and in some cases can let them know they might need to look for someone else that can do the things you can’t do. If you have a realistic client, this shouldn’t be a problem.
So what about the exaggeration part? Surely we should do a little bit of overselling, right? Well, not always. This depends on what you intend to oversell. It would not be a good idea to tell the client that you can work on a technology you have never touched before. This puts you into a place where you have to go deep into a technology in order to learn enough to be able to deliver on the promise. As a consultant, your output is your biggest selling point. If you can’t deliver your best work, it will show, and it could cause the client to look elsewhere for new projects. However, lets say that you are a C# developer but you have no experience with LINQ (a new 3.5 feature) but your client is looking for someone with LINQ skills. What should you do? Well, if you have sufficient C# skills, LINQ is probably nothing more than a day’s worth of learning. You can either a) tell the client you are familar with the technology or b) tell them you have not done any real work with the specific technology but since you already have the other C# skills, learning LINQ would be no big deal. The idea would be to not tell a client looking for BizTalk skills that you have that skillset when you in fact do not. Lying will really get you no where, and it usually doesn’t take long for someone to discover a fraud. If you don’t have that skillset and the client asks, it is almost always better to tell them that you don’t have it. Bold face lying will only end in your reputation being destroyed and having no one hire you. The idea is balance.
One of those two responses is a flat out lie, while the other does two things. The second answer gives the client honesty while telling them you are willing to do what you need to ensure you are able to get the job done. Some clients might turn you down, reasonable one’s will probably take you on knowing you’ll learn what you need to get the job done. The basic point here is to try to be as honest as possible but sell the client on yourself. Honesty with a client lets them know that you are not in this to just make money but to ensure they get the best consultant for their money. It also shows them that you are an honest guy which can go a long way with some people.
People generally equate honesty with a strong character. Someone who will own up to their mistakes. Someone who will tell them the truth when asked a question. You can be both honest and tactful, very possible. A little exaggeration can’t hurt when you do it at the right times and to the right questions. But do not let an exaggeration equate to a lie. Ruining your credibility (or that of your firm if you work for a consulting firm) will do no one any good.
Tags: consulting, exaggeration, honesty
Posted in Consulting Consultants |
Consulting Consultants: Why Specialization Can Hurt
Written by Michael Koby on April 25, 2008 – 1:18 amOver the past couple of weeks, the subject of specialization with reference to consulting has come up among my colleagues. It is a subject of much debate so I figured that now might be a good time to look at specializing and explain my points of view on the matter. I am of the opinion that specialization as a consultant will do more long term damage to your career than not specializing.
Sure, specializing looks like a great road to go down especially on a technology that doesn’t look like it’s going anywhere soon. However, for the sake of this argument lets consider the Microsoft .Net product stack. How many .Net developers do you know? How many really good ones do you know? If I was to venture a guess, I’d say you know a lot of .Net developers. This makes the .Net developer a commodity of sorts. The more people that can do what you do, the worse off you are. Especially if those other folks can do it better than you.
This can be extremely harmful if that single technology or technology stack is all you know. You are so deep in it that it’s crazy. But if you are are asked to look at something else you couldn’t do it with confidence and value. However, specializing can make you easily billable on a technology (stack) that is in high demand but once that technology becomes outdated or something better comes along you are stuck being non-billable until you can learn something else.
Another reason that specialization hurts is that it makes it really easy to fall into the “one solution for all problems” trap. You start to think about ways to make your current specialization fix a problem it has no business fixing. You end up trying to fit the square peg into the round hole. It just doesn’t work and it really doesn’t actually solve the problem.
So how do we avoid specialization? Well, it can be hard to and I’m not saying that you should never specialize in anything. I actually thing specializing on a programming language is a sound idea. Especially if it’s object oriented based and compiles in some way. Doing so makes it easy to learn other languages when you need to in a pinch making it easy for you to jump around. But I think that getting your hands on whatever technology you can is only going to benefit you long term. If you can play around and get to understand different technologies at least at a surface level, it helps you to understand different ways to solve problems and gives you a better understanding of what tools work best for what kinds of jobs.
Surface knowledge helps a lot. It can help you to understand how different technologies can connect together to create a solution. It can help you understand a lot more technologies overall because you understand so many, at least a little bit. So keep this in mind as you sit down to learn new things. Think about something you don’t understand and attempt to understand it. The more technologies that you have a surface understanding of, the easier it will be for you to dive deeper if you need to, because you’ll already have the ground work laid.
Tags: consulting, specializing
Posted in Consulting Consultants |
Consulting Consultants: Writing is a Valuable Skill
Written by Michael Koby on April 11, 2008 – 1:16 amWhen you are a consultant, writing becomes an important part of your daily routine. Everything from proposals, emails, to instant messages get written. You need to make sure that you can communicate effectively through your writing even if it is just a simple instant message.
So what are some ways to become a better communicator through the written word? The two best ways that I know of personally are to:
- Read
- Write
These are two sure fire methods to becoming a better communicator through writing. Now here is the catch, when I say to “read” I mean to read a newspaper, book, or something that’s printed. Yes, you can read blogs and other online content, but there is something about reading online that does not seem to have the same mental translation to better writing then if you read a book or newspaper. For some reason when you read, words on a page the brain seems to store the method of writing in your brain so that you might use it later. It could be the phrasing, use of punctuation, or even just simple adjectives to describe something. It sticks with you better.
The other (more obvious) way to get better at writing is to actually write. It’s true, since I have started blogging (coming up on two years in May) my writing has drastically improved. I get compliments on it all the time. It is nice to be told “well written email” or “your edits made the proposal better” and you’ll get used to hearing it that you’ll strive to become an even better writer. If you do not have a blog, write haikus, short stories, anything to put your words on paper. The more you write, the better you’ll start to get.
Remember that when writing you want to make your point, but you want to be as concise as possible. You want to use as few words as possible but still display a sense of eloquence about your self. Not in a, “I’m above everyone else and so much smarter too” kind of way but rather a demonstration that you have harnessed this skill. If you can show you are an effective writer, it might lead to other opportunities that you might not have thought about at first. So keep that in mind as you write emails, proposals, and anything else for that matter.
Tags: consulting, reading, writing
Posted in Consulting Consultants |