Tuesday, March 8, 2016

How to thrive to thrive: software engineers



https://www.androidperformance.com/2018/10/25/How-do-engineers-count-well/
  1. “我们一定要有一个坚定不移的深刻的理念,相信整个世界终究是为技术所驱动的。”
  2. “有没有其他人已经解决这个问题?然后你可以把你的时间放在更好的创新上。”
  3. “做什么事情一定要做最好,一定要是做业界最强的。”
  4. “我把自己想象是一个软件、一个代码,今天的版本一定要比昨天版本好,明天的版本肯定会比今天好。”
  5. “看到问题也不要去问别人,就把它 Fix。”
我现在的要求是,每一次你写一行新的代码,第一要做的,先想一想你这行代码值得不值得写,是不是有人已经做了同样的工作,可能做得比你还好一点。有没有其他人已经解决这个问题,然后你可以把你的时间放在更好的创新上。
特别是大公司里面重复或者是几乎重复的Code实在太多,浪费太多的资源,对每个人的职业生涯都不是好事情。
我再强调,在大公司内部,你写代码之前想一想,你这行代码要不要写,是不是别人已经有了,站在别人的肩膀上去做这件事情。

我另外还要在这里强调的一点就是 Relentless pursuit of excellence:永无止境的不断的持续的追求。
我们要么不做,要做的事情一定做最好,这是我对大家的要求。数据库也好,做大平台也好,大数据也好,我们要做什么事情,我们一定要下决心,这是我对你们每个人的要求,做什么事情一定要做最好,一定要是做业界最强的。

英语,另外有一句说法就是Life is too short, don’t live the same day twice. 同样一天不要重活两次。每天都是不一样,每天为什么不一样,因为每天都变成最好,每天都变得更好。今天的版本一定要比昨天好,每个好的、杰出的工程师,杰出的技术领袖,一定要保持自己学习的能力,特别是学习的范围。


https://www.quora.com/Is-staying-an-individual-contributor-software-engineer-your-whole-life-a-good-career-choice
As a rough model, your career success and growth is proportional to the value you create.
Technical Ability + Experience  Impact
Engineers with over 10 years of experience at places like Google will often wonder why they’re still only a senior software engineer on the career ladder. What happened to the promotions that seemed to have come readily in their earlier years? Why are some of their peers getting promoted above them?
One of the biggest career mistakes that engineers — particularly those who opt out of management — make is to equate technical ability plus experience with increased impact. They hold onto a belief that if they continue to do good work, they’ll eventually be rewarded with a promotion. That mental model is flawed for two reasons.
First, your technical ability to write code and build software plateaus over time. When you first start out, you're frequently making technical mistakes. Every small project becomes a learning opportunity that hones your programming skills. As time goes on, you become more proficient at coding and software design and make fewer mistakes. Your early promotions up the initial rungs of the career ladder reflect your early technical learning. By year 10, you’ll still learn — and you might still be picking up new programming frameworks and languages — but your progress and improvement isn’t going to be as dramatic as it was in year 1.
Second, experience doesn’t directly translate into impact. If ten or twenty years from now, you're still solving the same scale and scope of problems as you’re tackling today, then you haven’t increased your ability to create impact. And if you’re not creating more value, why would any employer pay you more than someone without that experience? This observation is independent of industry or profession.
It can be easy, comfortable, and even fun to keep doing what you’ve been doing — and it can be a reasonable lifestyle decision if you’d rather spend your energy elsewhere on life outside of work — but you shouldn’t then also expect your career to grow on its own. What matters isn’t the number of years of experience but how much value you create. To keep growing your career, you have to keep finding new ways to increase your impact.
Management Is Just One Leverage Point to Increase Your Impact
One corollary is that if you work on a team or a company that isn’t growing, it will be more difficult for you to grow your own career because the value that you can create is limited. If you’re working on a dying product that loses the company money, how much value could you possibly be adding? This is why Sheryl Sandberg argues in Lean In why it’s so important to hop onto rocket ships when evaluating job offers.

http://www.1point3acres.com/bbs/thread-167098-1-1.html
地里同学很多也不再是new grad,从最初的有份工作就好,很快会转而考虑如何最大化自己的成长,钱途,和谋求更多发展。

除了写代码,还有什么可以做的?
如何开会,如何组织会议,如何给talk,如何好好故事,如何说服别人,达到你的目的?
在工作岗位也会涉及要求升职,换组,跳槽,negotiate salary
在公司遇到不靠谱的老板,不靠谱的同事,如何抗争不公正待遇?
什么是PIP?有什么先兆?PIP了怎么办?- Performance Improvement Plans

在大公司做几年也会考虑进(early stage)startup
或者业余做自己的项目
或者干脆开自己的startup

negotiate offer: never tell them what your current salary is. NEVER

短暂工作经历,(<3m) 
简历上可以不写,免得麻烦 (刚在其他版看见的
Teamwork: 永远不要偷偷做好事,有贡献,帮助别人的时候必须大张旗鼓给老板和所有人看见。
如果你写帮助文档,里面的例子code, 截屏别忘记全用自己的账号或者机器名,让以后看见的人怎么都忘不掉这是你写的。

自我表扬和表扬别人当然需要大张旗鼓,发email什么的到处让人看见
公开谈功劳,别忘记摆摆姿态,说we accomplished blah...口头给别人功劳和赞誉,不要吝啬。
私下绝对别忘记改口说 I did blah.... 别说虚伪,你不这么干你就被别人阴。

有技术绝活是否教给别人:酌情考虑。一般来说,私下的,绝对不教;公开的,能到处给talk的,教。Teaching类技术文档如果可见度高的,写;否则不写。

如果是同一战壕的,其实是可以的,需要酌情考虑 ---- 其实我也遇到很多真心教我的人,我也真心教过很多人。如果找好了搭档,其实完全可以win-win-win

国人的谦虚 -- 看着办:
如果fresh小硕对着年长国人tech lead说自己精通blahblah,你可以想象,效果不会好。
但是对白人老板,绝对要说自己精通,所有东西一学就会,您让我上吧,绝对能胜任。
对所有人,永远不要说不会。不会,你不会去学吗?

当好人:
不要随便答应某件事可以做(i.e有空做),然后做不出来又拖延,尤其是上级分来的任务。
如果本来就很忙,还有人堆一堆事情给你,可以态度很好的直接说:好的,我可以帮忙,那我手头哪些其他事可以先暂缓的?

不同意见:
意见不同的,看见email也不要respond,切忌头脑一热就点发送键。不好的话,宁可当面说,才容易控制局面。
根本不回复,就当没看见,也是一种非常valid的response

有你觉得不正当的事情,先想好你指望你老板如何处理,再考虑去提--- 如果没有解法就别抱怨

如果你是员工,尽量态度坚定温和,不用有什么脾气,it's only a job, it's not personal. from: 1point3acres.com/bbs 
如果你是老板,请偶尔慎重的经过考虑的发脾气,
如果看见你老板发脾气,he's putting on a show, it's not really an outburst. Waral 鍗氬鏈夋洿澶氭枃绔�,
. 鐗涗汉浜戦泦,涓€浜╀笁鍒嗗湴
党同伐异:
拉拢战友,但是别轻信谁,你同事不见得是你的挚友,别期望太多。不抢你功劳的已经是本分,如果能相互promote的那就是职场非常难得的了,值得好好培养关系。
无论在任何地方工作,看看周围,有没有牛人,有谁是将来你离职创业,想去求合作的人?(一般是人品技术都赞的),如果有,请搞好关系。
形象建设(make yourself visible)
每周汇报每天记录accomplishments, 每周五编辑好,发个report给老板
---- 这个practice 一般是team lead做的,但是哪怕你不lead任何人,也可以是你自己的lead
而且review的时候你就会很容易找出来哪些行为high impact
给talk:如果有area of expertise,那最好了. 鐗涗汉浜戦泦,涓€浜╀笁鍒嗗湴
如果没有,仍然可以Host brown bag (lunch and learn),跟大家分享自己学习经验即可。

开会的时候多说话:有话说那最好了。.1point3acres缃�
如果实在没有什么好说的,可以表示赞同,老美很善于这么搞,老中偏向于沉默的坐在一边,这是不可以的!!!.鏈枃鍘熷垱鑷�1point3acres璁哄潧

必须经常跟老板1-1,不然老板容易忘记你的存在。

what to say when you leave a job?
you dont have to tell them where you are going to. 1point3acres.com/bbs
you definitely don't want to bitch and whine and tell them why you are leaving (which almost always reflects badly on your boss) 鏉ユ簮涓€浜�.涓夊垎鍦拌鍧�. 
don't burn bridges
always say: it's not you, it's me - -- a vague reason like "it's time to move on" is perfectly fine
. Waral 鍗氬鏈夋洿澶氭枃绔�,
Find something good to say about your old place, and say this like you mean it 
after all, no matter what, any place would have some shiny points that are worth bragging about. 

if you think you might be of value to your ex-employer, make it known too -- it is even possible that they value you so much, that you get hired back as consultant and earn much higher rate. 
Counter offer: accept or not?
99% of the case: no. 

only very very rare cases would a counteroffer work out -- i have seen them.
可以毁约吗?. From 1point 3acres bbs答案是:可以:

你的人生你做主,雇主可以rescind offer 你也可以毁约不去
quote quora: 
As a general rule, be professional, but don't feel sorry for companies.
Your employer is a big part of your world while you are there, but you are just one employee to them.

如何要求涨工资?
无论你老板懂不懂具体技术细节:技术高级不重要,instead, sell你的贡献
比如你的某项目给公司赚了或者省了多少多少钱
这么做的关键是:不要管这些钱是不是真的
比如是ABCD组合作的结果,你要说:是“我”工作的结果。. 鍥磋鎴戜滑@1point 3 acres
比如你其实省了x, 另外有一个奇怪bug让数据看起来省了y,只要y > x,你就说y
玩命往大了吹,千万不要谦虚,拐弯抹角能牵扯半分钱关系的,就都扯上
你全讲真话或者全吹牛,老板心里都只是大致给discount一下而已。不吹牛你就亏大了。
比如:我去年给公司赚了x 米粒,您给我涨个y万吧

花时间promote自己.1point3acres缃�
假定你写代码之前要写design doc. Waral 鍗氬鏈夋洿澶氭枃绔�,
那么你ship之后就需要写自吹自擂的东西,做各种记录和宣传。
it is not optional 没有用吹牛来结尾的项目,等于你没做。
宣传完了这个功劳也未必是你的,但是假定你不去到处宣传,你这个项目就等于完全没做。. From 1point 3acres bbs

如果在这个公司还有上升空间,你还打算待一阵子,那么花在self promotion上的时间,精力和思考,应该大于所有其他加起来。

具体宣传方式取决于公司习惯
有的地方,你要写slides到处去讲---记住,真正黄金白银的技术细节必须语焉不详,
别人看了也no f***ing way能复制。但是吹牛的部分,请用尽你的全部方法,
让它看起来牛逼,影响巨大,给公司和你老板带来了多大多大好处。哪怕你心里有半点的退缩,你就已经输了。

有的地方你需要发论文. 1point3acres.com/bbs
. 1point 3acres 璁哄潧
有的地方需要写white paper (记住语焉不详)

有的地方写blog post.1point3acres缃�

有的地方可以开讲座

重要的事情说三遍:
没有用吹牛来结尾的项目,等于你没做。

什么时候谦虚?
如果对方有什么技术,你希望他教给你的时候:
很谦虚的表示:您是大牛,您太厉害了,马屁拍的足足的,我是微不足道的小蚂蚁一枚,请您不吝赐教

哪怕对方油盐不进,不教,至少也会笑纳掉马屁。. 1point 3acres 璁哄潧
万一教了,你就赚到了。

当然,谦虚的时候要私下,别让别人听见。
工作不满意,但是跟同事关系非常好,都是好朋友,要辞职换工作吗?

换份工作就不是朋友的人,本来就不是你朋友

你在这里怎么交朋友,在新工作也一样可以交新朋友
手里几个offer怎么选?
earning vs. learning. 涓€浜�-涓夊垎-鍦帮紝鐙鍙戝竷
看你更看重什么
一般来说年轻时候偏向learning
年纪大了偏向earning,当然不绝对. 1point3acres.com/bbs

学习,也未必是要学技术,可以是更大范围的。看你在意什么了。

一份完全没有learning的工作,一般是做不长的--要么时间久了你受不了仍然会跳走,要么你成了被温水煮熟的青蛙
例外是:你可以有很多业余时间,自学感兴趣的东西。

不好的环境典型:
1 老板因为要显得自己重要和牛逼,什么信息都不给你,到处抢你功劳
2 政治家:表面是大家的朋友,背地极其善于抢人功劳,别乱讲他们的坏话,因为你不知道谁就是他的心腹
3 大环境不是engineering focused,比如有很多匪夷所思的规矩,软硬件条件差,人手不够,deadline不合理 -- 这种在FG等公司比较不常见,在其他非软件公司,尤其传统企业多见。

对策:
1 选好胜算较大的目标,做了求原谅,而不是求允许。不过为了稳妥,可以找信任的人评估一下你要做的是否靠谱。pick your battles wisely
2 另辟蹊径:比如可以让一些“朋友”帮你去游说你的项目,或者干脆让别人take 你的credit,好像点子是他们想出来的一样,只要你还是最终能做这个项目. 鐣欏鐢宠璁哄潧-涓€浜╀笁鍒嗗湴
3 manage up: 前文说过的,花时间sell自己。花精力launch products,并让人知道,manage tech debt之类的事情千万别做太多
4 有时候给别人帮点小忙做点感情投资,将来你需要帮忙的时候才有资本。离职的时候绝对不要burn bridges,很多人际资本离职了也可以继续有用
5 哪怕一切顺利,你决定在一个舒服的岗位好好待一阵子:别!万一方向改变,你的组被并入其他地方等,可能你的有利局势就突然变得不利了。
真正舒服的位置,当然越往上越舒服。
6 抱大腿 (英文是seek powerful friends,不得不佩服,还是中文言简意赅)connectors, old-timers,小秘
7 如何找老板要东西:言简意赅:3个bullet point,一个 call to action,三条理由,一个具体的行动

1. try to be the boss's friend - i know it sounds low, and damnit, i hate doing this from multiple levels, but you gotta. 
is he a foodie? artist? gamer? as long as it is not sth you detest, do it. talk to him about it. 

2. schedule 1-1s with teammates, do the same

3. schedule 1-1s with people in neighbor teams (if you are eng, get to good terms with PM/design/ds). 1point3acres.com/bbs

4. schedule 1-1s with similar teams (if you are eng in team A, get to know eng in team B, C, D...)
. visit 1point3acres.com for more.
5. connect with people you know from your previous life (grad school, another job etc), meet every once in a while. if meeting cost is low (i.e. people are nearby), meet every 2 months to catchup is a reasonable frequency. 

6. if you get a chance to connect with someone higher up, cancel other stuff and go.

7. never eat alone, and take notes - again, i know......but, do it

8. share stuff like books, blog posts, tips etc - useful or not, people still appreciate the effort. Don't spam them though (like what recruiters do on linkedin). i.e. keep signal-to-noise ratio high

9. never bad mouth/complain.鐣欏璁哄潧-涓€浜�-涓夊垎鍦�

dont' expect to keep your head down and just code --- that's not how rain is made or how businesses are done. 

i don't care how many hrs of code you write and how tired you may get - if you are not spending x hrs building visibility/connections, you are doing it wrong. Manage image/perception/expectation, it's just as important as, if not more important than your code base.

让老板开心:
如果你跟老板对技术问题有不同意见怎么办?.1point3acres缃�你必须揣摩老板的心理,除非你对自己的某些能力特别有把握,default position必须是:您说的对,就按您说的办,您考虑的比我周全多了,学习到了!

如果老板真的说错了怎么办?
除非你有相当的把握,按你自己的想法能成功,否则按老板说的来,get things in writing,起码到时候捅娄子不会throw you under the bus
如果你按自己说的来成功了怎么办?能跟老板说:i told you so吗? ---- 绝对应该是说:老板你开始就是这么让我做的,您说的对!我照着您说的来,所以这个做对了,你看效果是多么多么好的,感谢您的栽培


level up checklist: 
https://www.quora.com/Is-staying ... -good-career-choice
edmond Lau的那篇非常不错
关键字:impact, 我个人理解是,选正确的方向去使劲,事半功倍

1- You build tools and abstractions that multiply the output of the engineering teams around you.
For example, Jeff Dean, through his contributions to Protocol Buffers, MapReduce, BigTable, Spanner,
and other systems infrastructure, has increased the output of other engineers
at Google by over an order of magnitude. It’s no wonder why Google created the engineering level of Senior Google Fellow essentially for him.
写工具,做抽象,让别人用你的工具大大提高工作效率.鏈枃鍘熷垱鑷�1point3acres璁哄潧

2- You develop sufficient expertise to consult on software or experiment designs from other engineering teams,
and your feedback is valuable enough that it shaves days or weeks worth of work or it turns key projects from failures into successes.
咨询:你的专业经验和建议能给别人帮忙,让别人做事效率更高

3- You become an expert on a deep, technical field that is material to a growing company. For example,
you become a machine learning expert and then work on news feed ranking at Facebook, ads ranking at Google,
or search ranking at Airbnb. The projects you ship directly translate into growth and revenue for the company.. 鍥磋鎴戜滑@1point 3 acres
在某专业领域成为专家,这个领域能让公司级数增长,文中例子是机器学习

4- You identify a critical business opportunity, perhaps by working with the sales and business teams,
and you become part of the founding team within the company to build out a product to address that need.. 鐣欏鐢宠璁哄潧-涓€浜╀笁鍒嗗湴
找出商业需求,跟销售或者商业部门合作,自己开team做出产品来满足需求

5- You build out onboarding and mentoring programs to teach and train other engineers,
and you make them significantly more valuable members of the team.
帮助训练新人,比如做培训项目等,让新人能快速上手

6- You play a key role in building out a solid hiring process, and you help recruit and close engineering hires.
让招人过程更快速可靠

7- You make significant contributions to building the engineering brand for your company.
For example, if diversity is a strong part of your engineering brand, you may move forward the state of diversity in hiring in the industry.
建立公司eng口碑,这个看公司,文中例子是diversity,可能特别适合女的或者其他族裔去搞。小公司的话,多去给talk发paper写blog post 就比较显眼。 . 1point3acres.com/bbs

总结就是:光自己写代码快还不够,要产生重大影响,重要途径:
1. 不光自己快、好,要让别人也快、好(文中的1,2,5,6)
2. 做正确的事情(3,4)
3. 帮助建立品牌,形象(7)

make as many friends as possible
both verbal and nonverbal communication skills
我的弱点:喜好都写在脸上。对策:pavlok 提醒给poker face
如果给老板提的建议不被采纳,你需要把建议描绘成这其实是老板的点子,和他点子的延伸。让他拿这个credit,你可以成为老板的心腹,左右手。 鏉ユ簮涓€浜�.涓夊垎鍦拌鍧�. 
保证交流畅通:让对方复述和确认双方同意的事情。
知己知彼:熟悉彼此的长处和弱点,注意交互过程当中的效果。大家经常容易只关注对方的问题,而忽略自身的问题。
压力的对策:meditate, exercise, slow down. 
office politics 是无法避免的。repeat: 是无法避免的,不要指望靠换工作来解决问题。
熟悉环境:在公司的每个层次都广交朋友,不要流于空泛,别人当然也会找你帮忙,所以,做好准备帮忙。
入职马上搞清楚org chart,心里也画好Power chart,搞清楚每个层次打算认识谁。
keep your friends close and enemies closer (虽然很难,但是看我前老板的的确确是这么干的,天天跟他死敌坐一起,经常一起吃饭)
观察敌人的做事方式,敌人目前的,掌握对方的动向
tunnel vision: 只看见自己想看见的事情 - let go of your personal interest and see the bigger picture -- 这是我的很大弱点,
着眼公司大局,figure out where "I" fit in. 对自己有利,对公司不利的决策很容易被阻挠。-- 我的弱点是相反,我太喜欢“大局”考虑。
以后需要从win-win里面找出让自己win更多的解法。
有人会拿着自己的工作来问你意见:他们不是真的觉得你牛逼,是打算占你便宜,让你白做事他们偷取成果。
绝对不用私下告诉任何人任何事情。在上家公司我总是被这种情况玩的死死的。纠结原因,越是觉得自己有牛逼之处不被重用,
越是容易犯这个错误。正确办法是多做公开的信息传播,比如讲课,give talks, brownbags, write wikis, readmes, design docs, never forget to CC boss and the team. 
credit小偷来的时候,问老板,说谁谁让你具体做什么什么。识别假朋友,披着狼皮的羊
假装支持你做冒险的事情:如果真的有他们说的那么好,他们干嘛自己不去做(前同事Y,对我做过n次这种事情)。
自己做好research,确保自己的时间真的能够顾忌这些新的项目
有人会故意隐藏重要信息让你take action(前同事N)害你失败。别轻易相信。但是也不要公开说出来你的疑问,要神秘!!!
有人会故意传播错误的信息(比如故意在打印机留文件)来造谣。对策是广交朋友,为人正直
别人嫉妒你,做below the belt的事,你要保持平静,不要以牙还牙。不要把自己拉到他们的水平
神秘,神秘,神秘。假装被他们打击了,但是背后继续努力,用成功来反击。
有人会偷偷把你的名字从群发邮件里面去掉,让你错过会议。解法:找出此人,告诉老板。
如果老板是烂人,只能礼貌拒绝无理要求。
如果老板给太大压力,找朋友圈,跟你能影响到的人建立同盟。
选择你做的项目,尽量只做对你职业发展有利的。
Rotten tomatos: 如果被分到了也只能去做,但是问周围的人,是否之前失败过,是否有办法改动,增加成功概率
Stop whining. 如果你老觉得受到不公正待遇,这说明你“广交朋友”这一步做的太烂。. 鐗涗汉浜戦泦,涓€浜╀笁鍒嗗湴
有些人会玩心理战术,动摇你的信心(前同事当中很多人对我这么用过,幸亏可以从其他source寻求信心)。
对策就是内心要强大,分清敌友。敌人说话当耳旁风,多喝点朋友的鸡汤
以上玩心理战术的经常还是领导,尤其需要小心(前老板做过这种事情,对别人,也对我。。。)"内心要强大“
有些人会假装给建议说”你太。。。“或者”不够。。。“其实是试图让你放弃自己优势
Be assertive: 不必羞于说自己的成就,偏好和长处。该拒绝的事情要拒绝。
”我答应他们你会做这件事“ -- 不是你自己同意的事情,不用做。别人没权利替你答应.1point3acres缃�
不要为了让他人高兴而答应做某事。
无论多生气,不必显山露水。dont take it personally
Don't take sides. 让别人自己去决断。
建立在老板心中的印象
Stay out of gossip。如果不想多说,温柔的转换话题
Keep written record of everything. 

https://www.quora.com/What-is-a-brown-bag-session
A brown-bag session refers to an informal meeting, training, or presentation that happens in the workplace.

Brown-bag, to me, indicates three elements:

#1, because the term brown-bag refers to the plain brown paper sack in which many people bring their lunch to work, it typically happens over lunchtime;

#2, for the same reason, attendees are aware that this is not a formal meeting where lunch is provided to them;

#3, since it takes place over lunch hour, it is optional for participants to attend because it is assumed they have an hour of unpaid time for lunch and they have chosen to use it to attend the session.

The presenter(s)  at a brown-bag session should be aware that the participants will be eating their lunches, and that contributes to the informal nature. Topics are typically "nice to know" but not "need to know" due to the optional nature of the session.

http://coolshell.cn/articles/17583.html
  • 高效的学习能力。这意味着——基础知识扎实、触类旁通、读英文文档不费劲、有寻找前沿知识的能力、能够看到问题和技术的本质、善于思辩、能独立思考。
  • 解决问题的能力。这意味着——你要高效的学习能力、见过很多的场景、犯过或是处理很多错误、能够防火而不是救火。
如果你拥有这两个能力的现象是—— 在团队或身边的人群中的显现出Leadership
Leadership并不是当领导和经理,而是一种特征,这种特征有如下两个简单的表象:
  • 帮人解问题。团队或身边中大多数人都在问:“这问题怎么办?”,而总是你能站出来告诉大家这事该怎么办?
  • 被人所依赖。团队或身边中大多数人在做比较关键的决定时,都会来找你咨询你的意见和想法。
1、去顶尖公司
2、去真正的创业公司
好多创业公司其实并不是真正的创业公司,他们创业有很大的侥幸和驱利心理,要小心甄别。因为那不是真正的创业公司。
  • 你开始要关心并处理复杂的人事。尤其在大公司,大量的人都是屁股决定脑袋,利益关系复杂,目标不一致,每个人心里都有不一样的想法。这个时候再也不是talk is cheap, show me the code!而是,code is cheap,talk is the matter。你需要花大量的时间去思考和观察形形色色的人。需要耗费大量的精力在不同的人之间周旋,而不是花时间去创造些什么有价值的东西。
  • 你要开始学会使用各种政治手段。办公室政治不可避免,越大的公司越重,自从你开始成为一线的leader的那一天起,你就开始成为“里外不是人”的角色,需要在下属和领导,员工和公司之间周旋。随而你的级别越来越高,你需要使用更多的政治手段,你会学会审时度世的站队,学会迎合员工和领导,学会用官员的语言说话,学会此一时彼一时,学会妥协和交换,学会忍气吞声,学会在在适当的时机表现自己,学会波澜不惊,学会把自己隐藏起来,甚至你还会迷失自我,开始学会一些厚黑学,比如不得不在适当的时机在背后捅人刀子……你可能会成为一个你自己都讨厌的人
听上去真的好无聊,所以,你现在也明白为什么高层们都看上去很忙很累,而且抽不出时间来关心细节问题,因为,他们更多的是要协调整个组织和系统来运转,甚至还要四处周旋,各种博弈,没办法,这是职场的必需的东西!听起来是不是感觉人类很愚蠢?这真是没办法的事。如果你不想或是也没有能力玩这些东西,那么你需要去那些可以让技术人员安安心心做技术的公司。这类的公司,我见过Microsoft、Google、Amazon或是一些创业公司里都有。国内的大公司中也有让技术人员成长的职业成长线,但老实说,表面上看似是一个让人专心做技术的升职成长线,但其实还是管理岗位。
所以,技术人员在职场中的归宿有两条路 —— 到真正的技术公司成为一个专心做技术的人,或是在成为一个职业的经理人
Make Something People Want(YC创业公司的slogan)
  • 能够去规划自己的个人发展的人,通常都是有很多机会和可能性的人
  • 有很多机会和可能性的人,通常都是有Leadership,喜欢冒险的人。
  • 有Leadership喜欢冒险的人,通常都是学习能力强,思维活跃,喜欢折腾,懂得“投资”的人。
  • 学习能力强思维活跃的人,通常来说,都是喜欢看书,喜欢实践和新鲜事物,不怕艰难和挑战,用智力而不是使蛮力的人。
  • 懂得“投资”的人,通常来说,他们更多的关注的是未来和长远的成长,而不是当下的KPI、奖金和晋升。


Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts