1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 对程序员来说学历重要吗 – java – 前端

对程序员来说学历重要吗 – java – 前端

时间:2019-11-01 20:36:28

相关推荐

对程序员来说学历重要吗 – java – 前端

焦躁阶段

偶毕业于普通的二本学校,非计算机专业出身,只因为对软件开发感兴趣,所以找工作的时候就一直投IT行业的职位。刚踏入这个行业时,以为突击一下东拼西凑的面试材料,就能有个很好的收获。结果却是,别说大公司了,就是很多看不上的小公司的笔试题都过不去。

后来偶去了本地的一个小公司去做服务端的开发。虽然叫服务端开发,但其实就是做系统指标监控功能,从DB计数中读取一些指标数据,通过图表的形式展现在浏览器中。这种CRUD的工作内容做时间长了,就纯粹是体力劳动了,技术视野没办法打开。

但即使写这么简单的功能代码,却还总是被leader批评,说偶写的代码质量太差,配不上这几千块的工资。人总是要脸面的,为了改变这种状况,开始关注代码质量,开始真正的啃起了基础的知识,在线上的一些视频课,一些公开的学习资源中弥补自己的不足。

同时强迫自己在代码开发前,多画一些架构图、数据流程图,写代码的时候也强迫自己代码分层,经过半年的磨炼,渐渐的也能写出一些松耦合高内聚的代码,也改变了满屏if-else乱飞的现象。leader也不再说偶代码差了,还给偶涨了薪资(果然知识就是金钱)!

打开见识阶段

当时偶以为这就是优秀程序员的核心能力,就鼓足勇气去投了一些大公司的职位,却没收到一个面试邀请函。后来投了几个小公司的面试,收到了面试却没收到offer,因为有的面试题偶根本没有概念,比如:

相比关系型数据库的优势在哪里,你们在什么场景下会用到?

分析日志里存的都是账号登陆信息,一天100G左右,找某一时间段内登陆次数最多的一个账号?

你们的并发量有多大,对于雪崩现象是如何规避的?

这些问题让偶意识到:语法与设计模式只是程序员的基本技能而已,要想进一步发展,必须在数据结构、高并发、分布式技术等方面提高。

最开始学习的时候是很艰难的,基础弱,加上工作中又没有这些技术的使用场景,所以只能在论坛、博客中看零碎的文章,进步比较慢。

后来决定进行一次系统的学习,偶花了近半年时间去培训机构系统性的学习了一套课程,学完之后对Java相关的技能有了更为体系化的了解。同时,对于非科班出身或基础知识不够扎实的工程师来说,也可以有效起到查漏补缺的作用。

之后偶就试着在工作中利用这些技术,当时的状态就是“拿着锤子后,看到哪里都是钉子”,学到一个新技术后,就想强行用在任何项目上,leader有时候说偶疯了,可偶觉得也不必鄙视这种经历,凡事都有一个认知过程,这也是一种积累。

知识深化阶段

大概下半年,偶就投了一些大的互联网公司职位,比上次好一点,有一些公司给偶了面试邀请,但最后却都还是没收到offer。

后来复盘一下面试问题,发现偶在整体技术面上回答得较好,但在细节技术点上,有点吃力,比如面试官问:

聊一聊你对JVM的原理?

消息队列如何保证顺序消费?

数据是通过push还是pull方式给到消费端,各自有什么弊端?如果消费失败,可能是哪些原因引起?如果是因为网络原因引起,该如何解决?

通俗的话来讲,就是虽然偶见识了各种各样的轮子了,也知道各种轮子适合在什么样的路上跑,但不知道为什么适合。

针对这种情况,结合已有的知识体系,选择了一个方面进行了深入,偶当时选的是消息队列的深入研究,从网络协议、服务端消息存储、客户端消费、各种异常情况的处理等都摸了一遍。

这个过程偶会针对每个环节进行假设反问,如果这一步失败了,会发生什么情况,该如何处理?这种思维培养了偶对技术问题细节思考的能力,现在看来真的是受益匪浅。

上半年,偶又去试了大公司的面试,虽然过程磕磕绊绊,但是面试官觉得偶思考问题还是挺全面的,潜力比较大,因此最后收到了待遇丰厚的Offer!

逆袭路上的三点体会

为什么偶会一直执念于要去BAT之类的大型互联网公司工作?除了因为薪水诱人,更是因为能有大规模分布式的技术可以挑战。

回首两年来的升级打怪之路,从毕业于普通的二本学校,到成为顶尖互联网公司的资深Java开发工程师,不免感慨良多。

如果说让偶给大家分享几点心得,那以下的3点应该是偶近两年来最大的感触:

1、跳出舒适圈,找到目标是前进的起点。如果你在自己当下的工作中无法接触太多的新技术,可以尝试多去外面的公司面试,这能在一定程度上帮助自己找到学习的目标;

2、跳槽要趁早,杜绝成为温水里的青蛙。对于想跳槽到大公司的同学来说,一定要趁早。因为同样的水平情况下,大公司更会看中「潜力」—— 年龄越大,潜力越小;

3、始终保持你的学习欲。对于工程师来说,学习永无止境。但埋头苦学是不够的,你要注意自己的学习一定要有系统性,除了手头的项目和身边“大牛”的指导外,看书和网络课程是最有效的方法,用少量的金钱换取宝贵的时间,是非常值得的。

如果你依然觉得有些茫然,不如跟有多年Java开发经验的资深工程师聊一聊。选择一个培训机构或者跟网上的大神咨询,但大部分时间还是自己系统性、有针对性的提升。

这里偶想特别强调一下:上述讲的都是一些方法论的东西,但真正起决定作用的,其实还是大家对技术的热情和兴趣!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。