Skip to main content

标  题: 关于CS,一些你不知道的东西(附加一些东西让准备转专业的人看清现实)zz

http://gengwg.blogspot.com/

发信人: Dreamer (不要问我从哪里来), 信区: Dreamer
标  题: 关于CS,一些你不知道的东西(附加一些东西让准备转专业的人看清现实)zz
发信站: BBS 未名空间站 (Mon Apr 20 07:42:27 2015, 美东)

转载自gter,问大家如何看?
http://bbs.gter.net/thread-1717877-1-1.html

irvine666:
应wang同学的要求,我来说点关于CS的东西。

为了增加可信度,先介绍一下自己。我本科毕业于上海交通大学计算机系,后在上海从
事IT2年,期间曾经试图创业但失败。然后申请美国大学硕士拿到半奖出国,毕业后到
加州硅谷一家超大型公司从事IT工作。后因为一些原因跳槽到总部在波士顿的另一家超
大型公司接着做IT到现在。所以我可以保证:看一下这篇文章并不会浪费我们共同的时
间。

首先必须承认,CS是最近10年来在美国最好找工作的职业,这点各位差不多都已经知道
了,但是接下来的一些东西会让你们知道为什么宣传转CS的都是一些非CS专业的人,真
正的CS从业者很少会劝人转CS。

1. 程序员并不是一个能够长期从事的职业
按照业内人士的话来讲,CS这个行业:越老越不值钱。原因很简单,CS的技术每天都在
更新换代,速度之快已经到了你如果2个月不碰它,那么就很难赶上进度。真正的CS工
作是这样的:每1-2周,你会负责把一整个模块搭建起来,在计划书当中包括了好几个
你根本没有听说过的东西。你的任务就是在1-2周之内,把这些东西全部学懂,然后应
用到你的模块当中,并调试通过保证没有任何的漏洞。这个需要很强的学习和应用能力
以及很强的熬夜能力。在年纪大了以后,很难比拼过刚毕业1-2年的员工。试想一下,
你如果作为老板,是愿意聘用每年12-15万的40岁的有老婆孩子身体也不太好老请病假
的老员工,还是8-10万一年的能熬夜干劲足没有家庭牵挂的小青年呢?

2. 程序员意味着私人和家庭生活的匮乏
除了少数几个养老公司以外(比如:IBM,Salesforce,以及3年前的微软),我所了解
的绝大部分IT公司加班乃至昼夜颠倒是非常正常的事情。如果你能够晚上7点下班,并
保证回家不加班,那么说明你是非常非常厉害的一个人。过度的加班往往意味着只能牺
牲自己的私人和家庭时间。如果你是单身青年,你不会有时间去好好谈恋爱,挑选人生
的伴侣;如果你结婚了,你会发现除非配偶不工作,你很难有时间和精力生孩子;如果
你有家庭,你的老婆孩子甚至不会感觉到你的存在,你面对电脑的时间会远远超过陪伴
他们的时间,而这个,在5-20年会有很严重的后果,具体的后果包括家庭破裂,子女叛
逆不孝等等。我不止一次听我们的各个老程序员抱怨后悔年轻时没有时间陪伴家人。

3. 程序员的工作对身体伤害很大
还是那句话,长期加班+心里孤独,会导致很多问题。30岁左右就脊椎扭曲甚至心态不
正常的程序员不在少数,更多数的会带有一生的病痛,手指痉挛,背痛得无法躺下,腿
部供血不足,头痛欲裂等等现象会伴随你度过每一个晚上。

4. 程序员的前景并不明朗
看待一个行业,并不能够只看它辉煌的时期,而是应当从一生的角度来选择。举个典型
的例子,记得我在刚进大学的时候,信息保护和光伏工程这两个专业是最火的,因为所
有毕业生都被各大公司疯抢。但是在我毕业的时候,甚至都没有听说过有几个学校还在
开办这些专业。就是因为那几年所有的学校都在开办,毕业生的人数迅速超过了社会的
需求,同时由于新的技术出现,导致原来的公司迅速被淘汰,就业需求大大减少。从目
前来看,CS这个行业已经充斥着很多泡沫,如果你们能去搜索一下各个IT上市公司的P/
E数据就会发现,整个tech板块都充斥着不理性的投资,这个泡沫能吹多大或者还能持
续几年?我不知道,但是我知道一旦泡泡破了,大量的CS从业人员将会受到影响,裁员
失业是不可避免的事情。从目前来看,NASDAQ已经出现了一些崩盘的征兆,在过去的几
周当中,所有的IT公司股票都下跌了25%左右。

5. 程序员这个行业竞争已经过于激烈
虽然大部分IT公司还在招人,但是请记住他们只要“最好”的人,并不是所有的程序员
都能被他们看上。由于人才市场的爆满,合格的candidate会获得非常高的报酬,但也
意味着即使你成功获得offer,你所面临的压力会更大。我举Facebook为例,它给出的
报酬在业内也是算1,2名了,但是当你接受offer开始,你便面临这残酷的竞争。所有
facebook的新员工必须经过一个为期6周的训练营,在这个期间,你必须学会facebook
的开发,调试,搭配环境并自己写出一些东西来证明自己。训练营的淘汰率为10%,也
就是说,所有合格拿到offer的人(已经很厉害了)当中,10%的人入职不会超过六周就
被fire。即使你成功通过训练营,每个季度会考核你的performance,最后5%-10%的人
将被fire掉。这些被裁掉的人的位置,将由更优秀的人来填补。在硅谷,绝大多数公司
可能没有训练营淘汰制,但是他们都会有每个季度或者每年的淘汰制。所以拿到OFFER
才是痛苦的开始。要留下来,只能玩命。

6. 程序员的绿卡之路并不会比别的职业顺利多少
首先,程序员的绿卡排期和其他专业是一样的。其次,大家可能还不知道美国政府有一
个特别坑爹的规定:“如果一个公司出现layoff性质的裁员,那么这个公司所有的绿卡
程序将会被拖延半年”。这个规定使得在一些IT公司,那绿卡成为IMPOSSIBLE。比如
ECM。这种公司的宗旨就是业绩说话,他们每年会新建很多的team,但是到了年底,表
现一般的team就会被整个裁掉,这样来保证自己整个公司的业绩始终是上升的。在这种
公司,每个月都会裁员,即使给你开始办绿卡了,你也永远看不到被批准的一天。相比
起来,其他的行业比IT稳定多了,一旦开始排期,拿绿卡也会更为顺利。而如果能做到
博士或者博后,甚至能够凭借文章申请杰出人才绿卡,在几个月内被批准。

所以说,程序员这个职业并不是像外界评论的一样无可匹敌 。它有自己的优势也会有
劣势。我想更准确的说法是,如果你决定从事CS,那么你必须:1.非常感兴趣,喜欢这
个行业;或者2.你不喜欢这个行业,但是你愿意用自己的青春,健康,自己未来的私人
和家庭生活去换取一些金钱或者短期的荣耀。 

最后,我想说任何行业都有成功的人,任何成功的人都具有的一个特点就是几十年如一
日的坚持。我希望每个人都有自己的坚持,如果只是听别人说说就决定转这个转那个,
那永远不会有成功的一天。


=======================大家关心的CS办绿卡这个事情=======================
其实CS的绿卡已经不是想象中那么好拿了。
除了TFG三大公司是入职就办(当然你得先进得去,然后在这种公司的淘汰当中生存直
到绿卡期结束),其他的都是需要有观察期1年左右,期间你的performance必须达到"
exceed expectation"才能有资格办绿卡,否则就很难有戏。
请自行想象:
1.在一个有十多年经验的CS manager眼中什么样的表现才叫Exceed EXPECTATION?
2.同期(1-3年都算同期)入职的若干科班或者非科班的大量新人当中,至少表现要排
在多少才有机会?

那些完全凭想象就各种宣扬转了CS=绿卡,有工作=绿卡,找下家=绿卡,简直是把人推
进另一个火坑...这种说法是及其的不负责任。

如果你很有信心,那当然另当别论。

==================根据回帖给一些准备转行的人的忠告=====================

你得先说服HR不要把你的简历扔掉...
按照我们公司HR的话来说,每天收这么多简历,根本不可能去慢慢调查你个人能力,没
有经验+不是名校科班毕业一律垃圾桶。现在的简历多到名校的都没有把握能拿到面试
。我们老板天天面斯坦福,MIT,IVY的毕业生,还嫌别人不够优秀。以我们组为例子(
我直接参与招聘流程所以可以告诉你的是事实):一个初级工程师的opening,前前后
后找了30多个candidates(据我所知Brown毕业的最多,其次是Doutmouth,甚至不乏国
内清华计算机系本科+Brown研究生的),面了小半年还找不到合适的。一个高级工程师
的opening面了8个月也没有合格的。请问在这种竞争当中你忽悠别人转了意义何在?过
度强调能力意义何在?浪费2年+金钱,找个ICC打满H1的酱油回国跟北大青鸟的竞争?
我不想打击你,但是这样浪费8年还不如直接回国,拿出在美国奋斗的吃苦精神和勤奋
,8年的人脉和国内经验绝对让你混的比到时侯带着ICC6年打酱油经历刚回去好。而且
你还不用一定做CS这个坑爹的行业。

你要搞清楚为什么转CS?
为了H1?H1最多只有6年,满了你还是得滚蛋。如果你不喜欢CS,这条路真心没必要。
为了绿卡?之前我说过了CS拿绿卡的难度,你不要拿着“某几个"人可能有天赋转了来
忽悠所有人转。经验不够就是炮灰这个没必要否认。如果你一定要抱着”某些人“有天
赋所以干啥都能成功,你干嘛不去劝转高能物理?出来做对冲基金年薪40万,随便不比
码工强?
CS确实有几个大公司可以移民方便些,但是先得看你有没有这个本事,即使你有,也不
是每一个你劝转的人都有。

你一直在偷换一个概念:把做CS进入顶级公司后拿身份的容易程度跟做普通CS打酱油的
找工作难度和工作竞争强度对等。
实际上现在的形势是90%以上的CSer都在ICC打酱油熬着,绿卡是没希望的。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into /opt/course/1/context_default_no_kubectl.sh , but without the use of k

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checking a shared sec