斯坦福 IT

是否该为了转码降薪跳槽

最大赞力
0.00
当前赞力
100.00%
1、不要放弃进取心,这是年轻人最大的优势。
2、暂时不要离职
3、继续找合适的
4、没找到之前,自学、交流、甚至免费参予一些项目,想办法联系一些大学相关专业的学生、教授,他们手里有一定实习资源,你不考虑经济利益去做,他们也会乐意。只要肯学,一定可以找到方法提高自已。
 
最大赞力
0.00
当前赞力
100.00%
s分享一点个人的经验教训,刚刚和上一家公司吵翻了,正在家里等工作机会,静下心来反思,有些地方以后要改进。
上一家公司其实还行,有CI/CD,只是比较山寨版的那种,也有Agile , Scrum,只是大家都是学了个形似,核心的思想都没有用上,效果也不是想象中那么好。也用了JIRA等等,做版本控制也算是到位。架构和设计文档是没有的,对代码质量的控制也不注意,实在是没有多余的精力了。
和产品经理提了一些意见,都没有被接受,一些我认为需要的资源也迟迟不到位,心里觉得这帮都是SB,结果分歧就越来越大了,关系搞得很僵。
现在回想起来,其实没有必要,经理不接受我的意见 , 可能是他的水平不到位,也可能是其他的原因,比如说他确实没有这样的资源 , 没有必要强求,提过就算了。
作为个人来说,可以做多一些工作。比如说,没有CI/CD,可以在自己的机器上建一个小型的实验系统,把一些自己平时手工做的事情自动化了,既可以节省自己的时间,也可以在有机会的时候向感兴趣的同事或者老板展示一下,说不定有过几次直观的体会以后,他们会慢慢接受。
没有文档,可以自己收集一下系统的需求,还有开会时候大家口头提到的东西,然后整理成文档,就把自己当成是架构师,顺便练习一下怎么写架构文档,熟悉了就复习一下TOGAF的资料,再考个认证。
趁着现在有时间和经济基础,做好准备,不必急着进大厂,机会迟早会出现的。因为机会是留给有准备的人的。
 

Kerrigan

静如瘫痪 动如癫痫
最大赞力
0.00
当前赞力
100.00%
之前开了一些玩笑,现在认真回复下楼主。

其实作为程序员,想进所谓的“大厂”去赚个高薪,那主要的挑战肯定不是知识的广度,而是算法和系统设计的深度啊。我不太知道楼主为什么那么纠结什么Agile,CI/CD之类的细枝末节。刷leetcode或者类似题库的题目,多看看系统设计的东西,就能做到“熟读唐诗三百首,不会坐湿也能淫”。增强自己的communication的能力,遇到尴尬的局面要首先会笑,边笑边假模假式地分析,给面试官留下你是个good team worker 和 good communicator的好印象。然后就89不离10了。

至于说五花八门的前端框架,后端各种语言各种技术,云,还有别的乱七八糟,你关键是每一层都至少了解一项,其他的就举一反三了。举例来说,我只会Java,人家问我Node JS,我凭着自己那点JS的知识侃一通,也就糊弄过了给了offer。但是让我做题,我只能用Java写,用JS肯定露馅。问道AWS,我不知道,但我知道Azure,同样一同乱侃,也罢了。问我rebbitmq,我说我只用过kafka,人家也没较真。真去了公司,就程序员那点破事,谁还真干不了啊。不就是Google + copy paste么。

至于Agile,scrum,JIRA,CI/CD,那真是不重要。没吃过猪肉,谁还没见过猪跑呢。一个项目就一个scrum master,就一个tech lead负责 CI/CD,根本没必要人人都懂那一套东西。你只要会用就行了。有人组织开daily scrum,你就跟着开呗。有人弄CI/CD,你知道pipeline fail了怎么看log就完了呗。至于说怎么配置,我跟你说,DevOps跟Openshift跟GitLabs肯定都不一样,不可能让人人都精通的。你现在到油管上看看,肯定有不少泛泛介绍这些内容的tutorial,你多看两个就能应付面试了。

所以说,放弃一些杂念,趁着年轻,跳呗!直接往高了跳,啥也别怕。但是那些算法题啥的,确实烧脑,而且是个门槛——但在实际工作中,一毛钱用都特么没有。
 
最后编辑: 2020-10-05
最大赞力
0.00
当前赞力
100.00%
之前开了一些玩笑,现在认真回复下楼主。

其实作为程序员,想进所谓的“大厂”去赚个高薪,那主要的挑战肯定不是知识的广度,而是算法和系统设计的深度啊。我不太知道楼主为什么那么纠结什么Agile,CI/CD之类的细枝末节。刷leetcode或者类似题库的题目,多看看系统设计的东西,就能做到“熟读唐诗三百首,不会坐湿也能淫”。增强自己的communication的能力,遇到尴尬的局面要首先会笑,边笑边假模假式地分析,给面试官留下你是个good team worker 和 good communicator的好印象。然后就89不离10了。

至于说五花八门的前端框架,后端各种语言各种技术,云,还有别的乱七八糟,你关键是每一层都至少了解一项,其他的就举一反三了。举例来说,我只会Java,人家问我Node JS,我凭着自己那点JS的知识侃一通,也就糊弄过了给了offer。但是让我做题,我只能用Java写,用JS肯定露馅。问道AWS,我不知道,但我知道Azure,同样一同乱侃,也罢了。问我rebbitmq,我说我只用过kafka,人家也没较真。真去了公司,就程序员那点破事,谁还真干不了啊。不就是Google + copy paste么。

至于Agile,scrum,JIRA,CI/CD,那真是不重要。没吃过猪肉,谁还没见过猪跑呢。一个项目就一个scrum master,就一个tech lead负责 CI/CD,根本没必要人人都懂那一套东西。你只要会用就行了。有人组织开daily scrume,你就跟着开呗。有人弄CI/CD,你知道pipeline fail了怎么看log就完了呗。至于说怎么配置,我跟你说,DevOps跟Openshift跟GitLabs肯定都不一样,不可能让人人都精通的。你现在到油管上看看,肯定有不少泛泛介绍这些内容的tutorial,你多看两个就能应付面试了。

所以说,放弃一些杂念,趁着年轻,跳呗!直接往高了跳,啥也别怕。但是那些算法题啥的,确实烧脑,而且是个门槛——但在实际工作中,一毛钱用都特么没有。
所以楼主不应该放弃数学的。数据科学的那些模型啊,分析啊什么的,一样烧脑。CICD,agile,等等,不需要太认真,除非你要做tech lead。不然,会用就行,或者了解概念,自己是fast learner应付过去。精力还是投在核心技能集合的性价比更高。架构师就搞算法,架构设计模式等,数据科学就搞统计和人工智能。pm,才学scrum,agile等等。要找准角色定位。
再补充,不同公司的env 和security不同,CICD即使同样用Gitlab或其他,配置也不同,尤其一些inhouse开发的专用服务,所以不可能全学会的。
 
最大赞力
0.00
当前赞力
100.00%
换我是楼主的话,不如就空余时间参与opensource开发,很多SE的概念,code quality assurance,opensource比企业做得好。企业有各种各样的顾虑,办公室政治,time to delivery等,很多地方可能得过且过了。open source反而标准更高。而且参与大厂组织的open source,贡献够高的话,进大厂比刷题容易。因为那些opensource一般有配套商业版,都要维护和开发的
 
最大赞力
0.00
当前赞力
100.00%
数学本科会点计算机基础刚毕业没经验就能盲目找到10万年薪的SQL/full stack ,这是我唯一见过的牛人!一亩三分地上的一堆堆数据科学硕士本科,cs本科都找不到工作,连入门的都找不到。(还是25岁就数学博士毕业了?)
 
最后编辑: 2020-10-05
最大赞力
0.00
当前赞力
100.00%
恩,代码水平这个,有多个维度,我不确定面挂的那家主要认为你哪方面尚有不足。但是无论是哪一方面,单从onsite的面试来说,不会写太复杂的东西,所以是完全可以在日常工作中提高的,组里不规范,不注重代码质量,但自己在日常写代码的过程中,应该对自己写出来的代码有一定要求。不好的组,缺乏好的senior引导,确实容易引发自己也随手写代码,但是我觉得至少可以从以下几个方面持续提升自己的代码质量。1 代码是否符合主流的convention, 包括命名,注释,缩进以及一些规范化的使用。这是代码给人的第一印象。2 代码是否简洁,一个简单的例子,当碰到代码有多层if..else嵌套,一个方法实现中出现多个布尔类型变量,一个方法参数列表超长等预警信号时,就应立刻为自己敲响警钟,虽然当时写的时候也许觉得很爽很快,但往往意味着写出了冗长而多余的代码。3 代码是否efficient, 这里主要两类efficient,一类是一个算法本身的复杂度,二是面对现在的micro services, micro frontend等潮流所必须考虑的服务之间的通信开销。对于前者,适当刷leetcode等题目,确实是会有所帮助的,一方面这些题目在大厂面试过程中确实还不断出现,另一方面解决这类在限定资源限定运行时间内出结果的过程中,可以很好培养自己的思维习惯。对于通信开销,也许你目前公司的项目受制于架构,并不明显,但你自己在日常coding过程中,应尽可能多设想一下,如果整体架构将服务分离了,我自己的写法是否还依然高效。 4 failure is the first principal. 现代软件系统中无法回避的就是error和exception. 如何在代码中正确有效的处理failure, 在哪个层面处理等,是一个full stack 程序员必须熟知和掌握的,也是新手sde容易犯的错。一般来说,你能在以上几点持续改进,通过onsite应该机率会增加很多。当然,更进一步说,还有代码的风味,设计模式等,那些可以做为你后续更进一步提升的方向。希望能有所帮助。
感谢这么长的回复!现在回想起来面试应该就是挂在第四条error handling。也怪我平时工作都写JS面试时脑抽选了JAVA。。对JAVA的API并不是特别熟。
我平时也看clean code那本书但大多都还是纸上谈兵,没有真正实践到代码上。您说的这几个方面我都会认真考虑的~
 
最大赞力
0.00
当前赞力
100.00%
s分享一点个人的经验教训,刚刚和上一家公司吵翻了,正在家里等工作机会,静下心来反思,有些地方以后要改进。
上一家公司其实还行,有CI/CD,只是比较山寨版的那种,也有Agile , Scrum,只是大家都是学了个形似,核心的思想都没有用上,效果也不是想象中那么好。也用了JIRA等等,做版本控制也算是到位。架构和设计文档是没有的,对代码质量的控制也不注意,实在是没有多余的精力了。
和产品经理提了一些意见,都没有被接受,一些我认为需要的资源也迟迟不到位,心里觉得这帮都是SB,结果分歧就越来越大了,关系搞得很僵。
现在回想起来,其实没有必要,经理不接受我的意见 , 可能是他的水平不到位,也可能是其他的原因,比如说他确实没有这样的资源 , 没有必要强求,提过就算了。
作为个人来说,可以做多一些工作。比如说,没有CI/CD,可以在自己的机器上建一个小型的实验系统,把一些自己平时手工做的事情自动化了,既可以节省自己的时间,也可以在有机会的时候向感兴趣的同事或者老板展示一下,说不定有过几次直观的体会以后,他们会慢慢接受。
没有文档,可以自己收集一下系统的需求,还有开会时候大家口头提到的东西,然后整理成文档,就把自己当成是架构师,顺便练习一下怎么写架构文档,熟悉了就复习一下TOGAF的资料,再考个认证。
趁着现在有时间和经济基础,做好准备,不必急着进大厂,机会迟早会出现的。因为机会是留给有准备的人的。
佩服层主去撕的勇气,
s分享一点个人的经验教训,刚刚和上一家公司吵翻了,正在家里等工作机会,静下心来反思,有些地方以后要改进。
上一家公司其实还行,有CI/CD,只是比较山寨版的那种,也有Agile , Scrum,只是大家都是学了个形似,核心的思想都没有用上,效果也不是想象中那么好。也用了JIRA等等,做版本控制也算是到位。架构和设计文档是没有的,对代码质量的控制也不注意,实在是没有多余的精力了。
和产品经理提了一些意见,都没有被接受,一些我认为需要的资源也迟迟不到位,心里觉得这帮都是SB,结果分歧就越来越大了,关系搞得很僵。
现在回想起来,其实没有必要,经理不接受我的意见 , 可能是他的水平不到位,也可能是其他的原因,比如说他确实没有这样的资源 , 没有必要强求,提过就算了。
作为个人来说,可以做多一些工作。比如说,没有CI/CD,可以在自己的机器上建一个小型的实验系统,把一些自己平时手工做的事情自动化了,既可以节省自己的时间,也可以在有机会的时候向感兴趣的同事或者老板展示一下,说不定有过几次直观的体会以后,他们会慢慢接受。
没有文档,可以自己收集一下系统的需求,还有开会时候大家口头提到的东西,然后整理成文档,就把自己当成是架构师,顺便练习一下怎么写架构文档,熟悉了就复习一下TOGAF的资料,再考个认证。
趁着现在有时间和经济基础,做好准备,不必急着进大厂,机会迟早会出现的。因为机会是留给有准备的人的。
哇。。你真是个耿直boy。尽管现在的组很糟心,我应该也没有勇气裸辞吧?
看了这么多网友的意见,也认真反思了。可能我还是有点沉不住气太浮躁,总想着一蹴而就,把自己水平不行归结于公司环境。您的意见对我很有帮助!很多事儿抱怨也没用,只能先从自己做起,一步一个脚印,潜心修炼一段时间再试试。
 
最大赞力
0.00
当前赞力
100.00%
佩服层主去撕的勇气,

哇。。你真是个耿直boy。尽管现在的组很糟心,我应该也没有勇气裸辞吧?
看了这么多网友的意见,也认真反思了。可能我还是有点沉不住气太浮躁,总想着一蹴而就,把自己水平不行归结于公司环境。您的意见对我很有帮助!很多事儿抱怨也没用,只能先从自己做起,一步一个脚印,潜心修炼一段时间再试试。
最多只能算是个耿直UNCLE,老毛病了,脾气不好,控制不了。
本来打算明年儿子上大学了就退休和老婆去环游世界,现在权当是提早了大半年退休吧。
 
最大赞力
0.00
当前赞力
100.00%
之前开了一些玩笑,现在认真回复下楼主。

其实作为程序员,想进所谓的“大厂”去赚个高薪,那主要的挑战肯定不是知识的广度,而是算法和系统设计的深度啊。我不太知道楼主为什么那么纠结什么Agile,CI/CD之类的细枝末节。刷leetcode或者类似题库的题目,多看看系统设计的东西,就能做到“熟读唐诗三百首,不会坐湿也能淫”。增强自己的communication的能力,遇到尴尬的局面要首先会笑,边笑边假模假式地分析,给面试官留下你是个good team worker 和 good communicator的好印象。然后就89不离10了。

至于说五花八门的前端框架,后端各种语言各种技术,云,还有别的乱七八糟,你关键是每一层都至少了解一项,其他的就举一反三了。举例来说,我只会Java,人家问我Node JS,我凭着自己那点JS的知识侃一通,也就糊弄过了给了offer。但是让我做题,我只能用Java写,用JS肯定露馅。问道AWS,我不知道,但我知道Azure,同样一同乱侃,也罢了。问我rebbitmq,我说我只用过kafka,人家也没较真。真去了公司,就程序员那点破事,谁还真干不了啊。不就是Google + copy paste么。

至于Agile,scrum,JIRA,CI/CD,那真是不重要。没吃过猪肉,谁还没见过猪跑呢。一个项目就一个scrum master,就一个tech lead负责 CI/CD,根本没必要人人都懂那一套东西。你只要会用就行了。有人组织开daily scrum,你就跟着开呗。有人弄CI/CD,你知道pipeline fail了怎么看log就完了呗。至于说怎么配置,我跟你说,DevOps跟Openshift跟GitLabs肯定都不一样,不可能让人人都精通的。你现在到油管上看看,肯定有不少泛泛介绍这些内容的tutorial,你多看两个就能应付面试了。

所以说,放弃一些杂念,趁着年轻,跳呗!直接往高了跳,啥也别怕。但是那些算法题啥的,确实烧脑,而且是个门槛——但在实际工作中,一毛钱用都特么没有。
leetcode我前前后后刷了差不多300道,每周都参加竞赛,差不多能做出1-2道medium,hard完全不会。。这东西太痛苦了,刷了忘忘了刷,到后期真心缺乏动力。

system design我也看了很多资料,但都是浅尝辄止了解个大概,实际操作啥都没有。。你让我讲讲messaging queue,load balancing,caching,db sharding/replication,我都能说上一点,但工作中完全没用/操作过,一旦深入问各种各样的tradeoff或者做capacity estimation就抓瞎了。所以虚的不行。

其实我一直都认为一个好的developer是应该脱离任何框架、语言限制的。只是碰到几个公司的面试官(前端)揪着react框架问源码细节,或者css动画的奇技淫巧。还有一些小公司面试官一听到我们公司没有testing没有自动化就直接拒了,搞得我心态炸裂。
 

Kerrigan

静如瘫痪 动如癫痫
最大赞力
0.00
当前赞力
100.00%
leetcode我前前后后刷了差不多300道,每周都参加竞赛,差不多能做出1-2道medium,hard完全不会。。这东西太痛苦了,刷了忘忘了刷,到后期真心缺乏动力。

system design我也看了很多资料,但都是浅尝辄止了解个大概,实际操作啥都没有。。你让我讲讲messaging queue,load balancing,caching,db sharding/replication,我都能说上一点,但工作中完全没用/操作过,一旦深入问各种各样的tradeoff或者做capacity estimation就抓瞎了。所以虚的不行。

其实我一直都认为一个好的developer是应该脱离任何框架、语言限制的。只是碰到几个公司的面试官(前端)揪着react框架问源码细节,或者css动画的奇技淫巧。还有一些小公司面试官一听到我们公司没有testing没有自动化就直接拒了,搞得我心态炸裂。

leetcode是去大厂最大门槛。我也刷了几百道题,确实痛苦。我老了,耄耋之年了,不想去大厂了。你年轻,看着来。系统设计,差不多就行。你能说出那么多名词儿来,已经不错了。我跟你讲吧,任何公司,大厂小厂,暂时都轮不到25岁的小鲜肉来设计那玩意。就拿我们而言,一个再小的系统,都是由architect先画图,然后大家开会,之后还拿给微软的Azure support team去,找他们专门的Azure架构师给我们提意见,然后才确定。你在会上随便喷点,别不着四六就OK。

至于问你奇技淫巧,我帮不了你,因为你是个走前端的。前端就是这种东西多。我是做后端的,好像没人问我Spring Boot的“技术内幕”(也可能是我层次不到吧,呵呵)。我只要说我都会用,然后告诉他们我做过多少micro service,集成过多少乱七八糟的第三方技术,也就行了。做前端的,就是要会奇技淫巧,呵呵。
 
最后编辑: 2020-10-05
最大赞力
0.00
当前赞力
100.00%
恩,代码水平这个,有多个维度,我不确定面挂的那家主要认为你哪方面尚有不足。但是无论是哪一方面,单从onsite的面试来说,不会写太复杂的东西,所以是完全可以在日常工作中提高的,组里不规范,不注重代码质量,但自己在日常写代码的过程中,应该对自己写出来的代码有一定要求。不好的组,缺乏好的senior引导,确实容易引发自己也随手写代码,但是我觉得至少可以从以下几个方面持续提升自己的代码质量。1 代码是否符合主流的convention, 包括命名,注释,缩进以及一些规范化的使用。这是代码给人的第一印象。2 代码是否简洁,一个简单的例子,当碰到代码有多层if..else嵌套,一个方法实现中出现多个布尔类型变量,一个方法参数列表超长等预警信号时,就应立刻为自己敲响警钟,虽然当时写的时候也许觉得很爽很快,但往往意味着写出了冗长而多余的代码。3 代码是否efficient, 这里主要两类efficient,一类是一个算法本身的复杂度,二是面对现在的micro services, micro frontend等潮流所必须考虑的服务之间的通信开销。对于前者,适当刷leetcode等题目,确实是会有所帮助的,一方面这些题目在大厂面试过程中确实还不断出现,另一方面解决这类在限定资源限定运行时间内出结果的过程中,可以很好培养自己的思维习惯。对于通信开销,也许你目前公司的项目受制于架构,并不明显,但你自己在日常coding过程中,应尽可能多设想一下,如果整体架构将服务分离了,我自己的写法是否还依然高效。 4 failure is the first principal. 现代软件系统中无法回避的就是error和exception. 如何在代码中正确有效的处理failure, 在哪个层面处理等,是一个full stack 程序员必须熟知和掌握的,也是新手sde容易犯的错。一般来说,你能在以上几点持续改进,通过onsite应该机率会增加很多。当然,更进一步说,还有代码的风味,设计模式等,那些可以做为你后续更进一步提升的方向。希望能有所帮助。
混迹家园十余年,终于看到位点评到位的计算机业内人士。
 

Similar threads

家园推荐黄页

家园币系统数据

家园币池子报价
家园币最新成交价
家园币总发行量
加元现金总量
家园币总成交量
家园币总成交价值

池子家园币总量
池子加元现金总量
池子币总量
1池子币现价
池子家园币总手续费
池子加元总手续费
入池家园币年化收益率
入池加元年化收益率

微比特币最新报价
毫以太币最新报价
微比特币总量
毫以太币总量
家园币储备总净值
家园币比特币储备
家园币以太币储备
比特币的加元报价
以太币的加元报价
USDT的加元报价

交易币种/月度交易量
家园币
加元交易对(比特币等)
USDT交易对(比特币等)
顶部