Skip to main content

再说说我认为的CS改行要点


首先声明,非吵架帖,CS大牛和非CS大牛们也都别拍我了,我只是传播信息,不是传播
信仰。你骂CS我其实还高兴,因为我这些年在CS里也一直自称“学文科的”。也求大伙
不要争论CS是Science还是Engineer还是Art,吃饭更重要,如果搬砖给130K+而且给办
H1B、绿卡,我立刻辞职搬砖去,管它文理工管。

我不觉得CS好,也承认我是因为生存问题而学CS的,并不是因为兴趣;但是考虑到我本
人不到30岁,人生路还很长,CS只能说是我人生的普通一站而已,说不上好坏和成熟,
只供大家参考。

什么人适合转CS?
1.求稳妥、输不起的人,CS找到工作的概率很大很大,投入相对小(SUNY-Buffalo的CS
价格你们查查去);也适合陷入绝境之人;
2.能坐住板凳、不憎恨编程;
3.越年轻越好,大于35岁慎重,收入已经7万+的慎重;
4.身份有压力的;
5.英语、交流不是非常流利、不是非常占优势的;

CS Master学位重要否?
我认为对一般人是重要的,大牛和CS近亲专业不重要。主要是一个Master学位可以让你
获得很多机会,比如大公司的面试。我以为如果你只是普通人,最好拿个学位,绝对值
得。

CS 可以自学否?
肯定可以,其实感觉CS的东西绝大部分都靠自学。但是我还是推荐上Master,尤其是基
本零基础的。学位带给你面试机会,上课教给你最基本的一些知识,让你可以开始。我
当年上过的10门CS课,大概只有2、3门非常有收获(OOD、OS、算法),其它都是酱油
,但是就仅仅这2、3门课已经受益匪浅了。此外,有Master的话,可以强迫你1-2年努
力学习并且找到工作。

改行CS毕业收入一般有多少?
如果Master毕业就进了FLG(非常难,尤其是改行者,看天资和努力),160K+是最基本
的;差于FLG之流但相对好进的Amazon、MS等大概120K左右,这个我认为也不简单,但
是努力可以达到,或是在毕业工作1-3年内可以达到;小公司难讲,少的可能只有6-7万
,还有做contractor的,钱可以但是不够稳定。

改行CS最难在哪里?
我个人认为最难克服的是心态。从一个熟悉、积累至少4年甚至多于10年的专业,忽然
到一个两眼漆黑的环境,人脉也全失;很多学CS的同学、工作的同事可能年龄都比你小
至少2-5岁;经济上的压力;面对全新知识体系的迷茫;面对找工作、上课等很多事情
的自信不断受打击。

学习CS的好方法?
最好有CS正牌出身的人领路。我有个小时候的好朋友是CS大牛,在我改行路上教了我很
多方法。其实由于我当时功力不够,完全理解不了他说的,只好死记硬背,不过后来慢
慢就懂了,事半功倍。CS正牌牛在于知识体系完整、能从大方向上给建议。

CS工作累否?
我认为CS的工作是偏累的,但是也没必要过于惧怕。还是看人和公司,case by case,
不必想得太多。面对屏幕多、跟人打交道相对少是肯定的。我过去时在亚马逊的一年多
里,其实非常酱油,从不加班,这亚马逊还是以坑爹和累著称的;也曾在其实并不累的
公司被差点坑死,所以说非常难讲。看公司看组看老板看个人看资质看性格,所以别乐
观,也别悲观。

CS在经济危机下?
这个只能让版上大牛说了,我2000年前后还读中学呢!我毕业找工作时大概是2009年,
经济也很不好刚过08年,还算勉强找到了。前后一起毕业的CS都找到了,有些是跑到加
州然后找到的,最迟的两个是在加州住了半年、一年才找到,不过那两个是正牌科班CS
的,跟改行拉不上关系。我个人认为CS在经济危机下肯定不好过,但是传统的
Developer相对还是稳定的,扩张中的公司也基本不裁人,比如亚马逊这种。我也认为
,如果抱着找到工作就万事大吉的心态,大概或许会碰到lay off或是变动,而如果以
非常积极的心态,不断磨练不断找的话,应该是你踢掉公司为主——基本上经济不好往
稳定公司一躲,经济稍微恢复立刻继续跳好公司。

CS的算法的重要性?
如果你看Jobhunting版,你会误以为算法是面试主流。实际上算法在绝大多数大公司都
是面试主流,比如FLGTMA等都是如此;但是小公司就没这么多要求了,更多可能看你的
经验和技术。我的工作经验都在大公司,所以不了解中小公司。我认为改行CS应该尤其
重视算法练习,扬长避短,经验和技术是短时间内积累不起来的——或者可能你知道怎
么积累的时候一个master已经读完了,但是算法可以靠强化练习和刷来提高熟练度。实
际上我认为改行者更该多瞄准大公司。其实大公司考算法,对改行者是有利的——论吹
牛和经验,改行的完全没法跟科班或是小印相比;论技术和编程语言,也相对弱;唯有
算法考试,跟高考差不多,强化训练就是了。我们中国人么,怕考试就不对了。

CS等于码工?
其实不完全对。读了CS还有一些QA、SDET、Support、DBA等非Developer但是也是CS直
接对口的工作。有时候改行者如果自忖能力或是技术不过关,可以用这些职位过渡,或
是一直干也可以。

CS老印成灾?
的确。老印的确非常多,而且很多人很烂,无论人品技术。不过我个人经历碰到的老印
老板有两个,一个非常好一个非常坑,不过碰到过最烂的两个老板都是美国白人。上学
期间最坑我的是个棒子老师,最帮我的是一个老印老师和一个老中老师。我以为老印坑
人是经常的、肯定的,不过也看运气了。但是我个人认为老印是比宇宙国、东欧诸国、
希腊人、红脖子、老黑、香港人好得多的。

写长了,有时间再说。

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 ...

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 checkin...