Ask Slashdot: Communication Skills For Programmers?
An anonymous reader writes "As a new developer at a young-ish software company, I've been told my communication skills need some work. I'm not painfully introverted or socially inept, but I get lost in my work and only contact people if I need something from them or they ask me a question. Traditional advice isn't relevant to casual, less hierarchical companies — I don't have to hold my tongue when someone is wrong or worry about formalities. But I do need to connect with people professionally, since my team members and managers decide my perf and advancement. How do you keep colleagues abreast of your work without having exponentially many needless conversations?"
So this needless communication is actually needful?
Maybe just change your attitude. Forming relationships is very important at work.
Are you sure "communication skills" means that you aren't socializing enough? Perhaps your emails are inadequate, you aren't keeping people informed, aren't discussing ideas with others or are not adequately explaining your ideas.
The fact that you only talk to people when you need some from them is a problem. What about brain storming? Design meetings? Code reviews?
Getting to know people and taking an interest in their lives doesn't hurt either.
Buy it, and read it. Then read it again.
This book changed my life. I had no idea how bad I was at dealing with people until I read it. I re-read it at least once a year.
http://www.amazon.com/How-Win-Friends-Influence-People/dp/0671723650
If I were God, wouldn't I protect my churches from acts of me?
If you didn't screwup in any other way, your manager will put 'communication skills need work' just so it looks like he did something during the last review period.
Send an email to the whole team at the end of each day, summarizing what you've been doing.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
What is a needless conversation? If connecting to your coworkers leads to career advancement and increased income, wouldn't it behoove you to reach out a little and, I don't know, talk to others? You're not a robot, right?
In C++, your friends can see your privates.
Send or post a short note each day where your supervisor can/will read it -
* What I finished - accomplishments, problems solved
* What's coming up - milestones, issues or possible stumbling blocks
That'll keep him in the loop and any conversations can be spurred from there.
"I don't have to hold my tongue when someone is wrong or worry about formalities"
You may not have to, but if you are abrasive or laden with four letter words, you are shooting yourself in the foot. It turns off co-workers, and customers alike. Clean up your speech. Learn to tell someone they're full of bull without directly stating it. Find any number of books about learning to sway others opinion rather than going right at them.
Did the person who told you this give you any more detail? Are you not engaging often enough, or are you not good at explaining yourself and listening during the times when you are engaged in conversation? The former is partly a matter of being friendly/comfortable with the people you're around. The latter is critical thinking -- what do I understand, what do they understand, will this choice of words be interpreted how I want, etc.
Evidently, the key to understanding recursion is to begin by understanding recursion. The rest is easy.
I'm fairly introverted (18 out of 20) but I also make time to walk around Operations (I'm a Unix Admin) and chat. While I'm not a sports person, there are folks who share the same interests. So finding out about a few guys who play guitar lets me chat about guitars (or bass). I get to poke at the guys who ride cruisers (I'm not quite old enough for a cruiser yet :) ) and share stories about my own touring rides (going to Alaska again next year). Several are gamers of one sort or another so there's some cross discussion there, even over in Engineering where there's a fellow Shadowrun gamer and another guy who plays Bass.
Heck when I worked at IBM, one of the jobs was remote 100% remote (me here, a couple of folks in Rochester NY, one in Seattle, one in Austin, a couple in New Jersey, and a couple of guys in Boston where the contract was). I had a problem with it _because_ there was no interaction outside of work conversation.
Sure, you're a working guy but networking, even amongst your coworkers is important.
[John]
Shit better not happen!
You would be surprised how important little things can be, like a good stapler, preferably of an easy to spot color.
Remember if you don't get the respect you deserve you can always burn the building down.
Not to single you out when there are many other offenders around, but comments like yours remind me of something I don't miss on slashdot. You open up with an unsound criticism of someone's word choice ("exponentially" has an informal non-technical definition that does not equate to geometric growth). You close with a sarcastic putdown. You sandwich good stuff in-between.
Evidently, the key to understanding recursion is to begin by understanding recursion. The rest is easy.
If you think that way, rather than: The purpose of conversation is to tell people what I'm thinking, then you will be a better communicator.
Listen, process what the other person's motives and needs are, and take the opportunity to learn something from them or their perspective.
It you think you know it all already, you are already done, in any business or endeavour.
If you think you know it all and can only pass on information, you are not really that valuable a contributor, because you are probably working hard and cleverly on the wrong problem altogether.
There is always something to learn by active listening. You get more out of conversation that way; appreciation, and knowledge, cumulatively.
Where are we going and why are we in a handbasket?
Communication is a two way thing...your goal should be as much to find out about what others are doing as it is to inform them. Ask what they are doing, listen, then you can relate your similar experiences in response. Ask for advice or confirmation of ideas...people love to be asked to provide advice, and they'll gladly listen to what you are doing in order to be able to fulfill that desire.
Awwwwwwww
Can I keep my Soft Kitty poster up? :)
[John]
Shit better not happen!
I have people skills. I deal with the goddamn customers, so the engineers don't have to!
What do you people want from me!??!?
I hate to say it but the retention rate for programmers is higher than everyone else. So, when you go to advertise what you've been working on (and yes, it's advertising) sometimes you'll have to re-hash the conversation four or five times. The trick is to re-hash the ideas and talk about things in a different way each time so that the topic doesn't get stale to the audience.
I wish (as do many programmers) that advancement was about nothing but pure ROI to the company (including future ROI) but it doesn't work that way. It's hard to measure, is labor intensive to figure out, and is a waste of time in a small company. So, failing that, you rely on marketing. How you get along with people, small talk, casual banter, idea roundtables at lunch breaks, those all contribute to your "brand image" and you need to take advantage of that image to paint a perception of intellectual value at your company. Make sure you're good enough to provide deliverables to back up your image. You also need to pick one or two things to be REALLY good at so that other people can ask you for help. Helping people helps you.
Pick a common ground. Start asking coworkers about what games they play, what hobbies they have, etc... That will start friendly conversations from which useful ones can bud.
1) Give short, frequent, and unsolicited updates. "Hey, still working on that project. I should have something to you by today. Hound my ass tomorrow if you don't have anything in your inbox from me."
2) Shoot the shit. Talk about the game, whatever sport it might be. Didn't watch the game? Look at the highlights. Go to espn.com and look at the score. Read the news related to sports. Or, if you don't like sports at all, ask people how their weekends were. And remember things about people. Someone tells you their son was sick over the weekend? Ask him the next day how his son is feeling. It's this kind of interpersonal interactions that are so important to the company and your career. They aren't necessarily value-add to a project, but they are value-add to your connection to other people, and you ultimately become a stronger employee in the company.
3) Make jokes when working. If you work in a small office that's relatively new (i.e. startup), then chances are you can joke about things that would normally get people written up by an HR department. I'm not saying be crass or creepy, but you can make fun of your team mates once in a while after you've established a good relationship.
I think many companies miss the point of good managers. I've had the positive experience of managing a small group of developers and they relied heavily on me to talk with other managers and upper management when it came to projects. I myself understand programming but am not a programmer myself, my background is based in networking and databases admin. I understood that developers needed time and resources to resolve issues or develop new products. It was my job to make sure the programmers had the resources they needed and also to make sure that upper management had a clear understanding of the time table and end result. This made the developers more comfortable and gave management the go between they needed to fully understand project needs. Everyone can not be great at everything, and if a developer is great at coding, but not so good at dealing with management why not have someone who understands be the communicator. Middle management often gets a horrible reputation for being a roadblock, but in some cases it can be exactly what is needed.
Sent from my TARDIS
You've been told that your communication skills need some work. Part of communicating is asking for, and learning how to receive, feedback. So, I'd suggest the following:
DO NOT:
Good luck.
Finding God in a Dog
The least painful (usually) technique is simply to eat lunch with one or more of your co-workers most days. You'd be surprised how much useful information gets shared that way.
I don't care if it's 90,000 hectares. That lake was not my doing.
Quote.
I don't have to hold my tongue when someone is wrong or worry about formalities.
YES YOU DO!.
Trust me as someone in the same shoes you need to have those little inane coffee conversations and keep people up to date. You need to appear like you care and that you are approachable. Additionally almost nobody thinks like a programmer, or if they do have your skillset. When you are trying to explain problem that they might cause downstream you need to walk everyone through so they can see it like you do. DO NOT expect them to get it and just argee the point rationally.. Additionally you will approach problems in a hyper rational manner compared to other people with different skill sets if you are a introvert. Work at it, treat it like a debug, figure out what makes someone happy and angry and the approaches they take and really think about how they are going to respond and ask yourself if it is a socially acceptable to give them that question.
Trust me as a diagnosed psychopath, old DSM, you really need to work at it. (That is why this AC)
If you already do this, then make an effort to talk more and to ask more questions. Otherwise, take the time to go out and get lunch with your coworkers and sit down with them in the lunchroom. In my opinion, it's more important to ask questions than to talk about your own work. I know it costs money and time, but they are both well spent.
I agree with other posters that the criticism is vague, but you should ask for more precise feedback from the person who told you that. For example, a common problem is assuming too much when explaining things, but maybe yours is that you go too slowly? Get them to tell you what they think you should work on, and then get feedback from other coworkers as to whether the comments make sense to them based on what they know about you.
By communicating on a non-work level you let people in, making them feel more comfortable speaking with you. A good team is one that communicates often and effectively. Above all, by involving yourself in the social dynamic at your work you will gain respect from your colleges. IMHO, respect is very important if you plan on heading a team or department at a later time.
I think you have to first ask what is required here; whether it is simply the quantity of communication, or rather the quality. The team and communication skills of developers are more correlated with success than technical skills. Communication means being able to effectively transmit what you are thinking and understand what others are saying. Perhaps you should ask your co-workers what aspects of your communication they have difficulty with. Is it that you are unclear, or do you not communicate with those you should? Are you really listening to people; by which I mean actually taking onboard what people say? The "needless communication" phrase indicates a certain degree of hostility towards communication. Obviously you should not have 'needless' communications, but clearly your workmates believe there are issues impacting your effectiveness.
You do need to hold your tongue and follow formalities, that is the whole point. We have thousands if years of experience as a species in how to communicate effectively. It involves watching what and how you say things, and following acceptable rules for communicating with other humans.
Just because I can hook a shark from a boat, I do no offer to wrestle it in the water.
Exponentially implies that the growth rate is proportional to the population size. So if the author's point is that every conversation he has leads to two more (matching my experience) then "exponentially" is used correctly.
Have you considered that this critique of your communications skills is not solely focused on your being an introvert, but rather on your ability (or inability) to effectively communicate with the written word? Where I work, I am constantly sending and receiving emails back and forth with people who are half my age who have no understanding of how to compose an email, or what kinds of details to provide in a help desk ticket, etc. When they do write, they keep it to a bare minimum - a minimum that requires me to have to exchange a ton of emails with them when it should have taken only one, or two at the most. Why they don't simply enclose the required information the first time around is beyond me. Reading the emails is maddening. Incorrect spelling, poor grammar, lack of ability to explain a concept effectively - signs our educational system is going down the toilet. I think that this behavior is somewhat due to the overuse and acceptance of SMS as being okay to communicate ideas - whether personal, or in my environment, professional. Other factors - good old-fashioned laziness, and "I don't give a damn" attitude.
" I don't have to hold my tongue when someone is wrong or worry about formalities"
You may not be correct.
That's not quite exactly the same as saying, "You are wrong."
You may not think you have to hold your tongue, but it certainly helps if you hold it in the best position to let other people feel as self-important as you yourself like to feel. It's called empathy. Try to fake it until you make it.
The only communications I know as a programmer is TCP and UDP :) Use TCP if you want a response from your manager otherwise he might be dropping his UDP packets.
>I don't have to hold my tongue when someone is wrong
I respectfully disagree. You should definitely speak up if something is wrong, and it's good that you're in an environment that allows you to. That being said, I suspect that the number one "communication problem" software developers tend to have is coming across as having an overactive ego, that your word is the divine truth handed down to the unwashed tech-illiterate masses, and that their opinions don't actually matter in the face of the cold, hard facts you bring to the table. I don't think this is the dev's actual attitude (most of the time), but it's so, so easy to come across that way. Coming up with ways to share an idea while making sure your audience understands yet doesn't feel talked down to is a skill I know a lot of devs could stand to learn. If your coworkers feel respected by you, that goes a long way toward improving communications.
The other problem I see frequently is a general lack of visibility into what progress is actually being made on the seething morass of shifting dev priorities. Even something as simple as a daily/weekly project status update e-mail to the right people can do wonders here.
(This question gets deep into greater issues of how much power tech people have and their perceived role in businesses and society, which is far too big a discussion to be had here. Short version: IT experts are witches).
Full disclosure: I am a career software developer, and like to believe I do pretty good at the communicating with business thing.
Something that we did at my previous job, and that I have successfully lobbied for at my current one, is the Monday-morning meeting. The whole team gets together, everyone explains - in a few short sentences - what he's currently working on, and mentions anything else people might want to know about (when they will be absent, for example). The team-leader sometimes talks a little about upcoming projects or company news. Shouldn't take more than half an hour, and everyone gets up-to-speed on what people are working on. It's sort of like the agile "stand-up meeting", only once a week instead of every day.
Maybe you could introduce something like this? After all, why should you be the only one who has to explain what they're doing?
A lot about work is who you know and who likes you. When things get tough, they'll keep a friend over the cave troll who does good work but never comes out to talk to anyone. You should always go chat with people once in a while, unless they themselves are cave trolls.
Unfortunately if you're a talented developer or engineer just writing good code does little for your career. If you want advancement, more responsibility and the pay that comes with it you'll have to learn to communicate effectively. I see lots of talent get pigeon holed in an organization because they can't communicate effectively or become too impassioned about something that is contrary to the perception of management because labels get attached to that individual and those are difficult to get removed. More often than not, the individual leaves or in a layoff situation, especially if that person is very vocal or sticks out like a sore thumb, they're let go. You have to be able to communicate effectively, build conclusive arguments that drive your point and learn to work with your co-workers. Nobody said you had to love everybody or live in a yellow submarine but by doing this and building consensus you can demonstrate that even though you've got talent in development or engineering you also have soft skills and soft skills pay more. I can get Java, C# or C++ developers any time but couple that with somebody who can lead a team and deal with having bumps in the road and then they're a better asset. If they have enough experience and have managed a few successful projects then they're great candidates for further advancement.
Sure, sometimes you have to play company politics and the higher you go unfortunately the more political things become but unless you have killer IP and are running your own place, you'll have to put up with it wherever you go.
Harrison's Postulate - "For every action there is an equal and opposite criticism"
I had a similar situation once in which I was working away as a contractor, but the manager wasn't really aware of everything I was doing.
The best advice I received, which came from an outside source, was to start emailing the team leader and the manager a quick "status" update every week. Just a quick email about what I was working on that week, what I accomplished, and any issues they should be aware of or handle. It worked very well, and it tended to cut down any interruptions from them wandering by asking me "how's it going?" As time went on, they learned to trust me more as a professional, and it became less of an issue.
Now, I hate mandated weekly status reports as much as anyone, but if the perceived problem on their end is that they don't know enough about what you're doing, I would much rather start sending them email with the relevant information. Otherwise, you might find you have to start filling out detailed weekly status reports, attending regular status update meetings, or something else more painful that a quick email.
Have you tried turning it off and on again?
Those needless conversations aren't necessarily without purpose. I mean, sure if they come tap you on the shoulder and ask you about the weather, that's pointless. Other conversations may come across as redundant for you but they may very well be helping the people coming to you with them.
Regarding formalities. It is one thing to allow someone to finish their thought, then tactfully tell them that you disagree with that line of thinking and here is why. If on the other hand you are cutting them off mid-sentence, telling them "they" are wrong (we know you mean the idea, but its all in the wording) and the whole situation can turn into a much more hostile one over something misconstrued.
My last thought, are you only having these kinds of communication problems at work or is this something that permeates throughout your whole life? You say you aren't painfully introvert or social inept, but you aren't exactly socially graceful either I take it. I was a huge nerd in high school and really didn't learn how to be really social until my 20s. Our society really likes to be social and involve themselves in every part of our lives, so I know how frustrating it is when people just can't accept you would rather go it alone more and actually are more efficient in that manner.
What I'm saying is you may just need to fake it a bit more when it comes to the social stuff. I know its painful, seems pointless and downright wasteful but being introverted really means we have to put on our extroverted hat and burn that energy so people don't think we hate them.
Best way to make allies at work is to spend your break time chatting with your co-workers. You should talk about non-work stuff but invariably you all will talk about work and that is how others will get an idea of what you are doing without cutting into your productive time. Also make a point of chatting with your boss when ever you see him/her in the hallway. Nothing deep, a simple "hello, how are you doing" will suffice if your boss looks busy. But you want to give the impression that you are an out-going employee that is part of the team. If you get more than a few seconds, ask how was their weekend and slip in something about your progress. The boss doesn't need the details but just the impression that you are working on something important and that you are making progress. If they boss doesn't know what you are doing, make sure to request a meeting where you can give a summary of your project and your future plans. Ask for the boss' input and advice if anything to make them feel like you respect them. If the advice is good, take it and build a working relationship with your boss. If the advice is bad, don't reject it outright but take it home and think about it, weighing the pros-and-cons. If it's still bad, formulate a friendly rebuttal on why some other direction is better. Sell yourself. Get buy in. Manager's don't like maverick's even if they are good at what they do.
Besides the "god gave you one mouth, but two ears" most of the communication you will need is around negotiation. Here the Harvard Center for Negotiation published an excellent series of books: Getting to Yes, Getting past No, Difficult conversations, Lateral leadership and the Power of a positive NO. I wrote a little about it: http://www.wissel.net/stw/wisselblog.nsf/d6plinks/SHWL-6LR37S You also might want to check out Toastmasters who hone speaking skills or "The contrary public speaker". While they are not strictly about communication, they are about making your point understandable (litmus test: explain to a Rotary Club what a Social Graph is - they live it, but the don't use that lingo). Hope that helps
You should be familiar with the proverb "Free as in Beer". There is also another use for beer: It loosens tongues.
Excuse me, but please get off my Pennisetum Clandestinum, eh!
.
The first thing about having a productive conversation is to listen.
You learn more when you're not talking than when you are talking.
"I don't have to hold my tongue when someone is wrong or worry about formalities."
Don't be so sure about that. While you're probably technically correct here, you may want to be aware of HOW you say what you're saying. Sure, you may not have to call your boss Sir and you may be allowed to point out when they're wrong but there's a difference between politely letting them know their statement is inaccurate and cutting them off mid sentence with a "That's wrong, you're stupid, and you should feel bad."
As a tie in here, you may want to ensure that your requests for help and responses to questions are not overly curt. If someone asks you a somewhat obvious question, it can be tempting to give the dot dot dot response ("What's the US Capital again?" "...Washington DC" read: "Are You Stupid? Washington DC"). They are asking you for help. Be genuinely helpful. If you're able to come across as emotionally invested in their success, that makes you look great.
Come across a technical issue that the Business Unit needs to be made aware of so that a decision on how to fix it can be made? Make sure you detail the issue as well as you can, in such a way that explains it so anyone can understand it. Give your honest gut instinct of what the best solution would be and why, but also give other possible solutions.
Does your Team SCRUM? If not, maybe you could suggest it (even offer to run the SCRUM meetings, taking on a leadership role). 5~10 minute morning meetings where everyone says what they did yesterday, what they're doing today, and if they need help from someone in particular in under a minute does miracles for keeping abreast with what everyone else is up to, and everyone else abreast with what you're up to.
Don't be scared of being animated in person (use your hands to talk, have facial expression, etc).
Lastly, it's entirely possible that your communication skills are absolutely fine. Outside of work. Or in a different circle of people. But that while at work you've got your business game on and for whatever reason something is telling you "Be All Business" and that that is constricting your otherwise fine communication skills.
Having been told at the following job that my communication skills needed work (and which I disagreed with, it was more along the lines of "I couldn't care less about this job, so good luck at making me productive when this was supposed to be a Web Development Position instead of a SysAdmin position"), I wouldn't find it all that surprising that Managers who are in and out of meetings all day (do a lot of talking) see someone who's zoned into their work, interrupt them for a question, and get a response with less inflection than SIRI and wonder "Sheesh, is this guy a zombie?" or similarly ask for a status update over email and get about a sentence back from their employee and think the same thing (that you need better communication).
If it helps, you can pretend your coworkers are the type of friends you'd go to the bar with (assuming this isn't going to get you written up by HR for inappropriate comments, of course).
It's difficult to offer a solution without observation but a general rule in tech is:
1. Be good at your job.
2. Don't be an asshole.
Not 'find out the gossip around you' (although that can be helpful to know) but find out if what you're communicating (verbal, written) is conveying what you hope it communicates. Sometimes we do/do not include details that the receiver needs. Sometimes our tone isn't what we intended. The only way to find out is to ask (and hopefully the open communication culture you indicate will provide you honest and helpful feedback). Perhaps you'll discover that you need to include a little more detail (or less!) or watch how you word ideas so they don't come across poorly. On the other hand, you may discover that all your peers and friends have no issues with your communication. At that point, sit down with your manager(s) and find out what they expect. As long as the mood is positive at your company, all this is good stuff. It's when company culture starts going south (or there is a bad manager) that this kind of self-improvement/discovery can turn nasty. Clear communication is critical for great relationships at work and home. Learning about yourself and how to better communicate is a great thing at any age.
mu
all these years, all those posts, it was you
this whole time it was YOU
MODS PLEASE
Possibly related case:
During a review my boss remarked that my appearance was not entirely up to snuff (my words, not hers). I immediately asked for clarification and got a less than specific answer along the lines of you're usually very put together but, some days you're not, which didn't help much. Months later I was witness to a comment she made about another employees scruffiness. Note to self, she doesn't like 5 o'clock, or in my case 3rd day shadow.
More to the point, did you ask for clarification, examples, guidance? Going about this, in a "flailing in the dark" manner is unlikely to produce the desired results. Social skills covers a wide range of material.
Granted, I don't know Mr. Submitter from Adam, but from the tone of your post you sound like a self-aggrandizing jerk. Not only that, you also seem quite keen on talking shit on and otherwise denigrating the people who have elected to employ you (albeit in a rather passive-aggressive manner). You show a complete lack of respect for proper procedure and formality, which, regardless of your personal feelings, exist for a reason.
I'd recommend you take that chip off your shoulder poste-haste. You might be the wunderkind you think yourself, but you also might not; so, maybe try to not be such a douche-bag about "having exponentially many needless conversations" with your co-workers. Or, find a different job where you don't have to worry about being "bothered" by your contemporaries; I know lots of places with plenty of janitorial positions available.
An enigma, wrapped in a riddle, shrouded in bacon and cheese
I'm only slightly introverted, or was, now I'm a lot more social. Here is my experience, it might work for you too.
If I have a few questions for a user, sometimes rather than sending an email I will invite one of the people who depend on my work to come sit with me at my cube to go over the questions. I let them see what I am doing, discuss some of the changes, even let them see me make some of the changes while asking for their input.
Me: "So would you prefer it to tab from this field to that field, and not to that button over there like it has been?"
Coworker: "Oh yes!, can you do that to the other screen too? that always messes me up".
This can be very empowering to them, exciting to see it in action, and appreciative that you have let them have a peek in at and participate in the secret world that has so much influence on their day to day work.
Do this over time and you end up getting to know your co-workers, what they know, how they work, and maybe even make some friends.
(If at first you don't succeed, do it different next time!)
Same setup (new hire and entry level software engineer) basically. I only get to see my team in person every Tuesday and Thursday. We have email, jabber and phone for the other days. I think the same rules apply as any IRC channel - don't be afraid to own your ignorance, but make sure you have done a modicum of research before posting to your devel team listserv or pestering your coworkers with jabber texts in the middle of code-freeze or code-bash. Take it at face value and make incremental steps and get feedback.
If you can learn to place an intrinsic value on the people in your workplace and your relationships with them, instead of seeing them as a means to an end, both you and they will benefit.
I've been a developer for over 10 years and I can say that in most environments, there is a divide between tech and the rest of the company in almost every situation.
If you're struggling to communicate with other devs or your supervisor, that's a different issue.
First, an agile process, where you define user stories and commit to work in sprints, is a great communication method that integrates with your work flow. From a top level, you define the business need, then breaking it down with tasks being more technically oriented. This adds a great deal of transparency and gives the business side something written in their language that they can review and track.
I've found that my personal communication issues stem from getting too caught up in substantiating everything. As a developer, there is a highly technical, logical discourse that can be had about anything you work on. Knowing how to communicate this simply, for non-technical employees, goes a long way, but can be a challenge. When I see someone getting lost in my words, I take a step back and give that individual control of the conversation. Then, I work with that person to help them understand the topic at-hand in a more constructive way.
The other thing is, remember to listen... take notes during conversations and don't just wait for your chance to speak. Communication is really about simply finding a shared perspective to explore.
The golden rule is that technology supports the business, not the other way around.
This.
Years ago, my boss pointed me to a good article titled "How to Be a Star Engineer." (Apologies for the annoying format; if you're an IEEE member or university student you can download a PDF).
The article essentially says communication skills and attitude are what differentiates star performers from the rank and file. Understand the people you're working with, what they need, and provide that. Everyone will enjoy working with you, and you will become well-known.
[Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
They hired you because your brain is wired in a uniquely valuable design; and then they turn around and complain you're not like everyone else in your communication skills. It's a tough grind many of us have had to learn our way through. Yes, it will take extra effort on your part; you can only hope those around you appreciate the effort. Find yourself a mentor; try Toastmasters or some such. The good news is you can learn!
I think GP is objecting to "exponentially many", which although is a syntactically legal adverb + adjective combination, the issue is that "many" is not an appropriate adjective since it does not suggest any form of comparison or rate that could have an exponential relationship. I would suggest adjectives "more", "greater", or a participle like "increasing" to sound more natural and logical.
This is one of those things that would sound natural if said in conversation, but stands out as somewhat wrong in written English.
This is one of the few times in Slashdot where critiquing the story's grammar is completely on-topic and productive, since we have little else to judge the submitter's communication skills by.
When Argumentum ad Hominem falls short, try Argumentum ad Matrem
Is that you Sheldon?
OK, so you write code for a living and only reach out to people when you need an answer to a question.
Sounds like you might need a daily blog / journal. I've seen co-workers post a daily summary of what tasks / actions were worked on and the journal is injected with a few humorous lines of the individual's personal views. This is a form of communication that may suit your style better.
* It provides team members the opportunity to know what your working on, and may encourage them to share ideas or come to you for fresh ideas.
* It allows management the ability to keep apprised of the work your doing without having to bug you while you're in the middle of a train of thought.
* For some colleagues, it will give them an insight in to your personality without you having to hang out by the water cooler.
* It helps you remember what you did so that one day when you have to produce a weekly status report, you've already captured your tasks current and completed.
Communication does not always mean you'll be caught up in political BS at work.
Communication builds trust with colleagues.
Communication is not a needless skill, but it is a dying art.
You know you're a great communicator when you can basically tell someone to "go to hell" in such a way that they think the idea is theirs and look forward to the trip.
Good luck.
Life takes interesting turns, but the most interest is when you're off the beaten path.
My first manager always told me that I needed better communication skills. Mostly this was because she was incompetent and couldn't keep track of her own work much less those reporting to her. In hindsight, I do not blame her, but rather the organization that promoted someone beyond what their skill set could handle.
At the same time, I did work on my communication and organizational skills. Since then I've earned five or six promotions and get consistently high marks in both of these areas. In my twenty years of a professional career, six in management, I've learned quite a bit and learned it can be distilled into just a couple of points
1) Know your audience.
This is the most important aspect of communication. My direct reports have learned (and I have told them) that I trust them and only expect a minimum of communication on a daily basis. I like status reports on a daily or near daily basis that let me know if you are on track. I also want to see reports when you see things going off track. Then we can sit down, go into more detail and I can do my job of providing additional resources or a manager's voice to get cooperation. If it is urgent, see me immediately. if not, it can wait for our 1:1. I want my employees to be able to work without getting sucked into a lot of meeting, be allowed to take ownership of their projects but then leverage my position when they need it.
But that is just me. Some managers want to be in the middle of every technical decision. While I don't agree with this management style, if that is your manager, adapt to his style. If he likes face-to-face daily, then give him the meetings. If he prefers a daily email, go that route. If he is a drop-by-meeting manager (I hate them) then keep talking points by your desk so you are ready.
How do you learn your manager's style? If he is good, he will explicitly tell you. Most managers are not good, however and don't receive any type of training. If this is the case, I'm sure you know who his favorites in the office are. Emulate parts of their style, or explicitly ask them how they deal with the boss. Also, occasionally, ask the boss how you are doing with communication. It will help reinforce that you are trying and he will generally view that favorably. Perception is at least half of the battle on communication...
For non-boss coworkers, communication is easier if you are already communicating well with the boss. Daily statuses on projects via email is likely the route to go. Whatever you are sending to the boss, send a similar update to your team. Develop a standard template so busy readers can scan for what they are looking for.
2) Be Consistent
For each of my direct reports, I created a template for our weekly 1:1's. There are 5-7 items on each that I go through. Sometimes most of the items will be "nothing to report". Others, there are lots. But by being consistent, I make sure everything is covered. I do the same for those I report to, either directly or as part of a project team. If you go the route of daily email updates, make sure they are done every time and have a consistent format. This will help you to be efficient with your time. Then make sure you follow through each day or however often you decide to. This creates a healthy habit in yourself, keeps people in the loop and reinforces the perception that you are an organized team player.
3) Get to the Point in EMail
Folks are busy, so spend a few minutes and think through a problem before emailing on it. When I see a long email on a subject, I immediately assume the person hasn't thought it through themselves and is looking for me to solve the problem. Don't spend three pages writing an essay. Don't go past three back and forths on an email chain. If you really need someone else to help solve something and you can't express it in two or three paragraphs, have a conversation.
Finally, a few minor points
* When getting an assignment, repeat it back to the person who assigned it so they can confirm. In most cases, follow
See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
...limited to RFCs 791, 792, and 793. Other than that, go away.
Best advice is don't reveal more than you need to share and, when you do share, do it in a clear, concise and non-rude manner.
Learning proper English (or your native language) vs slang is important in conversation and documents you prepare internally and for clients.
I have actually received resumes written in "text" speak. And, no, I am not kidding. Can you guess who didn't get hired?
Duly noted, and targeted. -- one moderator
In my experience if you really want to 'fit in' and be part of the group you need to start smoking. Those 5 or 10 minute breaks they take every hour to go outside to smoke is when they do all their social networking.
And by that I mean non-SF fiction (what's called in the article I'll link to "literary fiction"). Research has suggested that reading this sort of thing, as opposed to man pages, SF, or journals, improves empathy and communication skills: http://www.theguardian.com/books/booksblog/2013/oct/08/literary-fiction-improves-empathy-study
Also, learn about different types of intelligence. Daniel Goleman's books are a good place to start.
Basically, don't neglect non-STEM topics in your, your friends', or your children's education. You may think that you'll never need to learn how to diagram a sentence, or the history of philosophy, or art theory, for work, and so you ignore them because programming shows your big brain to its advantage, but: you have to work with people, share ideas, listen to other ideas, if you really want to do something great. Or, you know, be a human.
The manager is the one who has made this comment, so I would surmise that one of two scenarios is at work here:
1. The manager has either noticed for themselves, or they have received feedback about you, to the effect that you do not communicate effectively with others within the company.
2. The manager is looking for a reason to give you a less-than-excellent performance review (a couple of potential reasons for this, the most common one being that the less than perfect review impacts your bonus, thus saving money for the company; alternatively, this could simply be a manager who just does not give excellent reviews because they think it leads to complacent employees).
In both cases, the best thing to do is ask the manager for their advice. You are a young, (relatively) inexperienced person on the team, and from my perspective it is safe to assume that you are interested in improving yourself and doing the best job that you can - that means that if you could self-identify things you can do better, you would have done so and be doing them. So take the manager to one side and explain that you are looking for some specific input about what areas of communication could be improved. Usually in my experience, where it is not a matter of the manager finding fault to save on bonus payments, it is not about communicating more, but more effectively. If that is the case, the best advice I could give is to look up a public speaking organisation - Toastmasters (www.toastmasters.org) is one of the more common ones, and one that I have worked with for a few years. You can learn more about effective communication, and also about leadership as well, both of which will carry your career a lot further if you are a good programmer, than just being a good programmer.
now who said this? what was the context?
these questions are, IMHO, integral to giving you good advice!
other comments here are very helpful, but more for the general info and narrative than advice that will actually help you **make a decision in this situation** directly...I think you should absorb all the info, but you (and all techies) need to **consider the source** of this criticism
important quesitons:
> were they male or female? a co-worker or superior? what was the context...was it in an official capacity (like performance review), at the water cooler after a meeting, or after 2-3 beers on a conference? does this person have a good/bad reputation? is your office full of self-centered assholes?
> very important: has anyone else said this to you in a professional context recently or is this **just one person**?
honestly, you probably need to learn a thing or two and reading the good comments here can help, but w/o more information I can't tell if the problem is with **YOU** or **WITH THE PERSON WHO TOLD YOU THIS**
give yourself the benefit of the doubt **if** you are genuinely open to criticism ;)
Thank you Dave Raggett
If they want you to socialize more it's really quite simple. Just wait for a cue like "man it's cold out there". You could also say that yourself and then lead into a very short story like: "Reminds me of when we went to the cottage after thanksgiving. It was so cold I slept in the car one night.". From there, people will usually have something to relate to and they go off on their own story. You can easily squeeze in this small talk a few times a day and just get to know people better. Catch them at lunch microwaving their food, during breaks, or if you're comfortable just jump into a conversation two people are having, using discretion.
First of all, if someone is telling you that you have a communications problem, that is a BIG red flag in any career you need to look at immediately.
"...without having exponentially many needless conversations," ... "I don't have to hold my tongue when someone is wrong or worry about formalities"... "Traditional advice isn't relevant to casual, less hierarchical companies"
You are 100% wrong here. Those conversations don't sound "needless" if you have a "problem".
Here's some traditional advice that applies to ALL careers/jobs that you probably need to hear: "Nobody cares how much you know until they know how much you care." Maybe you sound arrogant/intimidating to others (technical or not), and/or like you don't give a crap about your coworkers (whether you do or not)?
Whatever the problem is, it sounds significant - and you'd better figure it out quickly for your career's sake. There's very little room for error if you don't have "communication skills", and you can forget moving up the chain at your current job without some major changes in how you may be operating.
I stopped reading after the first 2.5 sentences because as I programmer, I can see where this is going already and I like to be efficient. So - what you need to do is look yourself up in the employee database. If you don't have access with your user account, just use the root account - noone will mind. First make sure that all communication skills you have are listed, none are left unmentioned. Add missing ones - if you can think of any - to your entry in the database (and if necessary to the meta-table which describes all relevant skills). If all your communication skills are already listed, you'll need to learn some more and then add them. Maybe morse code - that's pretty easy to learn and always comes in handy. Speaking Klingon is always a popular choice too... My personal favourite when it comes to efficiency though is learning to speak backwards: You can easily learn that without even having to sacrifice any of your time by secretly recording yourself with your phone/headset while you're talking and listening to the reversed version of it played back to you, while the other person talks.
And that's already it - so simple. You should manage to figure the rest out on your own, just google "communication". ;) )
( Please don't forget to mark this topic as [solved], so other helpful people don't waste their time clicking on it!
Lets turn this whole thing around. Maybe your communication skills are just fine, but your manager has a completely different idea of what they should be.
A few years ago, my own supervisor attended some official "training" on how to be a good manager. He even got some sort of certification for it. After that is when he started to communicate in a much less "to the point" method. His questions would be rambling and without thought. Now, whenever he wants to ask me a technical question, he begins with "May I ask you a question?". EVERY. SINGLE. TIME.
It gets very annoying for someone who is technical, and has a lot of work to do. Don't even think of answering "No", because that just opens up a volley of MORE questions like "When do you think you will have time to answer my questions?". Along with this verbal rambling has come a complete inability to actually render decisions. It's like he is gathering information to make the most informed decision, but the decision never arrives.
There should be better training for managers who manage IT folks. Keep your questions brief, to the point, and think about what you want to ask before you ask it. Save time all around.
People don't really think with these concepts, and they especially don't use them to communicate.
My basic problem was that I was mostly invisible. Didn't contribute much during team meetings, preferred to work alone, although I was recognized as an expert in a lot of areas. So, to fix that, I started with something fun: a series of 5-minute "this is why it's done that way" slideshows about something obscure in the computing/IT/engineering field. I'm the "old man" in the group (I remember punched cards) and the younger guys don't necessarily know a lot of "how things came to be". For instance, why is RAM called "core"? What is the purpose of the "wheel" group in Unix and how did it get that name? Where did the terms "upload" and "download" come from?
From there, a coworker and I organized a series of 30-minute "tech talk" sessions about something that would help the rest of the group. I did the first one and encouraged everyone in the group to also do one. Topics ranged from "how to use ctags", to how to interpret the output of a snazzy new test tool. I got the exposure I needed and we all got practice in creating and giving short presentations in a "friendly" environment. I got communication *and* leadership points in my next review. YMMV, of course.
A number of things: First, you may have "exponentially" more conversations because your initial conversations are poor. Not only check if the person understands what you said but also anticipate their next questions. Second, things you might feel are obvious in your mind but not in the minds of others. Insure others understand the full and surrounding context of what your saying. Third, different people comprehend differently. Unfortunately you may need to have a variety of communication forms for different people. Fourth, communicate visually when possible since most people are visual learners. Learn to do simple diagrams using Paint to convey points in synopsis form (Visio tends to be to detailed). Fifth, learn to sing. If you're accent is a problem then singing popular songs helps your elocution. Sixth, be involved in group activities outside of work. People in sports, drama or music groups have better skills since they're around people more. Seventh, it is a problem you may never solve. Tech skills can be learned quickly but communication skills take a lifetime. Byte Magazine used to hire English college majors as writers since it was easier to teach writers tech skills than tech people writing skills. Worse yet, you may be open to outsourcing since Asia is full of billions of great math/tech folks who are one dimensional and cannot communicate.
I've hired dozens of developers over the years. I can teach a developer a language, or a development philosophy, or a set of APIs. There are only two things I cannot teach, and therefore should look for in new hires: 1) Communication skills 2) Work Ethic If a person has these two skills, I can teach them anything else they need to be a quality developer. People will tell you to over-communicate. It's good advice.
- Vincit qui patitur.
what can you do though? cancel his account? he can still post anonymously.
Are you sure "communication skills" means that you aren't socializing enough? Perhaps your emails are inadequate, you aren't keeping people informed, aren't discussing ideas with others or are not adequately explaining your ideas.
The fact that you only talk to people when you need some from them is a problem. What about brain storming? Design meetings? Code reviews?
Several times at my work, where I help with testing/QA (mostly I'm the IT guy, because apparently programmers suck at understanding and maintaining their computers and infrastructure---I guess they're more engineers than anything else, the "science" part of CompSci notwithstanding) I've had to pass on changes that one programmer is doing or projects they're working on to others who are overlapping or would benefit from some good ol' code reuse. There's really rather little communication between them outside of the bugtracker, and most of the time the cases they create for themselves are extremely terse, like
Title: Instance broken
Milestone: Next Possible
Comment: Will fix later.
So even in the one avenue of 'communication' that all of the programmers use, there's really nothing that anyone else can gleam (and you'd better believe they pay extremely little attention to cases not assigned to themselves). I've had multiple cases where programmers have "fixed" something they were annoyed with, and two of them talked about, but meanwhile a third was trying to fix a more legitimate bug and it was seriously aggravated by their fix. And then a tester noticed that "new" bug and it was created and assigned to a fourth programmer. Sigh.
Luckily my office is on the way to the break room, so it's easy for me to catch people and go "hey, are you working on that thing involving X? I hear Susan is working on Y which sounds to my lay ears like it might be related, maybe you two should compare notes." And honestly, sometimes I feel like that's the single most valuable job I do.
I remember sigs. Oh, a simpler time!
I'm not attempting to contradict anyone but there is something to be learned here about the whole dialectic of the young techie seeking advice & what is considered a 'helpful' response...
Look, Capt.DrumkenBum, I can't prove or disprove your statements about how good this book is...I will agree that it is true in the sense that **you** see these things in this book.
You admit as much...
That's fair...not criticizing...my point is that, in *most* situations like this, the 'advice seeking dialectic' people in your position do not usually have the honesty to admit that **their way** is the right way
It's just a damn book.
When people treat these texts as cure-alls for complex questions, and I especiially hate this, when they respond to a question by just saying "Read. This. Book. 'xxxxx'" it really is beyond patronizing and encourages a cycle of ignorance
**why is the book so relevant**
If it is so awesome, even a person with lower level language skills should be able to articulate **why** in general it is so beneficial.
My point is, seeking advice is very difficult because so often, esp in techie land, the people who have the knowledge want you to come by it through the same arduous method that they did, in order to validate themselves
"How to Win Friends and Influence People" is a standard-issue pop Psychology book. Comparatively, it is old and out of date. Daniel Goleman's "Working With Emotional Intelligence" would be much more informative and relevant..
However, i'm not disagreeing...b/c Capt.DrumkenBum is giving a very personal opinion...it's about a personal identity narrative and that has to be considered in **all** dialectics like this in all situations or bad ideas will perpetuate
To the question: I advise anyone to go to a big bookstore w/ coffee shop inside on a rainy day, go to the section with books on this topic, grab 5-6 and a cup of coffee and thumb through all of them
Thank you Dave Raggett
What they're really telling you is that you are being too independent at least to start. Its generally good to be self-motivated but its preventing them from forming an opinion on how well (or even possibly what) you're doing or how good you are.
Basically because you are new you have to train your managers to trust you. At least for your first few months, until you feel you have become a trusted "part of the family" you need to communicate regularly (about daily) with all the person(s) you directly report to. It doesn't have to be a half hour meeting, just a few seconds/words to keep them updated with what's the latest news/progress with what you're working on (i.e. how fast you're working), what issues you're facing (i.e. how insightful you are) and what your solutions and suggestions to those issues were/are (i.e. how clever you are).
You could send a small summary by email, but that is only barely better than nothing, as email is unidirectional, so in most cases you dont get any feedback. You need to determine what their concerns and priorities are in response to your summary. Managers often incorrectly assume you somehow already know what they do. Try and find something more bidirectional and remember most communication is non-verbal.
Spotting when they aren't busy and dropping by their desk in person is by far the best, however If you are working remotely, use video chat or phone over email.
Yes you really do have to be concerned about this interpersonal bullshit if you want to be effective.
Without more information, nobody is going to be able to give you solid advice. However, the particular impression I get from how you phrased your question leads me to believe that you do not truly grok an essential fact, that your job is more than programming and that you do not understand business.
The business types (and this can be a Lead Developer, Project Manager, etc) around you need to understand nuances in your code in order to communicate it to others, to document, and so forth. They also need to be kept informed, on a regular basis, on the timing of deliverables from you. This allows them to adjust business plans and manage expectations as well as shield you better from politics from others. Communicating with them regularly can turn them into allies against the forces of irrationality and business stupidity trying to dictate a bad implementation to you.
They also need to manage your output. You might think you know best, but software requirements can change midstream, or need to purposefully be inefficient and stupid because of a business or political reason. Politics goes all the way down to the developer and you will never escape this in any size company. All of these things apply in small companies, sometimes even moreso, because they need to be able to respond rapidly and business decisions are made faster.
To put it in mathematical terms, at least 20% of your job will be communicating things, if not more. I've seen many a freshly graduated collegiate developer come in and not understand that this is an essential part of their job. You can write perfect code, and if you don't communicate well, you are hindering the business and will likely be less valued as a result. You can also be an a difficult person to get along with and if you're putting out a good result in a timely fashion while still communicating well you will be valued.
I also suspect you're coming off as a bit more prickly than you intend. That bit about not holding your tongue... You know people will swallow a lot from a valuable person, appear friendly and professional on the outside, but walk away thinking you're a person they dislike interacting with. They won't mention you positively to others and they won't have as much respect for you. A lot of people would rather work with a mediocre developer than a guru who is rude. Company size doesn't matter. Formality is still relevant because its an interface people can use to not stomp each other's feelings in a situation where they have to work with each other. That should be a concern for you even if you are a robot without feelings. You still want to be paid well and not fired.
A lot of these notions apply even to other developers you work with because they do not have time to walk all your code all the time and they probably need to interact with it or express a desire that you keep some of their needs in mind when writing an interface. Being a good communicator can speed up the whole team. Also, they probably already know more than you so its an excellent opportunity to learn. Even if you suspect that they aren't your shoelace in general talent, they do know more than you, and you do need to soak up as much of that knowledge as possible.
Remember, your work product is a black box to almost everyone in the company and often to other developers. Do you like working with a black box whose documentation is terrible or nonexistant?
As to the notion of how to make communication work better for you as a developer? Context switches or general requests to communicate do make it much harder to recover your momentum when you get back on task. There are tried and true ways of limiting this pain. As you get the request to communicate, mentally remind yourself what you're doing and where you are. This allows you to "pop the stack" faster after you're done communicating. Also, look for periods of time when you're between subtasks and communicate little status reports to the right people which will definitely cut down on t
Try reading Tess Roeder's book. I recommend you give yourself a crash course in Project Management and give the PMBOK a read. These skills will help you communicate.
You also want to learn some problem-solving strategies. If your workplace doesn't use something like the Kepner-Tregoe Problem Solving and Decision Analysis method, they need to. It will establish a common language and methodology for approaching a problem. 100% of the problem isn't always you; in many organizations, communication has become comfortable but is still terribly poor. In those situations, when you try to intentionally improve you will make the problem worse because suddenly your communications skills will exceed the organization's; you must commit to also leading a communications improvement in the organization if this happens.
Support my political activism on Patreon.
My manager requires daily standup meetings for the team. That's how everyone tells everyone what they're working on...
I don't generally approach people in the break room and tell them about the legacy mess I'm currently unwinding.
When I started out, I would get dinged in reviews for "communication" on reviews. Eventually I realized that meant water cooler conversations, so I joined the Fantasy Football league, participate in March Madness, and am seen "communicating" with co-workers around the office. It also makes me seem more accessible to my co-workers, and so it has a practical benefit as well as on reviews.
I don't care about sports, but sports knowledge is not required for these games, and participation increases communication.
Note: In my experience technical-oriented (computer hardware, software, science, xkcd) conversations seem to be treated like work-related conversations, while non-work (sports, films, tv shows, outdoor hobbies) related conversations are treated as "communication", and personal (family, medical, religion, politics) related conversations are the antithesis of communication.
We meet up every week at . . . hmm . . . wait, it's been months now since the last meeting . . . this might explain some of the overly silo'd development going on . . .
I remember sigs. Oh, a simpler time!
http://dilbert.com/strips/comic/1996-01-12/
It may take you a decade or more to realize this, but in most organizations doesn't matter how hard you work or how good you are at coding -- the people who make real advancement fast are the schmoozers, those who spend most of the day talking to upper management, taking them out for beer and strippers, and the weekends doing something with the higher ups that they enjoy. Don't get me wrong, schmoozers still need intelligence and have some talents to really make it big, but 90% of the reason for their advancement is because they develop close social ties with people in power and those people in power promote them because all of us want to work with others who we feel a kinship with.
BTW, I'm one of those hard-workers who has done well only because a few times I've ran into those rare businesses who appreciate talent and hard work over schmoozing, but I'd be making at least 3x my salary if I had spent much more time schmoozing and much less time working and getting things done.
You'll lose LOTS of points if you use "it's" and "its" incorrectly in your written communications. This may sound silly but I have come across quite a few instances of people that ended up typecast in unenviable positions because of things like this. You can get away if you are a superstar in what you do but, if you are not - well, to many you will be little more than a semi-literate minion.
What kind of radical, pointless, managerial bullshit is THAT?!?!?!??!!
I remember sigs. Oh, a simpler time!
Mod parent up.
Reminds me of that old joke ...
Q. Why do we have two ears and one mouth?
A. Not so that we can only tell half as much as hear, but so we can listen twice as much as we talk.
sigh...
the trouble is, in my experience, that good coding is an art, not just a skill. unfortunately it has to be commercial, so we find ourselves surrounded by managers and other business skills, none of whom have what it takes to understand what we actually do. to solve that they avoid hiring the genuine coders, and instead collect team players, the sort of people they understand. the result is microsoft, and the health care system, etc.
i don't know how to solve your problem - i'm here to suggest that evaluating you is their job, not yours, only i have no idea how you would explain that to the suits. i get along well with machines of all kinds, because that is how my brain is wired, and i avoid social situations, because i know from painful experience how that story always ends. in some ways i have managed to get along on the strength of my obvious design and problem solving skills, but i ended up self employed, at best.
First off, don't come to a public website and post stuff about internal affairs at work.
Learn to respect the privacy of your fellow employees, no matter where they are on the chain of command.
If you're willing to flap your gums on slashdot I worry where else your lips may be loose.
Put a lid on it before you sink yourself.
Best thing I can say is be a good servant. The time you spend at work belongs to your employer, and it is up to them how you spend it.
Remember all people have value. Just for some the value is negative.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
"I'm not painfully introverted or socially inept, but I get lost in my work and only contact people if I need something from them or they ask me a question."
The people that get the best reviews are not the ones who work the hardest. They are the ones who impress their bosses and colleagues the most. That may sound a bit cynical, but it is the painful truth. Stop working so hard. Take a breath, look around, and relax a bit. If you are feeling swamped, then you need to set expectations better. Let everyone know that you are really busy, even if you are not. Try simple small talk, like "good morning," and "going to get some coffee, you want some." Treat your boss and people in authority with casual respect, that is, not stiff, but with deference. Take more breaks and run into more people. I learned a long time ago that in IT, perception is more important than results.
The only thing worse than a Democrat is a Republican.
Anyone who writes "Communication skills needs some work.", and nothing more, leaving you to resort to Slashdot, has no communication skills either. Feel free to ignore their feedback.
And when you get the chance to review that person, be sure to include "Analytical skills needs some work." That's the standard useless feedback for anyone in management you don't have anything incisive to say about. Use it liberally and anonymously.
Most engineers follow UDP protocol. Spewing a bunch of packets into the ether. In light traffic, this isn't a big problem. Plenty of bandwidth and sufficiently capable endpoints that they can reconstruct missing packets, or at least identify when they're missing something. However as traffic increases, packet loss can reach intolerable levels and communication breaks down entirely. If the engineer doesn't adjust to the network load, they can have an adverse effect on the entire network performance. In extreme cases the network admin (your boss) may need to remove the offending device from the network altogether.
They'd be better served to use TCP. Establish a connection. Send information in well defined packets. Confirm receipt. Re-transmit if necessary. Yes, it's slower and more overhead, but reliable information transfer is a must in a robust and useful network.
Oh, and always ACK with a smile :)
Rather than teaching programmers communications skills it is simpler to just teach romantic partners ASCII.
In an ideal world, maybe a worker would just be able to crank out code and never, ever poke their head out of the office.
But this is reality.
In reality-land, your #1 job is *always* communication, because the man/woman who doesn't communicate will be the first to go at layoff time.
You'll get a lot further in your career if you control expectations of your deliverables, then deliver what you said you would deliver (or hopefully, more) along with a good presentation/demo, and then remind them again of what you've delivered come performance review time. All of that means documenting your efforts.
I make it a habit to write out specific stories and draw low-res mockups of what software I intend to deliver before I deliver it. Then, I make sure that I can tell a story with my software, featuring named roles ("Mary is the supply chain manager, she wants to see which supplier is best at delivering nailguns"). I present it to my management and also provide a Camtasia recorded demonstration so that they can take it forward. Finally, I make sure that my own performance review notes include pointers to these demonstrations which I keep out on my internal blog page.
It's worked well enough that a lot of others in my department are following suit and has consistently ensured very good performance rankings year after year. You don't have to be the best presenter to do this either. You just need to be able to follow and read back your story.
Communication. The is how you word things, posture, presentation, clarity. For this, take some classes. Usually local community classes offer something, and since you manager says it needs work, I feel the company should pay for the class and give you time off.
Good communication is critical to your career, long term. While coders live in a meritocracy, business does not.
The other is keeping people informed of your project - This could be as simple as a blog you update every day.
The Kruger Dunning explains most post on
Not among those who are remotely numerate.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Why not go to your boss and ask HIM? Perhaps he can even pinpoint where you need communication and what you can do to enhance that.
I was (and am) constantly told that my communication needs some work.
One of the first steps in learning to be a better communicator was learning what type of person I was. The company I work for was kind enough to pay for a two day course together with other people.
These courses are helpful only if you are open and willing to learn.Very important (for me) was how I was perceived by others. What I thought was spontaneous, was perceived by others as impulsive. I learned to understand why some people reacted differently to others.
I learned how to react to different kinds of people and that has helped me greatly both professionally as in my personal life. I understand that for some people it is very important to talk at the coffee machine. Others are not interested in these type of things.
Ask your manager how you can be a better communicator. He knows what is lacking and if nothing else,it will help you explain why vim/emacs is the best. And not only defending you point of view, but convincing the other person and him/her defending YOUR point of view.
Some people need those 'needless conversations'. They are not useless to THEM.
Don't fight for your country, if your country does not fight for you.
Have you tried asking the person who told you your communication skills need work what they mean by that, and to give you some advice? Since they are the person who dinged you, they should be the first person you asked.
That you didn't mention whether you had asked or not says to me that you do have a lot of work to do on your communication skills; you wasted the time of many people here by not doing what you could have to narrow the problem space you're asking about.
Really? It'd only take 19 iterations to have Indian State Railways grind to a halt because all its employees were gossiping.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
If you have an office job "communication" consists of walking down the hallway to ask (or answer) a question instead of sending an e-mail. It means bumping into someone in the hallway and sharing a thorny problem you are working on (or even gloating on how you just came up with a clever solution.) If you have meetings, make sure you actively participate instead of fiddling with your laptop or phone. You spend time shooting (relevant) shit with your co-workers (and spend some time making small talk; that's important too.)
If you work remotely, it means much the same. Call people on the phone instead of doing everything via e-mail. Send out "FYI" notes if you find something the rest of your team should know. Cultivate a reputation as somebody who asks for advice when needed and is helpful in offering advice/education when requested. If you have regular meetings make sure you regularly get yourself on the agenda discussing something you are working on (either to ask for advice on how to solve a problem, or offering information on how you fixed it.) You can also sign yourself up to inform your teammates about things going on outside your team, like other projects, a new architecture coming down the wire, some new tool that's made your job easier, whatever.
If you don't interact with your team, you've rendered yourself into an utterly replaceable cog, that most certainly can (and probably will) be replaced in the future with somebody else who will offer to do the job cheaper.
That's from a famous play...
They find out hell isn't being burned up and tortured, you're just stuck in a room with the same people for thousands of years.
You know what's really sad about that?
It's only true if you're a jerk.
I spent a good part of my life being completely disinterested in others unless I saw something of value in them. What it was that changed it for me I'm not sure, but I started to see value in everyone, I started to care what they thought and felt.
You don't have to fake it, I can say to myself "I'm not terribly interested in that, but it's important to you and you're important to me, so tell me why you enjoy it". It turns out a lot of "stupid" things are actually kind of cool. Maybe I decided one day I wanted to make people feel better when they were around me instead of worse. Maybe I just grew up.
If you're jaded and angry at the world, don't take it out on the people around you. Don't say "I'm having a bad day" because after so many of those, it's just who you are.
I have a lot more friends now, some of whom I would have considered useless idiots in the past. They're actually really cool people once you get to know them. But first you have to get to know them.
Cwm, fjord-bank glyphs vext quiz
I've never had someone "with different background and views" get upset when I've asked them how they're doing, or complimented them, or asked them for suggestions or ...
If you converse rather than proselytize I don't think you'll run into too many problems.
Ps - it's funny how the word "atheist" has been co-opted. The prefix "a" means "not applicable", or "not concerned with". Someone who is actually a-theitical is someone who is not interested in theology. The word has become most often used as a disguise by people who are very much interested, who are anti-God. If they described were honest enough to use accurate wording for their cause, the Atheist League would be called the Antichrist League. I wonder why they aren't honest, why they lie by labeling themselves as people not interested in the topic.
A thing that actually worked in our environment for a while was setting up a lounge with an XBox and "Rock Band" in it.
Very different people ended up playing together, at lunch time. There'd be offhand comments about what we did, and connections got made that remained useful for ages.
(Alas, new management thought it frivolous and discouraged this, and as a result, communications has been breaking down...)
Almost, but not quite.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Luckily, the extinction mechanism is strong.
Just go to lunch once or twice a week and have a nice social time with your co-workers and mangers.
Best way to learn to speak better is Toastmasters www.toastmasters.org
Learn to give speeches and you will learn to communicate better in all aspects of your business and personal life. Earn the "Competent Communicator" award and your boss will not be able to use that line on you anymore.
What's so special about "communication skills" that you can't teach them but you can teach anything else?
Maybe it is not you that are the problem.
Perhaps you need to work on your argumentation skills to fend of people who are trying to take advantage of you, because they can.
Maybe it will take a few jobs for you to figure out. Just believe in yourself, keep the faith and do the right things.
all these years, all those posts, it was you
User ID: 3394245
This account is like 3 days old.
Apparently wizard is not a legitimate career path, so I chose programmer instead.
I used to get this feedback occasionally at my old job. After disagreeing a number of times (I have a minor in Interpersonal Communications), I eventually just started accepting the feedback graciously and not really doing anything differently (thank you, minor in Interpersonal Communications). Since moving on to a different employer, I've been told my communication skills are above average.
There's a number of other comments with good feedback, but if you really are interested in improving your employer evaluations make sure to focus on perception. If you're routinely receptive to feedback then eventually others will be more open with you, and in turn you'll be able to identify what the real (or imagined) problems actually are.
> > Understand the people you're working with, what they need, and provide that.
> Worrying about what people think ... then you are still going through puberty and all the pubescent insecurity that entails.
I've said things like that before. Every so often, I have to remind myself of the following:
If your customers think you suck, you do indeed suck. You may have provided them with a wonderful solution to problem X, but since you didn't listen and ask questions you didn't know their problem was Y. For the problem at hand, your solution sucks, and your poor communication caused it.
If you don't "worry about what people think" when it comes to your boss, you'll not know she thinks it's critically important that your application is very easy to use because the old farts in the C suite will be the primary users. Lack of communication = suck, for the purpose at hand.
If the people report to you think you suck, they'll leave, after having no interest in getting your projects done and probably bad mouthing you (accurately). Again, the results suck because you're only interested in what you think.
Being interested in what other people think, need, and want is the first requirement for a successful project. Not paying due attention to what other people think makes you an arrogant asshole.
The more you communicate to your superiors before the meetings, the less time spent in meetings, too.
One way to achieve this is to make sure every time you commit code that you check it in against a ticket. If there isn't a ticket to check it in against, create one, and then check it in against the newly created ticket. This gives you transparency and accountability. Both of which managers love. This can all be achieved with various ticketing systems, but the one I find that is integrated with a versioning system quite well is Trac. It integrates well with subversion, git, and mercurial.
Just keep in mind that not all communication is necessarily verbal.
Hammer Software http://hammersoftware.ca/ Good service, Creative solutions - Hamilton, ON
This account is like 3 days old.
And of course, this assumes that it's the actual "TempleOS" guy behind the account, and not just a troll who'd been pretending in order to pull something like this.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
But his communication style is "funny"! And who doesn't want to be "funny"?
I find some people that are extremely talented in Linux, network systems, protocols, etc. seem to have excellent communication skills (they're not typical nerdy) but when I ask questions in some of these topics, they kind of look at me funny and stumble on answering questions. I'm by no means an expert in these subjects so I cannot formulate my question in correct context (if I could, I would already know the answer!). Or when they do answer the question(s), I get a long dissertation complete with the car analogy, the hardware store analogy, etc.
mfwright@batnet.com
> Why should I change who I am just so I'm "acceptable" or "normal" to other people. I like me.
Do you still poop your diaper? If not, you've made changes, switched to something more effective than what you had been doing.
If the supervisor brought it up on a performance review the onus bloody well is on him to be more specific.
Also, describing the problem and identifying the solution are two separate steps. If a doctor asks you where it hurts that's not requesting you to give a diagnosis or suggest a treatment.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
From your description, you're doing exactly what a programmer is supposed to do. If your colleagues think it's a good idea to interrupt your work so they can be kept abreast, you should introduce them to source control, issue trackers, and the daily scrum. Either that, or start looking for a better employer.
It's a bitch when the real world collides with the virtual...
Right, but add this:
Listening does NOT mean sitting there thinking about what you're going to say next while someone else is talking.
Listening means you focus on what they're saying, think after they stop, then reply.
And if being interrupted is a problem, just put your hand up in a stop sign and politely, "Please don't interrupt; I let you finish."
"Poor Communication Skills" means developer (#1) does not inform management when s/he will miss deadlines or (#2) does not ask for help when bogged down. I know developers fired for both of these reasons and always, the developer is characterized as having "poor communication skills".
First of all, it is important to get along with your coworkers.
Beyond that, though, maybe your boss needs to watch this TED talk:
http://www.ted.com/talks/susan_cain_the_power_of_introverts.html
Learn to write a clear, concise one-page business memo. Cover one subject clearly. Send it as an email only to the people who really need to know. Chat systems are too ephemeral.
For style guidance, read Churchill's memos from WWII. You don't have to be that good, but try.
Say Hi to people in the hall. Keep your eyes on others not on the ground in front of you.
Say "Hi I'm so-and-so" to the people in the cubes or offices next to yours if you haven't already met them.
VERY IMPORTANT: In conversations be sure to say clearly what you mean without making assumptions that people know what you're talking about. "If we fix that thing it will cause the fallout on the subroutine and that will cause the io to slow" Isn't very helpful because people have to know what "thing" "subroutine" and "io" you're talking about. Use complete names for whatever you talk about (this applies to your code as well). If this is difficult, try pretending you're talking to people who have trouble with English and force you to say everything plainly. I recently worked for a team of mostly foreigners and I'm now working with mostly Americans. It was so much easier to understand the foreigners because they had to say things clearly and forced me to do the same. The Americans who are "in the know" bounce stuff around with everyone else in the meeting remaining clueless.
I often don't like the choices people make, but I like the fact that people make choices. That's why I'm a conservative.
Use whiteboards to explain things. Don't be afraid to draw pictures. Don't be afraid to give a little background when answering questions or explaining things. Instead of saying "My program gets stuck in this loop" say "I'm working on some code to ...., we need this because we're doing .... This loop here is supposed to .... but it keeps getting stuck."
I often don't like the choices people make, but I like the fact that people make choices. That's why I'm a conservative.
If they can't understand you, the problem is on their end. Grunting and guarded looks is what I usually use.
Serious advice, some has been mentioned already:
Knowing audience, technical VS non-technical.
Context. What are they using your communication for?
Brevity and succinctness.
Have struggled with the last myself at times. I am a details person, and I find the devil's usually in the details. I usually want them to understand it fully before making a reasoned decision etc...
However half the time they don't really care, they have a decision they want to justify, and details only really get in the way.
As said, audience, and context. Also in the above example, plausible deniability (if you don't tell me the details, I can make the decision I want to make, and then not have to lie about not knowing about something, sometimes you get a catch 22. Watch your ass, you see plenty of tech stories in the news about some improper IT person. I wonder how many times that is just staff getting thrown under the bus by management.
Golf is the sport of business. I've meet more people outside my range, CEO's, Presidents, VP's, etc. because I'm a good golfer. It's about getting face time with them and becoming comfortable speaking with them. The more you do it the better you become. They also start to see you as a 'real' person and not one of the 'computer guys'.
Just try to keep the exponent to a single digit.
Write it down. Just keep a list of what you do, what questions you have, info/advice you can offer others, then email it or speak it when the time is right. It's hard to remember things that don't seem very important, so log them and let the machine remember them for you.
You have those exponentially needless conversations.
While to you they seem needless to others they are needed.
I tend to agree with you on the needless part. It's much easier for my shop to shoot a one line email back and forth than it is to pick up the phone and dial their extension. Should we dial the extension of the other party that puts 2 of us tied up that could field an incoming call, not to mention we tend to do multiple things at once and when talking and listening it makes concentration on multiple other tasks that much more difficult.
I say buck up and just roll with it.
I am Bennett Haselton! I am Bennett Haselton!
So the bottom line is you are being paid to perform a certain function. That function is designed to add value to the organization you work for.
Over the years I've learned the importance of being able to translate from Geek to Suit. The best way to do this is:
1) understand that the organization strategy in how they want to use technology to grow the business
2) understand how your piece fits into this
When talking with the specific individuals:
1) understand how their role fits into the whole
2) understand what is important to their success
3) communicate in this context.
On the actual communication:
1) make sure your suggestions can align to the various strategies
2) focus the discussion on topics like 'reducing risk', 'improving customer experience,' or 'improving processes to reduce costs.'
Yes these are dorky business concepts, but ultimately the business is run by people who think in these terms. Learn their language and you'll find promotions, responsibility and heading your way. Execs are always on the hunt for people who 'get the big picture.' The best way to stand out from the herd is to do this.
Basically the 'suits' in your business are always looking for technical people who understand 'the big picture.' Once you have a good grasp on the overall strategy, you'll find that some of the asinine things that are going on make more sense and you'll be less frustrated.
Remember,
"Omnis tuus capsa sunt inesse nos"
You do want to express yourself, don't you?
When does this happen in the movie?
> That said, could you please explain why the Atheist League should be called the Antichrist league,
> as opposed to the Anti-Kali, Anti-Mohammedan, or Anti-Pastafarian league?
> Sure, there are tons of different sects that profess the divinity of Christ - Catholics, Eastern Orthodox, Protestants, Mormons, members of the Unification Church, etc...
Because they LIKE the whole Pastafarian thing, they are PRO-pastafarian. :)
Seriously, though, you're right, anti-theist is more technically accurate, and I considered using that word.
However, on a practical level, the organizations I'm talking about spend their time being anti-Christian. You don't see "atheist" vs Hindu court cases in the news all the time. Recognizing that fact, antichrist is accurate for practical purposes and using the familiar term brings another level of frankness to the discussion. Whereas misusing the word "atheist" disguises their agenda, the word "antichrist" is the opposite - it puts their agenda it bold letters. So "antitheist" for technical accuracy, "atheist" for disguise, and "antichrist" to say it loud and proud.
> As soon as that line is crossed, I become, indeed, an anti-theist.
I appreciate your frankness. It's far more useful and interesting to have a conversation with someone who is clear about their beliefs and acknowledges them than someone who tries to wear a mask. So often we see, for example, people vehemently denying that they are socialists while they're quoting Trotsky.
> d. "This man has to die because he is an asshole" is a valid argument, "This man has to die because my Holy Book says the penalty for what he's done is death" is not.
How does this logic work for you:
The ancient wisdom says murder is a bad idea. The truth of that has become apparent.
The same ancient wisdom says cheating on your wife is a bad idea. The truth of that has become apparent.
The ancient wisdom says to reserve one day for rest and for family is a good idea. The truth of that has become apparent.
The same ancient wisdom says treating your parents with respect is a good idea. The truth of that has become apparent.
The same ancient wisdom says stealing is a bad idea. The truth of that has become apparent.
The same ancient wisdom says perjury is a bad idea. The truth of that has become apparent.
The same ancient wisdom says envy is a bad idea. Given the above, this one just might be true as well.
Whether or not that's CORRECT, it's certainly a more LOGICAL argument than "he's an asshole, so he should die", to use your example.
You listed off a bunch of different religions and denominations who have slightly different viewpoints around the central theme of a certain phenomenon. I have no doubt that each of them has come to some mistaken conclusions. Some of them have completely missed the point (Falwell?). It is interesting, though, that around the world they all put this phenomenon they call "God" or "Allah" at the center.
Much of what they say sounds like it's describing the same phenomenon I've directly experienced on more than one occasion. It reminds me of what might happen if you went around asking kindergartners to explain the common cold - what causes a cold, what the effects are, and the mechanism around the those effects. They'd come up with many entertaining explanations I'm sure. I bet many of them would include anthropomorphized "bugs". Most of them have experienced a cold, but they don't understand it. I suspect that the world's religions are full of people trying in vain to explain something many of them have experienced, but don't understand. They anthropomorphize what they don't understand in the same way that office workers do their computer, speaking, and thinking, as if the computer "wants" something because they have no understanding of the internal workings.
> The Greek word transliterated as atheos means "without a god"
without God, lacking God. As opposed to "fighting against God". Which is precisely what I had said.
See also "immoral" versus amoral.
immoral: opposite to moral
amoral: without reference to morality.
In English, privative a is most often cognate to "un", through German.
Had the greek come to us via the normal route, we'd write the same word as "un-theist".
athiest == untheist == ungod != antigod
"Atheist" groups used the word to describe what is in fact _against_ God, not merely _lacking_ God.
Antitheist would be a far more accurate word for those groups.
"As a new developer at a young-ish software company, I've been told my communication skills need some work. I'm not painfully introverted or socially inept, but I get lost in my work and only contact people if I need something from them or they ask me a question. "
This is what you are supposed to be doing as a programmer --- working. You need to get "lost" in your work; you need an uninterrupted stream of thought to reach any reasonable level of effectiveness as a programmer.
Disturbing other developers when you don't really need something from them, or to ask a question is another bad thing.
Ocassionally as a developer, about 5 or 10% of the time: you do need to communicate with people in order for the team to successfully collaborate, and be working on the right thing.
But during most of the day; programmers absolutely require privacy and uninterrupted concentration on the programming task to be effective -- and frequent communication is mutually exclusive.
If you want to communicate often; then go into customer service, management, or project leadership, and not programming.
Think about it, someone who does have good communication skills, is telling you, you need to get better communication skills, and you're telling us, you don't need to pull your punches.
Sounds like you misunderstood, because he/she was not communicating as you do.
This is hard, you need to stop being a jerk but you probably do not realize what makes you a jerk in the first place.
you probably judge people too hard. so you should probably look into learning how to make value neutral statements. That is, learn to be direct about what you mean.
Most people I've met with communication problems are either very direct about how they feel or repress what they feel as if it had no value. But neither of these talks about the work at hand, they tend to conflate their feelings with their talking points and tend to say things like, "you suck" and stop there, when they should say, "that doesn't work and here's why and here's how to fix it"
While you learn these skills don't second guess yourself either, just watch if what you are saying gets you anywhere.
I'm always right, except when i'm not.
without God, lacking God. As opposed to "fighting against God". Which is precisely what I had said.
Perhaps you should look up how the word was originally used historically. Words are not mathematical equations in which prefix A plus root B equals meaning C. The word has had the same meaning for thousands of years, and that never meaning has never been what you are trying to claim it as. The only person "co-opting" it is you.
Ask your manager who he/she thinks communicates particularly well. Study them - giving them warning so as not to get taken as a stalker! At the very least, you'll have an idea of what this particular manager likes. At best, you'll have a model of a skillful communicator.
"Traditional advice isn't relevant to casual, less hierarchical companies — I don't have to hold my tongue when someone is wrong or worry about formalities"
This is incorrect, and likely the source of your issues.
People are people, irrelevant of the existence of an externally enforced hierarchy, one exists and it's likely that your attitude is jarring, because you're ignoring Ego and position. There is _always_ a hierarchy in human relationships, even within partnerships. If you don't take effort to understand the relationships and respect others by not pointing out when they are wrong in front of their peers, you will always struggle to communicate, because people will hate talking to you (for fear of being wrong in front of you).
The problem might be that you see others ragging on people for mistakes made, and think therefore it's ok for all to do it. But it's never that simple, and until you get away from thinking that everyone else's advice on how to communicate and interact within a business is wrong, and realise that this hard won understanding is built on the experience of millions of people in millions of different companies, you will continue to butt heads and be labeled a poor communicator.
Finally: remember the golden rule, it's all you need.
While I would be much happier dealing with people electronically (or, better still, not at all), the fact of the matter is that we do need to interact with other people and generally this is more effective when done person-to-person.
Take the time to cultivate personal interaction skills. If it helps, think of it as a part of the skillset for user-interface development.
While it might not be 100% applicable to your situation, consider joining Toastmasters. Their training is excellent for developing interpersonal skills.
Focusing of communication skills is the first step of your journey to the dark side of the force. You will quickly notice that your organization rewards you better for talking than for actually doing things, and the improving communication skills is more important that doing real work done.
Therefore you will do less and less work, and communicate better and better. One day you will get promoted manager, and you instead of focusing on what engineers do, you will tell them to focus on communication skills.
That depends if you are working for a REAL software company, or one of the many fake software companies out there. Real ones have PR folks to communicate with people outside the company ...
Thirteen hours ago you said it means "without god". That's what you said. You said that meaning has been the same for thousands of years. Now, you seem to have changed your mind. Time flies.
It could be as simple as going to lunch with a small group of your peers. A little fun, a little shop talk...kind of an "ice breaking" without going too crazy. As someone mentioned earlier, if you're headed to get coffee/soda/water/whatever, ask if you can grab them something while you're up.
For a reference point, i would recommend researching NLP or NeuroLinguisticProgramming. An Adage i have adopted is that if it works in one thing, it works in everything, or it does not work. How that can relate to your personal interactions, if to find a relative example, be it baking a cake, dissassembly of an engine, or how how the internals of your HDD resemble information/music being recorded and/or played on a record player. The trick to communication is 2fold. you have to share an experience for familiarity/trust and you have to present in a manner that can be translated. intro/extro we are all verts and by utilizing the skills we are already more than proficient at, we can display groking of anyevery other thing.
I had learned most things from people in other disciplines. Many of their insights and knowledge was very useful to me. I use to share my thoughts with them and some of them really appreciate. Daily contact of about 10 -15 minutes during coffee break or lunch creates friendship and you learn to change your attitude over a period of time. Interaction also psychologically make you happy. When opportunites are present, you will know them. Professional and office networking and sharing your fears and success make you a valuable employee. This also enables your married life to be fruitful. Just to say " I am a technical guy, I have not time for chit chat" is an arrogant attitude and you will be always lonely in life. Even when you die, no one will notice that you are not there any more, becuase you never existed at all. When you graduate from high school if you did not have at least two good freinds with whom you communicate rest of your life, you have no value as a human being. To communicate means to be part of society and office.
Six months into my current job, I came across the company's Company Core Values document which we were to use for performance evaluations. In that document, was the line: "All employees must divulge what goes on in their personal lives." Shortly after mentioning it to a colleague (I basically said "WTF ?!"), the line was quietly removed from the document. When I mentioned line to management, they denied the line ever existed.
Now, to the point of my post. :-)
I've run into this problem as well. I'm introverted and really focus on my work, yet I'm usually surrounded by extroverts who need lots of interaction. The solution that has worked best for me has been to interact with others on an as-need basis when performing a task, and then socialize when taking breaks. That solution assumes you don't need to interact much with others while performing your tasks.
If you need to interact with others a lot while performing a task, and you're introverted, then you, like me, are screwed, because you need to socialize during breaks, but as an introvert, you need time to yourself to recharge your batteries. I don't have a solution for that, other than not to socialize on all your breaks.
Since it sounds like you're an introvert and your colleagues are extroverts, I recommend you read The Introvert Advantage by Marti Olsen Laney. It tells how introverts can cope in extroverted environments at work, at school, in romantic relationships, within the family, etc. It really helped me.
You could fill that TSP report by Monday. That would be nice.
How do you keep colleagues abreast of your work without having exponentially many needless conversations?"
Simple. Keep the number of conversations at O(N).
Learn to write by studying the writing of people who do it for a living: novelists, journalists, etc. Do this by reading books about writing, and by learning to read with a critical eye. Then read lots of novels, short-stories and essays, favoring those vetted by time and peers.
"The wisdom of the Patriarchs was that they *knew* they were fools." --Master Foo
That's RAAAASCIST!
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
If for some reason the corp can not promote/raise your salary, but from technical perspective your performance is stellar - this is the most frequent explanation that is put into review.
You need to read this: http://www.rhyous.com/2013/11/13/how-a-software-developer-can-learn-communication/
Sorry about the link, I tried to post the stuff from this link here, but Slashdot gave a comment compression error, so I was forced to put it on my blog.
Give your higher up pretty pictures they can understand and all will be well. Trust me.
Einstein was a patent clerk when he came up with his great theory on special relativity, through his thought experiments. Would finish his work in the morning, and spend the afternoon thinking of his ideas. What you need is people who understand what you do and what you contribute and give you the space to do it. You also need to give yourself the time and space to communicate with others, because no man is an island all the time, and even Einstein worked closely with two other people in his later years. Have you heard of the Einstein-Maxwell equations? If what they are saying is true, given your work environment, then you need to set more time aside for communicating with people. I say this not as a compromise but as a way that you might further your career, because I have been where you are.
As a new developer at a young-ish software company, I've been told my communication skills need some work.
Is your manager telling you that your communication skills need work, or is it your co-workers?
If it's your manager, then part of his/her job is to help you improve; he/she needs to suggest how you can improve your communications skills.
If it's not your manager, then talk to (communicate with) your manager, tell them you're concerned that your communication skills may need some work and ask them for suggestions. It's part of their job to help you improve, so they should have no problem offering advice.
If your manager isn't willing to offer any help, then think about looking for a new job and moving on.
timothy,
People talk, or as they say they communicate. The more their position revolves about communications like management, the more they communicate. About 75% of communications is just hot air.
I have about 15 years of IT experience working more on consulting side with mostly fortune 500 companies, and I have also done some business with smaller companies. What comes off a smaller company is something I ignore. They have small business politics, small business personalities, their corporate culture is not yet established, well basically you have to pray with the of the employees to some god that you don't worship just because it's christmass time. I have been let go from a small company for not celebrating Christmas.
Now if it comes to my attention that my communication skills lack something with in a context of a fortune 500 company, I will take into consideration, but if some small unestablished company gives me lip that I don't articulate something, I am not going to worry about it.
Basically I have the experience to tell if a claim to my communication skills lacking is reasonable, because the context of a small company lacks teh reputation as an employer to be taken that seriously.
IMO, Communication skills = https://en.m.wikipedia.org/wiki/ASPD
Casteism
Always go to lunch with coworkers, and chat with them about... anything, or just hang out while they chat if you can join a group doing so. If they want to talk work, ask them what they're working on; if something in what they say is actually interesting to you, ask 'em about it. If they don't want to talk work, where do they live? Where did they go to school? What do they think of both? What did they do this week? Ideally, they want to talk work at least part of the time, as that's likely more useful. :-)
At lunch, if you find yourself talking more than a fair share, work on talking less. If you find yourself talking not at all, work on talking slightly more.
...is the same as Gandhi's when asked about Western civilization.
He said he though it would be a very good idea.