Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Being a programmer is not just grokking the latest cool technology or debugging a sneaky code error , we have to speak to our coworkers, project manager or boss, in the most effective way possibly; we have demos, interviews, code reviews and so on where this skill is pretty crucial.

Personally, as a solo programmer (since 2008) I have not invested much time on improving this skill and I would like to know whay you are doing to improve it.

share|improve this question

closed as off topic by Mark Trapp Nov 23 '11 at 4:51

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 2 down vote accepted

Preparation is key. I take the time to log my progress as a project moves forward: commit notes for the code and diary-like notes in my To Do list. Just two places, all electronic and off-site, no post-it notes or written folders or binders.

If I have a meeting I can prepare for, then I always take the time to prepare any relevant talking points on my laptop: the crux of the situation, long term goal, current hurdles, and possible solutions. If someone walks into my office and asks for a report, I have my latest notes at the ready. If someone meets me in the hallway, I've been writing my notes for so long, I can generally recall broadstroke information from memory. If I have my notes in order, then knowing what to communicate about is a cinch, and that makes actually speaking about it easier by extension.

If it is a matter of simply not being used to speaking in front of a group of people, nothing gets over that like practice, practice, practice.

share|improve this answer
I really liked this approach – systempuntoout Nov 26 '10 at 22:46

Joining an organisation like Toastmasters, even for a short time will probably be of massive benefit. They cover all types of speaking scenarios.

You can also practice by giving small lightning talks or demos in your lunch hour or after work at your local technology group. Ask for feedback, you'll quickly discover what main areas you need to improve and what you already do well.

share|improve this answer
+1 for the link, but they need to work on their website - it's awful. – Gary Rowe Nov 24 '10 at 16:29
@Gary Rowe You're not wrong there - considering they're selling communication <bangs head on desk> – Martijn Verburg Nov 24 '10 at 17:02
+1 for Toastmasters. My father was a member for ages, and I was approached in high school after spending a couple years on the speech and debate team. The things I learned on the team still stick with me today ("preparation is key"), and TM has a lot of similar events. – Philip Regan Nov 25 '10 at 0:52

The first important thing, like with everything that you want to get good at, is practice. Get out there and speak; get out from behind the screen and interact with people. While this will not significantly improve the effectiveness of your communication, it will make you more comfortable. The second thing is observation; watching or listening to a talk by someone you think delivers well can help you get a better feel about how to communicate. Preparation, like Philip said is important, but if you're not comfortable and can't deliver well, it's all for naught.

However, both of these are insignificant to what I believe is the guiding rule of effective communication: say something important, or don't say anything at all. Someone I work with frequently says absolutely nothing significant, and wastes hours of my time blathering at me, saying absolutely nothing productive or significant. Needless to say, this person hampers the progress of the group more than he/she helps. Don't be this person. Delivery is important; but saying something worthwhile and productive is critical.

share|improve this answer

Be completely objective. Steer clear of coffee. Be calm. Be yourself. Be honest. Be open.

share|improve this answer

I joined a local users group. Doing a presentation and listening to good presenters, Q & A discussion, and general conversation afterwards at the pub can help.

Not a formal process, but helps in other ways as well especially for a lone programmer.

share|improve this answer

You could spend some time on the English Language Stack Exchange site which is an interesting distraction. However, it's all about practice. If you need to give a presentation then practice it in front of friends and family and get them to critique your performance.

You may want to pick up a copy of the Jeffrey Gitomer Little Green Book of Getting Your Way. It's absolutely packed with practical advice for giving presentations and improving your demeanour in a manner to help you to influence others effectively. I've got several of the other books in the series in addition to this one and I can fully vouch for their efficacy.

share|improve this answer

Finding groups on has helped with my social skills which is a bit broader than speech communication skills as things like body language can also play a role here. I'm also involved in some local groups not on Meetup that also help build the interpersonal skills that are at the heart of communication to my mind for one idea. Support groups can also be useful if one has depression, anxiety or any number of other medical conditions that can make communication difficult.

How to Win Friends and Influence People has some points that can also be quite handy at times when it comes to dealing with people. Another reference would be "Emotional Intelligence 2.0" by Travis Bradberry and Jean Greaves that has various strategies that can be useful in the 4 areas of emotional intelligence: Self-awareness, self-management, social awareness, relationship building. As I am still a work in progress, there may be other sources that I find interesting as well as trying to leverage my strengths which is another aspect to this. That may seem to be a bit of a cop out, but it is an honest answer at this point.

share|improve this answer
+1 for those books and also I recommend Real Time Relationships The Logic of Love (It's free) – Jonathan Nov 24 '10 at 23:00

I also suggest you keep up with world events or at least your national/local news. Also, reading up random amusing articles on sites like reddit gives you a lot to talk about during lunch hour or just about anywhere. Since I don't have a lot of funny or interesting/adventurous real life experiences, I rely on those, for now, to make conversation. :)

share|improve this answer

Fire up iMovie, pick a random topic, and start speaking.

Review the movie and you immediately will be able to identify areas for improvement.

Present ==> Review ==> Learn ==> Repeat...

The hard part is having the discipline to follow through.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.