设为首页|收藏本站|
开启左侧

[问答] 刚入职北美 IT 公司,如何提高?

[复制链接]
2273 20
丁清乾 发表于 2021-2-23 13:10:41 | 只看该作者 打印 上一主题 下一主题
 
刚入职北美 IT 公司,如何提高?


上一篇:中国-美国淘宝集货集运 国际物流
下一篇:店铺助理
@



1.西兔生活网 CTLIVES 内容全部来自网络;
2.版权归原网站或原作者所有;
3.内容与本站立场无关;
4.若涉及侵权或有疑义,请点击“举报”按钮,其他联系方式或无法及时处理。
 

精彩评论20

正序浏览
跳转到指定楼层
沙发
joannaaaa 发表于 2021-2-23 13:10:56 | 只看该作者
 
Facebook 应届生从 E3 开始,有 Ph.D. 的话从 E4 开始,要到 E5 才能算是 senior。不考虑极端情况,一般人是两年内升 E4,三年内升 E5 吧。

我见过升的最快的是一位 Ph.D. dropout,他基本上就有 Ph.D. 的能力了,能够自己主导和设计项目,所以第一个半年就升 E4 了。然后他们 team 比较新,他成为了 tech lead,第二个半年就升 E5 了。E3 直接跳级升 E5 几乎不可能,因为太过冒险,如果下一个半本发现只能达到 E4 要求不能稳定保持 E5 要求,那就……

如果你是靠刷题刷进公司,不知道自己实力到底在什么水平,那就应该优先保证自己能够达到 E3 要求不被 fire,什么时候能晋升可以稍后再说。美国公司很重是跟 set expectation 的文化,所以你要主动跟 manager 说你觉得你能做什么,你能完成什么,他会告诉你如果你能完成的话能否达到要求。同时美国公司也很重视 feedback,所以你要主动问你的 manager 你做出什么调整能够做得更好,他会告诉你的。
回复 支持 反对

使用道具 举报

 
板凳
y妹 发表于 2021-2-23 13:11:31 | 只看该作者
 
如何提高的方法论其实都摆在哪里,问题是知易行难。
大公司和小公司的职场逻辑其实不太一样,说一些通用的常识吧。

不要怕被鄙视水平

新人入职都要有一段学习期,在这段时间你可能要接触各个方面的新知识,学习各种技术栈,学习各种内部工具,也会有Mentor带你。

你自己什么水平其实是掩饰不了的,有些人就是天赋异禀,但是每个人都有自己的特点。程序员是个技术工种,本质上做一个合格的程序员只要你足够努力就好了。

在这段学习期间,你要真的去掌握你各种需要掌握的东西,不懂就去问,如果问了第一遍你还不懂,那你就问第二遍。

你需要读很多的代码,关于读代码,可能有必要先找你的Mentor解释一下架构和大概的代码惯例conventions。

问问题也是个学问,在问问题前,自己要做好功课,很多问题先去搜索文档,先去自己读代码,不要问一些通过Google搜索就能查到的问题。

简单说来,如果一个问题,如果你认为你需要其他人N倍(比如N>3)以上的时间还搞不明白,那就可能要去问mentor或者其他人了。

然后在学习期间,多做笔记,真正的消化这些知识。
多写Wiki是一个非常好的习惯,把你学习到的东西记录下来然后内化为自己的知识,还可以分享给其他人。

真的不要怕问问题被鄙视,从来就没有愚蠢的问题。There's no such thing as a dumb question。

有mentor的期间,特别是最开始的几个月的,真的是快速学习的好机会,一定要多和mentor预约一些时间来了解整个code base。

一个好的习惯就是加入一个新的组后,和组里的其他人都预约好一两个会议来了解别人在做什么,这样开组会的时候就不至于什么都不知道。

多问为什么(Ask Why)

这个习惯其实很重要,体现在方方面面。

开组会的时候,如果遇到不懂的地方,可以提出来。

还有很多时候,特别是写代码的时候,有不少人习惯从代码库里复制然后粘贴一部分代码。
从代码库里学习是一个很好的方式,因为学习大家常用的代码写法一定是比较高效的。但即使是复制粘贴过来的。一定要理解自己为什么要这么写?

”别人这么写,我也这么写“这从来都不是一个合理的理由。

很多时候,多问为什么这么做是快速学习的方式,特别看代码的时候,还有帮别人做Code Review的时候。

在涉及到数字的时候,也要特别的小心,为什么要设置参数为这个值,为什么要初始化为某个值。
为什么要这么命名,为什么要使用某个函数,etc...

要真正的懂和理解自己的做法,而不能是想当然。
大部分时候,想当然是必然犯错误。

Ask Why另一个很重要的地方就是当老板给你任务时,你也要多问为什么。
老板可能会让你做A做B,但是你要问清楚这些任务的背后的目的是什么,然后可能实际上你应该做的是C。很多时候不问清楚目的而只是为了完成任务而完成任务可能会很低效。

关于Code Review

前面提到了Code Review其实是一个很好的学习机会,请一定要完善好自己的代码后再提交给其他人做Code Review,就是完完全全的理解自己每一行代码后(对每一行代码ask why,想想能不能写的更好,想想能不能替换成其他的方式),完完全全的对自己的代码有信心后再让对方Code Review。

Code Review前要测试好,另一方面要符合最佳实践,从命名到coding style,自己多读读Best coding practices之类的指南。

有时会出现在对方提出修改意见后,然后再改,然后再Code Review一次,然后再改。
这种back and forth是最浪费时间的,要避免这种情况就是完善好自己的代码,避免多次back and forth。

当然Code Review也是一个很好的学习过程。

Code Review别人的代码也是一个很好的学习过程。

关于犯错误

刚刚入职总是会犯一些错误,最重要的一点就是不要重复自己的错误。
要按照完整的流程来部署代码,一定要各个环节测试好自己的代码,从Code Review拿到thumb up,再到unit test,到staging上测试 再到canary上测试,再到production。

在大公司相对好一些,但小公司新人经常直接有机会break the production,这是很危险的,有些公司真的会因为这个开除人。

如果对自己代码不自信,一定不要部署。

而对自己代码的自信建立在了解整个环境和代码库上。

要有ownership, take the initiative

这点上很多国人做的不好,经常是为了完成任务而完成任务。
最好是把自己从事的那部分工作当成自己的,积极主动的去改进它,时刻想着如何能做的更好。
这个和Ask Why是相辅相成的,Ask Why能帮你发现有些地方过去的方式方法可以改进,就应该尝试去改善。
其实每个人的成绩大家都看在眼里,你如果积极主动的去做事情,还是会被认可。
当然积极的让大家知道你在做的事情和你的贡献也很重要。

有好的想法,应该主动的去做,和老板和同事要资源去完成这个任务,不过新手阶段对这个要求可能比较低。

如果你own a product/own a service/own a code base,那你基本就无法被替代了。

和Manager保持良好的关系

这个其实是一件很麻烦的事情,一个人工作的开心不开心,其实和manager有非常大的关系,也见过牛人跟老板闹翻的。

一般而言,能遇上一个你喜欢的老板,非常重要,如果你不喜欢你的老板,很大可能TA也不会喜欢你。

和老板保持沟通非常重要,一方面时刻让他知道你在做什么,有什么进展,遇到了什么问题,这些都非常重要。另一方面也要保持一定的私人关系。多关心关心你老板,一起多吃吃饭。

一般每个公司对每个level的工程师都有明确的要求和任务( an engineering ladder, the job descriptions and levels of an engineering organization)。要了解自己的能力边界,要明确老板对你的期望(Expectation),不要给老板错误的期望(Expectation),如果老板对你期望太高而你完成不了,这个是非常耽误事情的。老板给你的有些事情,如果你觉得做不了,你要明确的把你认为可能遇到困难说出来,如果这些困难的确解决不了,自然应该让别人来做或者放弃。

在和老板1 on 1的时候,如果老板暗示你什么可以做的更好,你一定要小心。一般而言,在美国老板说你某些方面做的一般,那说明这方面你做的比较差。如果老板明确指出你应该改进什么问题,那你一定要非常严肃的对待了,如果不能及时改进,是非常危险的。

总体而言,就是要Get things Done,不要耽误事。在比较Push的创业公司,还要快速的Get things Done。

如果和老板处不好,如果条件允许的话,是要慎重考虑换组的。

如果一个事情不是很自信你是否能做,又想挑战自己,这个就要看公司文化和你老板是否鼓励了。

要时刻有进展(making progress)

在工作中,最重要的是时刻有进展,否则就是在浪费时间。
一个任务完成了当然是进展。
一个任务,如果你遇到了困难,一定要把你的尝试的解决方案给老板说,为什么你的方案失败了,可以寻求帮助,而不是困在那里什么都不做。
寻求帮助的时候一定要aggressive一点。
发现一个不可行的方案也是一种进步,但是千万不要卡在那里,什么也不做,这个是非常危险的。

You should try harder

最好来句鸡汤吧,世界上大部分事情要做好总是靠努力就可以足够的,你不够好,一定是不够努力。
从好到伟大(from good to great),那才需要天赋。

----
摔桌,有人居然认为我只是个段子手,随便甩两个回答打脸
JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() 有什么区别? - 严肃的回答
怎样理解阻塞非阻塞与同步异步的区别? - 严肃的回答

当然我承认我段子编的也很好(逃
销售最厉害的招数都有哪些? - 严肃的回答
中国古代名妓的生活和工作是怎样的? - 严肃的回答
回复 支持 反对

使用道具 举报

 
地板
masonvan 发表于 2021-2-23 13:11:39 | 只看该作者
 
在知乎听说过一个google的哥们,你可以参考一下。在公司停车场上(免费)放了辆拖车,里面只放了张床睡觉,没有电。其余吃住一切都在公司(免费食堂,浴室,健身房)。省钱且避免分心。然后你就可以24小时编程,累了睡,饿了吃,想放松了去健身房,摒弃人生一切其他无意义的活动,三个月升职也不是梦想。
回复 支持 反对

使用道具 举报

 
5#
丶无敌小样m 发表于 2021-2-23 13:12:38 | 只看该作者
 
认真工作什么的都是废话,其实相对于上学,工作的事情都是很简单的,不要把FLAG看得有多么可怕,其实工作上沟通交流是最重要的。懂的老板教给你什么样的任务,知道你要的是什么要怎么干这个才是最简单也又是最难的东西。特码的我在工作上见到太多什么中科大毕业的,UC Berkeley毕业的然后有交流障碍的人了(不是打这两个学校黑枪,只是随便举栗子)。你说A他说B,你说B说C,你听懂了他说的是B然后对方愣是可以把一屋子老美都给说晕搞成C了,你还要圆场圆B回来这特码是最痛苦的事情你们造吗。
至于senior 这个问题首先你要了解美国文化,然后senior并不是那么好升的。我先说说我自己,本人花了两年时间才从entry level 升到senior,基本上我们group的成果我自己占了50%,公司两年的review我都是top 1%的(别问我怎么知道的,你想知道自然有办法)。然而就这样,我的senior title还是晚了一年才到手。因为你不可以升职太快,这样boss会质疑HR的工作成果(明明值二十万的你为啥十万就雇进来了?)人家跑了怎么办?然后还有一个公平的问题,大家都是1%的工资涨幅,你凭啥10%?20%?
恩,我不是最惨的,还有个麻州小伙(25岁,大学刚毕业和我同年进公司)外调到加州进我们组工作,我俩基本上是整个group的PM,因为所在州的问题,起薪天生比我们低30%,涨幅你们自然懂。然后我现在senior了,他才刚转成普通的engineer,要成senior还要继续熬至少一年。
回复 支持 反对

使用道具 举报

 
6#
Vivian111 发表于 2021-2-23 13:12:54 | 只看该作者
 
我感觉楼主先要恶补一下印度英语,不然都没法跟同事和老板交流 (^○^)
回复 支持 反对

使用道具 举报

 
7#
nandywn140 发表于 2021-2-23 13:13:26 | 只看该作者
 
畏惧一般都源自于未知。

放心去吧,进去了你就会发现,大家技术也就都那么回事,很多人都是无它,唯手熟尔。

你和他们的差距主要是对于一些内部infra的熟悉程度以及public speaking的能力。
回复 支持 反对

使用道具 举报

 
8#
回头是关健 发表于 2021-2-23 13:13:46 | 只看该作者
 
“至少不拖后腿的senior”是神马水平。。。
回复 支持 反对

使用道具 举报

 
9#
童宝 发表于 2021-2-23 13:13:51 | 只看该作者
 
虚心,踏实,勤奋,坚持。

promote不是目的而是结果。

p.s.如果你见过十年经验的大牛才升senior,你会知道还有一种能力叫做presentation。
回复 支持 反对

使用道具 举报

 
10#
FANTAOHAPPY 发表于 2021-2-23 13:14:18 | 只看该作者
 
如果是想三个月到senior水平,请直接略过这个答案。。。
如果是想不脱senior后腿,首先,能进fb也证明了一种实力吧,刷题刷的也好,临场发挥得好也好,你很牛掰。然后就是,你们组的senior并对你没有太多的期待,总有事情是可以找给你干的,在做事的过程中慢慢学就好了。也许你现在就不拖后腿了……
膜拜一下fb的大牛
回复 支持 反对

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜
活跃网友
返回顶部快速回复上一主题下一主题返回列表APP下载手机访问
Copyright © 2016-2028 CTLIVES.COM All Rights Reserved.  西兔生活网  小黑屋| GMT+8, 2024-4-23 21:55