注:这是一篇写于2008年底的文章。
12 月 12 日(2008年,后注),我参加了一次薪酬谈判,中了对方的飞刀,搞得非常狼狈,最后不得已坚持拖字决,才算没有全城尽陷。特写这篇“教训”以记之,一则警醒自己,二则希望能够帮助他人。
起因因为以前呆的公司很大,在华南也算一方豪强,其中人才不少,自然有许多人跑出来创业。之前我呆的公司也是这样的一个由前同事创办的网游研发厂商,后来因为许多原因,我离开了。因为这些离职的原因跟本文关系不大,就不作细表。离开后,前 boss 推荐我到另一个网游研发公司入伙,这是一家已经拿到稳定投资的公司,而且这个前上司在这里做技术负责人,此外还有多个之前熟识的前同事在那里,我心里就有七八分想去了,于是答应进一步接触。
谈判因为技术负责人对我知根知底(一起共事多时),因此没有笔试、技术面试之类的过程。双方决定进一步接触后,跟 boss、技术负责人和产品负责人一起吃了个饭,饭后马上去公司,然后就直接杀入了薪酬谈判的阶段。在谈薪酬时,我是跟 boss 单独谈的,两个人呆在会议室里。boss 是以前在“某大公司”时的同事,他是做市场的出身,但我跟他之前没有直接的交集,也没特别准备,所以对他没什么了解。他很直接地问我以前的薪酬,我本着“大家都这么熟”的思想,说了自己之前拿的真实薪酬。他表示怀疑,说了他所“刺探”到的我的之前的收入,比我所讲的大概要少了两成。接着报了一个把我雷倒的“腰斩”数目,他肯给的试用期工资相当于我前工资的 55%!这个数目是出乎于我的意料的,使我的心理变得怀疑、忧虑和压抑,在后来的谈判中我完全丧失了判断力,他完全掌握了主动,后来他在福利、分红方面进行了一些所谓的让步,我差点答应了对方的条件。庆幸的是虽然受到对方“超低价”导弹轰炸的影响,幸好我坚持自己的信念和立场,同时为了维护我与前上司的交情,挂出来日再谈的免战牌,总算没有全军覆没。
理论知识boss 应用的其实是一个很常见的谈判技巧────先苦后甜。就是先利用一些苛刻的条件打压对方的心理,从而让对方失去自信和判断力,产生疑虑无望的心态。之后,慢慢地给予一些让步,让对方感到在谈判中“已经逐步扭转了局面”,结果乐意地签署合同,从而达到获取较大利益的技巧。
这个技巧如此有效,所以才有“漫天要价,砍价要狠”之类的生活小手段。其能够发挥作用的原因在于人们的心理是先入为主的,总以先入之见作为标准并用来衡量后入的信息在谈判中,人们一经接触便提出许多苛刻条件的做法,恰似先给对方一个苦的信号,后来的优惠或让步,有时尽管只是一点点,也会使人感到已经占了很大便宜,从而欣然在对方要求的条件上做出较大让步。
我的失误1) 对薪酬谈判的认识不够深刻,没有针对性地进行全方位的准备,导致在对方开出超低价时瞬间被击溃;
2) 之前收集的情报有误,以为薪酬是由技术负责人决定的,而心里又认为技术负责人是自己的老上司、老同事,不会给出一个不合“常理”的价位;
3) 在前一条的基础上,也就没有对“直接跟 boss 谈薪酬”这一课题作任何准备,比如对方是做市场出身,谈判经验丰富,可能会使出谈判飞刀是一点准备也没有;而对方针对我做了许多功课,在谈判中知道他打探过我之前的薪资,向我的前同事询问过对我的评价,了解我的优点和缺点,甚至性格;
4) 太过于爽快,之前在吃饭时表现出“强烈的我乐于参与到这个团队”的情绪。
他的失误显然,boss 的谈判经验非常丰富,谈判实力确实胜过我这个一心扑在技术上的程序员。但他并非没有失误,不然应该已经拿下了我。
1) 对我低估。他之前所做的功课不少,但仍然至少有两方面缺乏,一是我所涉猎的知识面,二是我的世界观。这两方面信息的缺乏,导致他把我当成了一个“典型”的技术人员,只是有点独特的小个性;
2) 过犹不及。当他开出的价格只是我之前薪酬的 55% 时,我更多地觉得这是对我的污辱。苦海无边,但苦得要有分寸,与惯例相距甚远时不仅让我觉得缺乏诚意,甚至已经到了污辱的层次;
3) 没有趁胜追击。后来他在分红、福利等方面给我一些让步时,我几乎完全溃败,如果他再作一把小力,或者之前已经准备有合同,可能我就签下了字。但最后我的拖延战术生效,等我出来,北风一吹,头脑冷静下来,已经彻底认识到自己在谈判中的失利,自然会选择对自己最有利的方案────拒绝或者重新谈判。
4) 对”势“的估计错误,认为自己是优势的一方,从而误用优势谈判技巧先苦后甜计。事实上双方都有不少的选择在手上,应当是均势。
经验教训1) 不要对形势过于乐观,谈判桌对面的都是敌人,之所以我们会坐在一张桌子的两端,根本原因是我们之间有着敌对的立场,只是希望通过谈判为各自谋取最大利益;
2) 对谈判的主体、客体和议题都要充分准备,尽最大可能获取对方的情报,比如谁可能出席,出席者的经历和习惯等等;
3) 要熟悉谈判技巧,知道这些技巧的适用性,确保自己不会滥用;也要知道这些技巧的破解术,确保在对方使出“飞刀”时能够及时识破和破解;
4) 增强自己的竞争力,强者遇到更强者就会是弱者的心态;努力把自己变成谈判的主体。
扩展话题1) 更好的发挥先苦后甜技巧计的效力的方法是“唱双簧”,即一开始由一个人提出苛刻的条件“扮红脸”,坚持不让步;然后再由一个人以和事佬的姿态出来“扮白脸”,作出一些让步,从而使最后剩下的要求和条件正是他们所要的目标。在这次薪酬谈判中,我遇到的“可能”是这种高级版,但因为我主观意愿上更相信我跟另一个角色是“有情谊的朋友”,所以在心里拒绝这个结论。
2) 先苦后甜计是一个优势谈判技巧,即是说抛出这个”飞刀“的一方应当有绝对的主动权。比如现在乳业厂商陷入“三聚门”,可能出现大量资金短缺,并且银行、投资机构都不伸援助之手;而你手上正好有大把的钞票,也认为乳业行情终会转暖所以打算投资乳业,那么就可以在收购谈判时使用这一招,或许能够以超低价收购到大量股份。但回到我的这个案例,这家网游厂商并没有这么大的优势,毕竟我也不是找不到工作的人,或者被其它企业打压过许多次,已经失去信心的求职者。因为我手上也有几个选择,所以在一定程度上来讲,我跟他们是均势的。
3) 先苦后甜计的破解。其实很简单,一是要认识到谈判是一门学问,虚心学习这方面知识,达到有能力识破对方的技巧;二是在谈判前做充分的准备,了解对方的真实需要,认清哪些条件是来用击穿自己信心的虚假条件;三是在前面两点的基础上,以针锋相对的手段直接让对方碰一鼻子的灰,比如退出或拒绝谈判,让对方有弄巧成拙的挫败感,甚至能够让他反过来求你;四是本着互利互惠,合作共谈的思想,坚定自己的立场,坚持自己的条件,慢慢地对方就会让步。
4) 12 月 12 日是双十二事变(即西安事变)纪念日,双十二事变最后的结果是促成了第二次国共合作而和平解决。其中的过程跌宕起伏,但可以看作一个极佳的谈判案例来学习。因为跟我的这次谈判日期如此巧合,特此提示。
一、在绑定数据源后,设置选中的值
(1) dropdowslist.selectedIndex=索引值(数字);
(2) dropdownlist.Items.findbyvalue(你的值).selected=true
(3) dropdownlist.Items.findbytext(你的值).selected=true
This guide shows how to add a node to an existing 11gR2(11.2.0.3) Oracle RAC cluster. It is assumed that the node in question is available and is not part of a GNS/Grid Plug and Play cluster. In other words, the database is considered to be "Administrator-Managed". Also, the database software is non-shared and uses role separation where "grid" is the clusterware owner and "oracle" owns the database software. This guide uses a 2-node cluster running Oracle Linux 6.3 (x64). There are two pre-existing nodes "node1" and "node2". We will be adding "node3" to the cluster. This guide does not cover node preparation steps/prerequisites. The assumption is that since there is a pre-existing cluster the user knows how to prepare a node – from a prerequisite perspective – for cluster addition.
From an existing node, run "cluvfy" to ensure that "node3" – the cluster node to be added – is ready from a hardware and operating system perspective.
cluvfy stage -post hwos -n node3
The cluster verify utility – "cluvfy" – is used to determine the integrity of the cluster and whether it is ready for a new node. From an existing node, run "cluvfy" to verify the integrity of the cluster.
cluvfy stage -pre nodeadd -n node3 -fixup -verbose
[grid@node1 ~]$ cluvfy stage -pre crsinst -n node1,node2,node3 -fixup -verbose Performing pre-checks for cluster services setup Checking node reachability... Check: Node reachability from node "node1" Destination Node Reachable? ------------------------------------ ------------------------ node3 yes node2 yes node1 yes Result: Node reachability check passed from node "node1" Checking user equivalence... Check: User equivalence for user "grid" Node Name Status ------------------------------------ ------------------------ node3 passed node2 passed node1 passed Result: User equivalence check passed for user "grid" Checking node connectivity... Checking hosts config file... Node Name Status ------------------------------------ ------------------------ node3 passed node2 passed node1 passed Verification of the hosts config file successful Interface information for node "node3" Name IP Address Subnet Gateway Def. Gateway HW Address MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 192.168.1.53 192.168.0.0 0.0.0.0 192.168.1.254 08:00:27:B5:7E:7A 1500 eth1 10.10.10.53 10.10.0.0 0.0.0.0 192.168.1.254 08:00:27:73:27:02 1500 Interface information for node "node2" Name IP Address Subnet Gateway Def. Gateway HW Address MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 192.168.1.52 192.168.0.0 0.0.0.0 192.168.1.254 08:00:27:B1:3A:93 1500 eth0 192.168.1.152 192.168.0.0 0.0.0.0 192.168.1.254 08:00:27:B1:3A:93 1500 eth1 10.10.10.52 10.10.0.0 0.0.0.0 192.168.1.254 08:00:27:4C:3F:43 1500 eth1 169.254.95.34 169.254.0.0 0.0.0.0 192.168.1.254 08:00:27:4C:3F:43 1500 Interface information for node "node1" Name IP Address Subnet Gateway Def. Gateway HW Address MTU ------ --------------- --------------- --------------- --------------- ----------------- ------ eth0 192.168.1.51 192.168.0.0 0.0.0.0 192.168.1.254 08:00:27:7E:5C:93 1500 eth0 192.168.1.151 192.168.0.0 0.0.0.0 192.168.1.254 08:00:27:7E:5C:93 1500 eth0 192.168.1.59 192.168.0.0 0.0.0.0 192.168.1.254 08:00:27:7E:5C:93 1500 eth1 10.10.10.51 10.10.0.0 0.0.0.0 192.168.1.254 08:00:27:3C:19:3F 1500 eth1 169.254.72.131 169.254.0.0 0.0.0.0 192.168.1.254 08:00:27:3C:19:3F 1500 Check: Node connectivity of subnet "192.168.0.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- node3[192.168.1.53] node2[192.168.1.52] yes node3[192.168.1.53] node2[192.168.1.152] yes node3[192.168.1.53] node1[192.168.1.51] yes node3[192.168.1.53] node1[192.168.1.151] yes node3[192.168.1.53] node1[192.168.1.59] yes node2[192.168.1.52] node2[192.168.1.152] yes node2[192.168.1.52] node1[192.168.1.51] yes node2[192.168.1.52] node1[192.168.1.151] yes node2[192.168.1.52] node1[192.168.1.59] yes node2[192.168.1.152] node1[192.168.1.51] yes node2[192.168.1.152] node1[192.168.1.151] yes node2[192.168.1.152] node1[192.168.1.59] yes node1[192.168.1.51] node1[192.168.1.151] yes node1[192.168.1.51] node1[192.168.1.59] yes node1[192.168.1.151] node1[192.168.1.59] yes Result: Node connectivity passed for subnet "192.168.0.0" with node(s) node3,node2,node1 Check: TCP connectivity of subnet "192.168.0.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- node1:192.168.1.51 node3:192.168.1.53 passed node1:192.168.1.51 node2:192.168.1.52 passed node1:192.168.1.51 node2:192.168.1.152 passed node1:192.168.1.51 node1:192.168.1.151 passed node1:192.168.1.51 node1:192.168.1.59 passed Result: TCP connectivity check passed for subnet "192.168.0.0" Check: Node connectivity of subnet "10.10.0.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- node3[10.10.10.53] node2[10.10.10.52] yes node3[10.10.10.53] node1[10.10.10.51] yes node2[10.10.10.52] node1[10.10.10.51] yes Result: Node connectivity passed for subnet "10.10.0.0" with node(s) node3,node2,node1 Check: TCP connectivity of subnet "10.10.0.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- node1:10.10.10.51 node3:10.10.10.53 passed node1:10.10.10.51 node2:10.10.10.52 passed Result: TCP connectivity check passed for subnet "10.10.0.0" Check: Node connectivity of subnet "169.254.0.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- node2[169.254.95.34] node1[169.254.72.131] yes Result: Node connectivity passed for subnet "169.254.0.0" with node(s) node2,node1 Check: TCP connectivity of subnet "169.254.0.0" Source Destination Connected? ------------------------------ ------------------------------ ---------------- node1:169.254.72.131 node2:169.254.95.34 passed Result: TCP connectivity check passed for subnet "169.254.0.0" Interfaces found on subnet "192.168.0.0" that are likely candidates for VIP are: node3 eth0:192.168.1.53 node2 eth0:192.168.1.52 eth0:192.168.1.152 node1 eth0:192.168.1.51 eth0:192.168.1.151 eth0:192.168.1.59 Interfaces found on subnet "10.10.0.0" that are likely candidates for a private interconnect are: node3 eth1:10.10.10.53 node2 eth1:10.10.10.52 node1 eth1:10.10.10.51 Checking subnet mask consistency... Subnet mask consistency check passed for subnet "192.168.0.0". Subnet mask consistency check passed for subnet "10.10.0.0". Subnet mask consistency check pass