职场沟通技巧:掌握坚定沟通,更自信地表达观点

本文系统阐述坚定沟通的定义、与被动/攻击性沟通的本质区别,以及3C原则(清晰、自信、自控)。重点介绍提升沟通自信的五大实用技巧:明确表达前的自我梳理、使用‘我’句式减少指责、优化肢体语言传递可信度、结合情商选择时机与方式、兼顾表达与倾听。内容强调其在减少误解、增强心理安全感、促进协作中的作用,并指出性别偏见对女性坚定表达的实际影响。

开会时,一位团队成员提出了一个让你心存疑虑的想法。你似乎只有两个选择:说出自己的担忧,或者保持沉默。

两种选择各有代价。如果保持沉默,团队可能会采纳一个尚不成熟、甚至存在错误的建议;如果提出异议,又可能引起不满、伤害对方的感情,甚至让人觉得你过于苛刻、喜欢挑刺。

其实,你还有一种更有建设性的选择:坚定沟通。它能帮助你清楚地表达自己的想法,同时尊重他人的观点和感受。下面将结合职场场景,介绍坚定沟通的含义、三个核心要素,以及五个提升沟通自信的实用技巧。

什么是坚定沟通?

坚定沟通,是指直接、清楚地表达自己的想法、感受和意见,同时尊重他人。

采用这种方式时,你会明确表达自己的意思,让对方了解你的立场;也会保持礼貌,顾及对方的感受,为不同意见留出空间。

被动沟通、坚定沟通与攻击性沟通有什么区别?

坚定沟通介于被动沟通与攻击性沟通之间。下面这个例子,可以帮助你理解三者的区别。

假设一位团队成员没有按时完成重要报告中由其负责的部分:

沟通方式示例被动沟通“你来得及完成你负责的那部分吗?如果来不及,也没关系,我再想办法。”坚定沟通“我注意到你负责的那部分报告还没有提交。我有些担心,因为我们需要在周四的会议前完成整份报告,并交给管理团队。你能确认一下具体什么时候可以完成吗?”攻击性沟通“你没按时交报告,拖慢了整个项目。你总是这样,简直让人无法接受。”

坚定沟通不会像被动沟通那样回避问题。它清楚地说明发生了什么、自己有什么感受,以及希望对方做什么;同时,也不会像攻击性沟通那样指责对方或激化矛盾。

当然,这并不意味着坚定沟通在所有情况下都是最佳选择。沟通需要考虑具体情境,也需要顾及个人差异。面对不同的人和事,我们仍然需要灵活调整表达方式。

坚定沟通的3C原则:清晰、自信、自控

坚定沟通听起来简单,真正做起来却未必容易。以下三个要素,也就是“3C”,可以帮助你把握要领:

  • 清晰(Clear): 直接说出你的想法和感受,不含糊其辞,也不刻意淡化问题。

  • 自信(Confident): 相信自己有权表达观点,并以笃定的态度传达信息。

  • 自控(Controlled): 管理好自己的情绪,即使话题棘手,也尽量保持冷静。

坚定沟通有哪些好处?

如果你一直习惯退让、沉默,或对问题“睁一只眼闭一只眼”,转向坚定沟通可能需要一番努力。但这种改变能带来多方面的益处。

鼓励坦诚交流,增强心理安全感。 当你能够坦然表达自己的感受,不因提出不同意见而感到羞愧,也不为表达合理需求而一再道歉时,就有助于营造开放的团队氛围。其他人也会更愿意分享想法,展开有建设性的讨论。

更有效地解决冲突。 直接表达不一定会加剧冲突。当每个人都把问题和需求说清楚时,团队反而更容易找到分歧的根源,并着手解决。

增强自信与自尊。 海外某医疗机构指出,学习坚定地表达自己,有助于增强自信和自尊。

减少误解。 清楚地表达立场和感受,可以减少猜测与误会,也有助于在矛盾形成之前化解问题。

明确边界与期望。 原文援引的一项调查显示,58%的受访者承认,自己很难对别人说“不”。坚定沟通要求你体谅他人,也要求你坦诚说明自己的需求、能力和界限。

在项目协作中,还可以把沟通达成的共识落实到具体任务里。例如,使用 Worktile 这样的项目协作系统,将商定的分工和时间安排记录在任务、项目及相关文档中,方便成员查阅和跟进。对于前面提到的报告延期问题,谈话结束后记录新的交付安排,就能让双方对下一步有清楚的预期。

当团队成员都能更清楚地表达自己,也更认真地理解彼此时,协作就会更加顺畅。

是自信,还是咄咄逼人?性别偏见如何影响职场沟通

更自信地表达自己,似乎有助于每个人的职业发展。然而,女性在这方面往往面临额外的阻碍。

职场中的性别偏见,会影响人们如何评价同样直接的表达方式。原文援引的研究显示:

  • 女性收到“沟通方式具有攻击性”这类反馈的数量,是男性的2.5倍。

  • 女性因表现出“支配性行为”而受到负面评价或惩罚的可能性,显著高于男性。

因此,女性担心直接、简洁的表达会影响自己的声誉,或限制职业发展机会,是可以理解的。这也在一定程度上解释了为什么一些研究发现,女性更倾向于在职场中采用较为温和的表达方式。

如果你希望以领导者的身份推动坚定沟通,就需要让所有员工都能安心表达意见,无论其性别认同如何。除了以身作则,也要留意团队是否用不同的标准评价不同员工的表达方式。

如何提升沟通自信?五个实用技巧

以下五个技巧,可以帮助你坦诚表达,同时避免显得专横或咄咄逼人。

1. 先想清楚自己要说什么

清楚地表达观点,首先需要你清楚自己的观点。这听起来理所当然,却常常被忽略。

一位作者在海外某科普刊物中指出,人们有时从一开始就没有把话说清楚:他们遗漏了重要的背景和语境,而这些信息会直接影响听者对话语的理解。因此,即使对方愿意认真倾听,也未必能获得理解这番话所需的全部信息。

坚定沟通并不意味着想到什么就立刻说什么。必要时,你可以给自己一点思考的时间,例如说:“我想先理一理思路,再分享我的看法。”

然后问自己三个问题:

  • 我现在有什么感受?

  • 我为什么会有这种感受?

  • 我希望接下来发生什么?

弄清这些问题,可以帮助你更好地理解自己的反应,并作出清晰、直接的表达。

2. 用“我”来表达感受和立场

回看前面攻击性沟通的例子,你会发现,矛头始终指向对方:“你没按时交报告”“你拖慢了整个项目”“你总是这样”。

在反馈中反复使用这类“你”开头的句子,容易让对方感到被指责,进而产生防御心理。

以“我”为主语表达,则能帮助你说明自己的感受和立场,也承认对方可能有不同的理解和看法。

比较下面两种表达:

攻击性表达:

“就因为几个用户抱怨,你就觉得我们应该把整个功能推倒重来?你显然对我们的方向没有信心,这正在拖累团队。”

坚定表达:

“我担心,仅凭目前收到的几条用户投诉,就对整个功能做大幅调整,依据还不够充分。我对目前的方向有信心,也担心现在做出重大改变会影响团队的进度。”

关键不仅是把“你”换成“我”,而是从评价对方转向说明自己的观察、感受和顾虑。

对于这类产品研发中的分歧,表达顾虑之后,还需要一起查看事实。研发团队可以借助 PingCode 这样的研发管理工具,将客户反馈、需求评审和开发安排衔接起来,让讨论有具体信息可供参考:用户遇到了什么问题、哪些需求需要优先处理、调整会影响哪些开发计划。这样更容易把不同意见转化为可以共同评估的问题。

3. 留意你的肢体语言

在面对面交流或视频通话中,除了说什么,也要注意自己如何表达。

人们会通过眼神、姿态和表情判断你的态度与感受。这些非语言信号,会影响对方如何理解你的话。

你可以从两点入手:

  • 保持自然的眼神交流。 看着对方,并适时移开视线,让对方感受到你的专注,同时避免持续盯视带来的压力。

  • 保持舒展、端正的姿态。 坐稳或站稳,避免过度蜷缩、低头,让自己以从容的状态参与交流。

这些细微的调整,有助于传达专注和自信,让你的表达更容易被理解。

4. 运用情商,顾及对方的处境

坚定沟通并不意味着毫无顾忌地说出自己的意见。对他人的尊重与体谅,是它区别于攻击性沟通的关键。

要把观点表达清楚,又让对方愿意听下去,可以从以下几方面着手。

选择合适的时间和场合。 如果需要提出敏感的反馈,或讨论涉及个人表现的问题,通常适合私下交流。如果某个观点需要团队共同判断,则可以在会议中围绕观点本身提出疑问。

确认对方是否方便展开讨论。 例如:“你现在方便听听我的反馈吗?”沟通是双向的。除了组织好自己的表达,也要考虑对方是否有时间和精力接收信息。人的情绪状态会影响理解和判断,即使讨论的内容与这种情绪并无直接关系。

了解彼此的沟通偏好。 每个人的习惯不同。团队可以共同编写一份“个人协作说明”,介绍各自偏好的沟通方式、反馈形式和工作习惯,帮助成员在互动中更好地理解彼此。

5. 说出观点,也认真倾听

如果你只顾表达自己的想法,却不考虑他人的意见和感受,坚定沟通很容易变成咄咄逼人的单向输出。

有效的沟通,需要每个人都有表达和被理解的机会。你可以坦然说出自己的立场;当别人回应、提出疑问或表示不同意时,也请认真听完,避免急着辩解或轻率否定。

倾听并不要求你放弃自己的观点。它能帮助你了解对方的依据和需求,从而决定是补充说明、调整看法,还是继续坚持立场。

从日常小事开始,练习坚定沟通

沟通是一件复杂的事,没有一种方式能够适用于所有人和所有情境。但在许多情况下,坚定沟通既能帮助你清楚地表达观点,也能维护你与团队成员之间的关系。

如果一下子改变表达习惯让你感到不自在,不妨从风险较低的小事开始:说出一个偏好,提出一个疑问,或明确一项合理的需求。练习把话说清楚,以自信、冷静的态度表达,并给对方回应的空间。

随着练习,你会逐渐学会坦然表达自己的想法,同时顾及他人的感受,让沟通更好地促进理解与合作。

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值