Facebook三年

2016年3月21日,我换了工作进入了Facebook,三年一晃而过想回顾一下。
FB我一共面试了三次,第一次是2010年7月份,Gmail的邮件还可以搜到,当时还在国内电话面试,记得是面了三面然后挂掉了,隐约记得面得的确不怎么样,那个时候似乎还不知道有刷题的网站,想来这是人生的一个重要机会,可惜自己没有把握住。第二次是2014年9月份拿到绿卡后半年,这次倒是准备了不少时间刷题,最终加了一面系统设计,然后挂掉了,记得面试是去的加州,加的一轮面试是在西雅图。第三次是2015年10月份,终于拿到Offer,这次对于系统设计准备的更加充分了一些,回头想来那时候的自己的确很不会沟通。进入FB是E4, 这个其实很初级的职位对于一个有8年工作经验的人来说,博士毕业进入FB就是这个级别,不过就算如此薪资还是比微软Senior要高出一截。
回头看来自己是幸运的,选择的时候找到了现在的组,老板很是给力。当然给的活我也是认真的完成,特别是老板用C++写的分布式系统用来跑机器学习算法,是他的最爱,我接过来找到了很多问题把整个系统跑通,然后又接过了一个别人不太想的项目,因为有几年了,结果做出了很大的Impact,于是年底老板帮我升级到了E5,后年就算是Tech lead了,之后组里面一个印度MM变成了Manager, 老板让我挂她地下,她是个很不错的People Manager, 沟通技能强,倒也算和我互补,我关注于技术,带几个人一起做。想来那个时候组里面主要的Metrics还是来自我管的项目,于是在2017年底升级到了E6。
经过前两年的顺风顺水之后,2018年开始面临挑战,第一个是之前招我进组的老板跑去了Google,然后重组当时的老板因为不满意Scope的分配,然后寻求换组,最终去管了旁边一个新组。于是我面临选择,最终选择了一条对我充满挑战的路,寻求转为Manager,自己的短板包括沟通技能,与人打交道的能力都暴露出来,充满了压力的一年。
但压力也是动力,自己的确充分意识到不足,现在的老板是自己的师兄,还是给了我很大的支持,给了我充分的耐心,我也在努力改进中,终究要”Focus on what makes you great”,想来还是改进了不少。在这个过程中,也充分意识到Networking的重要性,自己在改变了少,接受过挑战,为自己的目标奋斗过,就可以坦然面对一切可能的结果。努力努力,夫复何言!

入职七周小结

3月21号进入新的公司,到今天正好七周,完成了所谓的Bootcamp,在这里想记一下流水账,看看自己还记得啥。
第一周的前两天去了加州,周一主要是完成一些必要的入职手续,公司的文化,最重要的是Move fast and Focus on impact, 要立足于自己的Strength。而Strength的定义和我之前的理解颇有不同,这里强调的是Passionate about it naturally,并推荐了一本书StandOut 2.0。我想这可能和论语里面的“知之者不如好之者,好之者不如乐之者”是一个意思。在这里第一天就拿到了笔记本和手机,可以远程连接公司网络,效率还是蛮高的。周二下午开始介绍Bootcamp的主要流程,并完成开发环境的配置。然后飞机回来西雅图。剩下几几天主要是介绍开发的流程,工具和隐私的重要性,完成First webpage。
第二周介绍更多的关于数据的工具,还有测试的方法,开始做实际的Task。第三周主要是各个组的介绍,同时和感兴趣的组1:1。这一周和不少组聊了聊,结果没有完成足够多的Tasks。部分原因是自己不够重视,同时也是第一个Task比预计中的复杂而第三个Task改动过多。这才知道从第三周周五开始会衡量bootcamper的checkin数目,颇感到有些压力。
第四周和第五周是继续去加州参加更多的培训。结果第4个Task也是有问题的,不适合做Bootcamp task,这个时候有了初步的选组意向和希望工作的领域,找特定的组多要了几个简单的Tasks,这样终于分别完成了2个和4个checkin。在这个过程中感觉到学以致用是非常重要的,仅仅参加培训是不够的,而是在完成工作的实际需求下去做Lab是最为有效的方式。在两周也和别的组聊了聊,简单来说主动联系你的组都是很积极的,你主动去联系的组相对都有些不是那么积极。这两周效率总体来说还是可以的,学到了不少的东西,同时做到了每天10000步和学习100分钟的目标,完成了Machine Learning的入门课程,并购买了Certificate放在Linkedin的Profile里面,这是一个很好的开始,要一直坚持下来。这两周没有怎么出去,除了和几位在加州的本科同学吃了饭之外就没啥活动了,周末步行去了附近的几家中餐馆,还可以但基本都是要付现金,估计是逃税吧呵呵。
第六周回到西雅图,前几天比较轻松,主要是继续两个Tasks并基本确定了去现在的组。但是在周四的时候突然得到别人的建议决定还是推迟一周,找两个人聊了聊,反馈比较负面,让我周末颇为纠结。最重权衡再三决定还是尝试一下,毕竟在一个领域的积累对现在的我来说也是非常重要的。第七周和Mentor聊了一下最终定下选组的事宜,总体相对轻松的一周,毕竟是Bootcamp最后一周而且周五公司搬家必须WFH。这两周还是坚持了10000步和100分钟学习,完成了Introduciton to Recommender Systems的课程,还是不错的。
如果我有机会在经历类似的过程,我想给自己的建议,一是多尝试一些不同的组,二是更加Social一点,三是设法提高工作的效率。
下一周就是正式工作的开始,第一印象很是重要,多听多问,努力!
 

Communication Strategy

I took a training these two days entitled “Communication Strategy for Engineer” and would like to write down some key points to help review what I had learned.

  • Compared to word, people are more likely to trust the information they get from other’s body language and tone.
  • Communication should be Proactive, Consistent, Captured, Regular, and Effective
  • Networking is very important:  Better connected people are better performers; 85% of information affecting work comes through people; Better connected people are more satisfied and stay longer; The top three reasons people failed in companies are “Lack of connection”, “fail to broaden skills”, “Not an attractor of talent”.
  • Culture-awareness. High context culture and Low context culture.  The first one prefers indirect messages, while the second one prefers direct messages. For Low context culture, it’s common to ask for clarify when doubts.
  • Adapt your own communication style. Follow statement/amplification/few examples patterns.
  • Describe your problem clearly and objectively.
  • Use OARP (Owner, Approver, Reviewer, Participant)  Modal to find people you need communicate with.
  • Write a communication plan to clarify “who, what, when, where” before initializing a communication.
  • Effective Engineering Writing should be Direct/Concise/Precise/Complete/Easily understood. Which means always put your conclusion at the beginning.
  • Five steps to write: Analyzing -> Planning -> Writing -> Refining -> Sending. Identify the purpose/audience/context during analyzing phase. Organize complex ideas during planning phase. Simplify complex communication during writing by focusing on tis purpose during writing.  Table/Image are preferred to be used to explain complex things. Avoid long sentence/long words. During refining phase, delete unnecessary words and review use of passive voice.

Then, what I can apply to my work immediately?

  1. Make sure you have clear purpose and do audience analysis before initialize a communication.
  2. Keep your purpose in your subject and beginning in email.
  3. Avoid using long sentences and keep paragraph length short for email.
  4. Keep positive tone when discussing with others.
  5. Be proactive to build your networking.

签证

过些天会去总部Redmond出差三到四周,于是在上周四去美国大使馆签证,B1。从进去到出来两个小时一直在排队,安检时候总是过不去,最后发现裤带头是元凶,唉,为了工作裤带都解了-_-。交申请材料,采指纹,最后签证。签证官是那个黑MM,我前面一个好像是IBM的,她第一句就是"Can I use Chinese?", 黑MM同意了。等到我的时候我想用中文,黑MM来了一句"why can’t you use English?",只好用着蹩脚的英文沟通,问了问做啥产品,过去干啥,然后就给了个浅蓝色的条去办理邮寄了。不过效率倒是挺快的,这周一就收到了签证。
 
查了查地图,Redmond附近的大城市就只有Seattle了,Seattle好像有University Of Washington,想不起来有没有同学现在在那边读书的。可是我不会开车,到时候估计想跑也不方便。

Cisco电面

在上周笔试之后收到邮件通知会有美国那边的雇员电话面试俺,心理紧张啊,毕竟是第一次…,想到自己那么烂的口语,实在是头疼。
给的时间跨度很大,周六早上7:00-10:00,于是早早爬起来,大概8:00的时候宿舍的电话响起来,一接居然是中文的,那边自我介绍是Cisco美国的,是个清华的师兄,88年毕业的,Orz,喊声师兄套点近乎=.=,然后给我介绍了这边那边的工作,问了一下我关于J2EE方面的经验,和我自己对工作的期望,我balabala扯了一把,感觉都不到点子上面,然后问的英语水平,我老实交代说读写还行,口语较差. BS自己一下!于是他让我用英文说一下html post和get的区别,其实中文我是很清楚的,但用英语我立马磕磕碰碰,唉,估计让师兄失望了。又聊了一下计算机的教师,他提到人智一老师我不知道,看来早就退休了,又提到孙家广,这个我知道,我说已经不算计算机的人了。
最后和我确认了一下周末去上海面试有没有问题,我觉得自己还有很多方面需要提高,趁还有一周把口语练练,再复习一下HTML协议和J2EE的知识,努力奋斗!

Write blog in company

All regulars go to picnic today with only the intern left :(. So only I am here today. For any documents wirted in company should be in English. So….
In fact I’m feeling confused again last week for I just read some code. Perhaps the things I want is to do some practical work and solve some problems which will make me fell better.
“Scientists find that hardworking prestigious people live longer than average men and women. Career women are healthier than housewives. Evidence shows that thejobless are in poorer health than the job-holders. An in-vestigation shows that whenever the unemployment rateincreases by 1%, the death rate increases
correspondinglyby 2%. All this comes down to one point: work is helpfulto health.
Why is work good for health? It is because workkeeps people busy, away from loneliness and solitude.Research shows that people feel unhappy, worried andsolitary when they have nothing to do. Instead, the hap-piest are those who are busy. Many high achievers wholove their careers feel that they are happiest when theyare working hard. Work serves as a bridge between manand reality. By work people come into contact with eachother. By collective activity, they find friendship andwarmth. This is helpful to health. The loss of work meansthe loss of everything. It affects man spiritually and makes.”
So work hard. PLAN! GO!

实习日记[5.15、5.17]

周一感觉非常疲劳。上午把几个TS标记为Mannual,然后升级CM到8.3.400,不然后面的TS没法做。下午完成3个ts,头疼的利害。
今天没有去,和Mentor请了假,理由是身体不舒服,也的确很不舒服,不过我想挺一下,没有行不了的路,没有过不了的桥。应该都会好起来的。

[实习日记]第四周

以前的实习日记还是很有用的,周五提交weekly report的时候就用上了.上周主要是完成了qdl的几个ts的转移并完成了新的两个ts. 并标记另外两个ts为manual. 现在有个想法是利用eclipse plugin完成ts撰写过程中部分机械的步骤. 也可以考虑先用python做个简单的脚本实现.

[实习日记]跑TS

五一前的最后一周了。周三和周四主要是帮zhanghy跑一堆ts,大部分都是不错容易通过,有些却有些莫名其妙的问题,在别人机器上可以在我的机器却不行。以后在写ts的时候需要注意sleep的设计。周四的时候note id到了,不出我的所料是wwangf,爸妈当时咋不给我起个复杂些的名字呢-_-,一辈子的事情啊。周四把qdl的八个case给接手了,估计五一后需要有三天的时间来熟悉她的例子并移到我的目录下。设想中的修改文件的脚本也应该尽快完成了,用python.