Sign #2: Incompatible Personality
There is a mostly negative stereotype of a software developer who is a cave-dwelling creature that doesn't like people, doesn't shower or shave, smells kind of funny, and is otherwise socially not the most desirable person to be around.
This stereotype is so common that in the 1990s Saturday Night Live used to do skits in which the "IT Guy" would go around helping people in a rude and gruff manner and after helping them, respond to their lack of thankfulness by saying sarcastically, "You're welcome." Indeed, this stereotype is so common that a national television show was able to do a skit about it, and lots of people -- outside programmers -- were able to get a good laugh from it.
Is this stereotype true? Well, there is probably a certain segment in any given occupation that could be characterized a certain way. Given that effective software development demands people who can shut out others for long periods of time to solve complex problems, it should not surprise anyone that this profession may attract more than a few people who generally do not have strong extrovert personalities.
Don't Like People? Then You Probably Won't Like Consulting
One of the main differences between a typical programmer and a good consultant candidate is that the latter doesn't mind networking and other "people" aspects of the job. To consult isn't just to code; it involves getting into a position to advise, which requires building trust. In the best of all worlds, gaining trust would simply be a matter of doing good work for a period of time. Sadly, as imperfect people, we do not always appreciate the work that someone quietly does, but rather we notice the more visible. Good consultants make an effort to assure that their work has visibility, and that requires learning how to promote the work of your team as well as your own so that others see the value in it.
If you find that in your day-to-day activities as a "consultant," you never interact with people, changes are you are acting in contractor role, not a consulting role.
If this aspect feels too much like brown-nosing or self-promotion for you to feel comfortable, chances are others will grab that spotlight from you with their successes; thus, someone other than you will be "building trust."You may survive for a good deal of time working in a consulting company, but don't be fooled: Consulting is an act between people. If you rarely or never interact with people, and interaction with people is on a "definitely only when required" basis, you probably aren't really consulting. Answering yes to one or more of the following statements means your personality might be incompatible with consulting:
- If I can't wear shorts, sneakers, and sweats while I code, I can't do good work.
- The only small talk I want to engage in is related to the computer language, not conversational techniques.
- More often than not, I find other people annoying. I really only want to work with people who are mostly like me.
- I don't really care about business results that much; just let me code.
- When I find a code base that someone else worked on, it is almost always inferior to the work I would do.
- Writing documentation is always a waste of time. If the code was hard to write, it should be hard to understand.
- If someone can't figure out how to use an application I wrote, that person is probably too stupid to use a computer.
The key to knowing whether you are a fit is to be honest with yourself and decide whether, despite perhaps some inherent introvert tendencies, those traits got you into software in the first place. If you are willing and able to decide that interaction with the broader marketplace around you isn't just the job of other people, you might have better luck in this business.
Introversion Isn't Universally Bad
For some people, no matter how hard they try, they are going to be awkward in social situations, including those in the workplace.This does not mean you are doomed and unemployable as a software developer. If the trends tell us anything, there are plenty of people who meet that profile who make a fine living in software.The place for people like that is, again, probably in IT or, better yet, in the contracting marketplace. Contractors, who get paid to code by the hour on contracts working on projects designed by other people, can do very well. Although contracting isn't consulting, with the right agency to help find projects, it is a great way for a risk-tolerant developer who simply wants to code for money to make a nice living.