I often hear complaints about how the software development world is not a meritocracy. Plenty of upset and well-meaning software developers will rant on and on about how the loudest voice is the one heard, and how that’s just not right. While I understand the sentiment, I can’t say that I agree, for a couple of reasons.
First off, it’s not about being the loudest, it’s about selling your ideas. There are software developers who can sell their ideas effectively and those who can’t.
Those who can’t don’t matter.
I know that’s harsh, but it’s reality.
The reality of the situation is that you can be the most genius software developer in the world with the best ideas and plan, but if you are quiet, don’t speak up, and don’t sell your ideas, it doesn’t really matter, now does it?
Which brings me to the second point.
Those “loudmouth” programmers who drown out the voices of their more reserved, quiet compatriots are actually more valuable—much more valuable.
Because they actually make things happen.
Software developers who are good at selling their ideas are effective because they actually create an effect.
It’s true they might not have the best ideas and the quiet developer sitting in the corner might have a better one, but the quiet developer sitting in the corner isn’t effective because he’s not actually able to turn his wonderful ideas into reality.
I’d rather eat a peanut butter and jelly sandwich than a vaporware steak.
In this post, we are going to talk about why learning to sell your ideas is so important, and then I’m going to tell you exactly how to do it.
Why Selling Your Ideas Is Important
It should be pretty clear by now that a software developer who is able to sell his ideas is more effective and more valuable on a team, but you still might not be convinced that breaking out of your shell and becoming more assertive is the right move for you.
You might be thinking that you are fine playing second fiddle and you’ll just offer your ideas when you are asked directly.
It’s a nice idea, but it’s just not practical.
Wherever you work, there is going to be at least one loud mouth with plenty of ideas.
Now, those ideas might be good, or they might not be. That’s irrelevant.
The point is that you are not going to be effective and make an impact if you can’t hold your own against that kind of person.
The truth is, your advice is going to be directly solicited very rarely unless you are known for having sold your previous ideas in the past.
Again, why is this important?
If you want to advance in your career, you need to be seen as a software developer who has good ideas and makes things happen.
Effective software developers get promoted, not the ones who just have the good ideas, but the ones who are able to rally the troops around their ideas and actually get them implemented.
And even if you didn’t care about career advancement—I doubt you’d be reading this post if you didn’t—you’d still probably like to have at least some control of your fate.
What am I trying to say here? I’ll put it pretty simply.
If you can’t sell your ideas, you are going to have to do what the loudmouthed idiot programmer who doesn’t know jack is suggesting.
I don’t know about you, but I can’t stand working in that kind of environment. So, like it or not, you better learn to sell your ideas.
Fortunately, it’s not as difficult as you might think.
There are a few simple rules and techniques anyone can use to be more effective at pitching.
The cardinal rule of selling your ideas is not to get into arguments. When you are arguing, you aren’t convincing anyone of anything. If you push on me, I am going to plant my feet into the ground and push back at you as hard as I can.
This is basic human nature.
If you want to sell your ideas to someone, you can’t stuff those ideas down their throats. Never directly oppose or contradict someone—this is a surefire recipe for an argument.
Instead, try to…
There are many good ways to be persuasive.
There are lots of books on being persuasive, so I won’t launch into a full-out coverage of the topic, but I want to give you a few suggestions.
(By the way, learning to be persuasive is not the same thing as being manipulative, although the two can be linked. Being persuasive is an extremely valuable skill that you’ll find helpful in just about any situation. I’d highly invest in learning how to be more persuasive.)
One of the best and simple ways to be persuasive is to simply try and find some common ground. Arguments are about finding differences, persuasiveness is about finding commonality.
I often have the best results being persuasive when I try to show someone with an opposing view that we are basically saying the same thing.
I look for commonalities––especially in intent––and I try to focus on those and how what I am suggesting or saying aligns with what they are already proposing or serves their core purpose.
The better you can bridge the gap, the smaller the leap you’ll need people to make in order for them to come over to your side.
You can also take your idea and reframe it in a way that will be more palatable to your audience. Reframing can be extremely powerful. The right frame can present the exact same idea in a totally different light. There is a huge difference between being for gun control and being anti-gun.
Framing makes all the difference.
Think about your audience and what their frame of reference is, and make your idea fit that frame.
Suppose your boss is concerned about the schedule of a project and you want to sell him your idea that you should use this new, shiny framework in the application because it will result in better, more maintainable code.
Don’t talk about better and more maintainable code.
Your boss doesn’t care about that. He might even get the impression that whenever someone talks about more maintainable code, it’s going to take longer to develop.
Instead, talk about how switching to this new framework will cut down development time and will help the project to be finished much faster.
The frame has to fit the audience.
Another great way to get people to buy into your ideas is to lead them in the direction of the idea without giving it to them straight out.
Let them discover the idea themselves.
You are only going to act as a guide, gently nudging them in the direction you want them to go.
The famous philosopher Socrates often used this approach. Sometimes it’s known as the Socratic method.
Utilize carefully-worded questions to lead your audience down the path that ultimately leads to your idea.
People are much more likely to buy into ideas if they have discovered or thought of them themselves.
You might have to give up some of the pride and credit for the idea if you lead people to it by asking questions, but you’ll get a much higher buy-in than just giving them the answers.
If you want to sell your ideas effectively, it certainly pays to be a good communicator.
It’s well worth the investment in time and effort to improve your communication skills, both written and verbal. The more clearly and simply you can communicate your ideas, the more likely people will be to buy into them.
Try to be short and to the point, and to use analogous examples with which your audience can easily relate.
Very few people buy into an idea they don’t understand.
Even if people buy into your idea at a surface level, if they don’t understand it, it won’t really do you much good since it won’t have much effect and it may face opposition down the road.
Far too many times I thought I effectively communicated my idea and got the proper buy-in, only to be confronted later with statements like, “What do you think you are doing? Who gave you permission to do that?”
So, make sure that you are clear in what you are communicating, and brush up on your communication skills so that you can present your ideas as effectively as possible.
Starting a blog that you update regularly is a great way to practice and improve your written communication.
Attending a group like Toastmasters and giving presentations whenever you can will help you with your speaking and presentation skills.
One technique I used to use when I was first starting my software development career and didn’t have a large amount of credibility or experience, was to draw on someone else’s authority to sell my ideas.
Often you can come across as arrogant, naive, or a know-it-all when you try to present ideas that are contrary to the current way of doing things.
You often face huge resistance in getting people to buy into something, just because you are suggesting it.
Who are you to say this is the “right” way to do things?
Instead of relying on your nonexistent authority or experience, borrow someone else’s.
Try citing a book you read, or saying, “It’s not my idea, it’s <insert famous author here>’s idea.”
Now your opposition will have to argue with someone who does have a large amount of credibility.
They can’t simply call the idea stupid or uninformed, although they may still oppose it.
While borrowing someone else’s authority can be useful and effective, in the long run, it makes much more sense and is more beneficial to create your own authority.
Surprisingly, there are some pretty simple and easy ways to do it.
One of the easiest things you can do is to publish your writing or ideas somewhere on the internet.
I originally started the Simple Programmer blog specifically for this purpose.
I was tired of arguing and trying to convince people my ideas were good. They didn’t listen because I didn’t have any real authority.
So I started writing about some of the ideas I had and putting them into my blog.
My coworkers and bosses ended up reading my blog posts and somehow, just because the words were written on the blog, they seemed to carry more authority.
This authority increased further when people commented on the blog posts saying they agreed with me, or the blog posts got shared around and read by thousands of developers.
I’d also often reference a blog post I wrote a while back when talking about some idea or during a discussion where I was trying to sell my point of view.
By always having blog posts to reference, I could quickly establish that what I was saying wasn’t off the cuff, but that I had given considerable thought to it, enough to have written a whole blog post.
Not as easy, but even more effective, is to publish a book.
There is something about being a published author that gives you a certain authority and prestige that can’t be achieved elsewhere. Being able to say you wrote the book on the subject really carries disproportionately more weight than it should. After all, anyone can write a book. Just writing a book doesn’t necessarily mean you know what you are talking about, but people assume it does.
Finally, you can create authority simply by just speaking with authority.
Too many people speak in ways that make them sound unsure or wishy-washy.
They often do this because they don’t want to sound arrogant or they are trying to hedge their bets in case they can’t win people over to their side.
Don’t do this.
If you are going to speak, speak with conviction—always.
You reserve the right to change your mind later down the road, but for now, based on the best of your ability and what you know, you are going to speak your mind and you are going to do it with conviction.
You can win many people over to your ideas, simply by earnestly believing in them and speaking with conviction and enthusiasm when you do.
One of the most effective ways to sell any idea is through education.
Educating people establishes authority and credibility, and makes them much more receptive to what you have to say.
Don’t come right out and try and convince someone of your ideas on test-driven development (TDD) and why you should be doing it. Instead, do a presentation on TDD. Educate your audience about what TDD is and how it works and how it should be done. Educate your audience about other tools for doing TDD and about books they can read to learn more about TDD.
Give them a bunch of value and information first, then ask for their buy-in.
They’ll be much more receptive and open to being convinced when you take this approach rather than just trying to convince them that TDD is good and you should be doing it on your project.
It Takes Practice
Don’t stress too much about selling your ideas. Like anything, it’s going to take practice to get good at it. But keep trying. Practice the techniques in this post, and don’t be afraid to express your ideas and share them. Eventually, you’ll become more effective.
And remember, even the best idea sellers can’t always sell their ideas, but it’s always worth giving it a shot.
This post is a chapter from my book, The Complete Software Developer's Career Guide.