毕业两年的反思

到今年6月份,已经毕业两年了,在这两年中换过一家公司,从银行外包到安全行业,经历过加班,也经历过无所事事,心中有些感慨和想法与大家分享

时间真的是不等人,之前刚入行时我也是由一位老大哥带着做项目,那个时候我差不多是项目组年龄最小的,而如今在现在的公司中,我成了唯二的老员工,我从去年入职现在的公司到现在公司经历了一轮大的换血,老员工差不多都走了,而现在我也从当初的被别人带转换了角色变成了带新人,新员工都是刚毕业的大学生,有志向,有抱负,有的也有能力,跟他们一比,真的有种长江后浪推前浪的感觉。心中不免有些惆怅,原来一年一年的混日子,时间过的这么快。现在我真正理解了作为程序员必须的具备终身学习的能力。以及那种随时都有可能被新人给淘汰掉的危机感

第二个就是不能对技术太过于执着,现在很多程序员包括我在内总是唯技术,好像一些产品里面用了某种牛逼的技术那它就值钱,就牛逼。其实真的不是这样的,技术是为需求服务的,再好的技术也是为了解决现实中的问题,只要能解决现实问题就算你用最low的算法,它也是一个好的产品。从这个角度来说,一个程序员的薪资水平跟他自身的技术水平并不是正相关的关系,薪资水平高低在于他能够利用手中的技术为公司带来多大效益或者说它能为多少人产生多大的价值。技术就是这样没有最好的,也没有最坏的,没有什么所谓的最前言,也没有什么淘汰之说,只有最合适它的平台,就拿汇编来说,很多地方的确用不上汇编了,但是在某些场合,比如说做安全进行HOOK的时候可能会需要,或者在一些对性能有着变态需求的地方,有的实在不能再优化了,只有将C代码改为对应的汇编代码。没有最好的技术只有最合适的技术

既然说到终身学习,那么下面就来说说程序员学习的事。学习首先得找一个方向,也就是经常说的职业规划,一般来说刚入行的程序员可能并不知道自己该从事何种方向,就知道一心写代码,公司让干啥就干啥,公司有啥业务就学啥业务。确实一般刚入行的新人可能对整个行业没有一个整体的把握。我觉得入行后可以花1到2年的时间来关注业界相关新闻,不断跳槽以便接触更多方向,然后从中选择一个适合自己的或者自己真正喜欢的方向,随后自己的精力需要完全投入到这个方向上来,学习的路线也应该围绕着这个方向来进行。比如说我现在从事Web安全的开发,刚开始也是什么都不懂,XSS、SQL注入等等完全不了解,这些涉及到的是Web的相关知识,因此针对这点我自己给的学习路线是,首先学习HTML、CSS这些前端的相关知识,然后学习Web开发、了解常见的一些框架和开发语言,比如PHP、Java等等,公司主要做的是一款扫描器,而扫描器中很重要的一个部分是爬虫,现在爬虫一般流行用Python,因此我又顺便学习了Python的相关内容,而扫描器用来检测漏洞的一些POC都是用Python写的,这样也必须的学习Python。而Web又是基于HTTP协议的因此必须得学习HTTP协议,顺便可以学习TCP/IP协议的整个架构。因此这样很容易就能理出一条学习的线路来。所以说在后续学习的时候需要找出自己真正喜欢的方向(不一定是喜欢,但是必须是自己不讨厌的),了解一下这个方向的主要内容,从中找出自己的不足来进行针对性的学习。然后可以尝试着利用学到的知识写点小工具等等,比如我自己常常使用Python搜集一些网上的POC来集成到自己的程序中用来制作简单的漏洞探测工具。

我感觉现在整个IT行业存在一个浮夸、焦躁的环境。经常就是过段时间有一个新技术出来,然后大量的关于新技术的课程,文章,以及大量的招对应的开发人员,看着薪水好像挺高,似乎这个技术就是未来,其他的技术都过时了,而我们程序员很容易被这种风气给带歪了,他们会花时间去学习新技术,然后跳槽,然后从简历上看他似乎什么都做过,前端火的时候他是一个前端程序员,后来Python全栈火了,他又成了全栈,然后大数据火了,他又做大数据去了,而现在AI火了,然后他现在是一个AI的开发人员,似乎他什么都会,但是后来发现就一个调用框架然后复制粘贴。当然我不反对学习新技术,学习新技术应该与应用相结合或者说与现实中的问题相结合,比如做扫描器经常会有误报,怎么消除误报呢?AI是不是一个好方法,能不能用机器学习来减少误报?如果可行,那么就可以考虑去学习一下。还有我们如何从海量的日志信息中找出具有攻击行为的那些日志?这个可不可以利用大数据来进行检索?利用机器学习来准确识别?我觉得这才是学习新技术的真正原因,而不是光看重新行业的薪水。还是前面说的技术是为需求服务的,学习也是一样的,为现实中具体的需求来学习。归根到底,学习应该是为了用新技术来解决现实问题。

在这两年中,我越来越觉得基础知识的重要性,当初在学校时总觉得很多东西会用就行,不需要纠结它的细节,什么快速排序,二叉树等等这些都有现成的库函数,没必要去了解它们,所以没有好好学习这些内容。现在看来这种看法很有问题,学习基础就好像当时很多人嘲讽买菜不用微积分那样觉得生活中用不到它们。现在也有很多人跟我说过,学习那些算法没有用,这些都由老外在写,人家那么大的组织机构来维护,你自己写的肯定效果上没有别人的好,到时候会用就行。但是我想如果作为一个程序员如果只是把自己限制在使用别人的库,只会复制粘贴别人的代码,这样永远是一个底层的码农,而做不了真正的程序员,还是那句话让它服务于具体的应用,比如你学习了HTTP协议之后,能不能仿照它,做一个能在嵌入式设备中使用的微型的HTTP服务器而不是直接上Apache,或者我能不能利用它的设计思想来提供类似的功能。而不是说为了使用HTTP而使用,学习这些算法与基础的意义并不在于会用别人写的库,而在于根据具体的情形选择并设计编写出适当的代码。或者能更好的使用这些开源库,而不是仅仅把别人demo的东西照搬过来。

在当今互联网时代,学习东西比过去方便了许多,但是互联网也有许多问题,第一个就是互联网上资源太丰富了,以至于想学一个课程但是找不到合适的,比如说我想学下C语言,你会发现网上一大片C的内容,有视频有博客还有电子/实体书,但是各种资源的质量良莠不齐,很难抉择。经常听到有建议说自学能力强的选择看视频或者看书,但是对于初学者来说很难分辨一个资源的好坏,我当时自认为自学能力很强,在大学期间找了各种视频,看了各种书,吃过很多亏走过很多弯路,才学会了点C的皮毛,经常就是一个视频看完了,感觉基础学会了,想找一些实践的东西,然后发现很多都是前面一点快速把基础过一遍,然后开始做项目,最后发现跟着视频项目做出来了,但是并没有学到什么东西,反倒是丢了视频好像什么都不会,然后就会产生一定的挫败感。我自己当时也是被虐到怀疑人生也常常在思考我是不是适合这个行业。但是好在我从来没有在我应该学习C/C++这条路上产生过怀疑。说到这里,我想说说我对培训机构的看法,现在很多人说到培训机构总是一副喊打喊杀的语气,好像培训机构毁了整个IT行业。其实培训机构很不错的,他至少能带你入门,我们常说师傅领进门,修行在个人。跟着培训机构就好像有一个前辈一直在带你,给你分享他的见识,分享他的思路,而且培训机构能让你快速融入这个圈子,毕竟你的同学老师都是从事这个行业的。从这个角度来看好的培训结构能使你受用终身。每个行业都有好有坏,不要一杆子打倒一片。但是一般包就业,并承诺薪资的一般是坑。

互联网的另一个坏处就是造就了一批伸手党,他们混迹于各大论坛,QQ 群,经常就是甩出一段代码然后告诉你这个跟他想的不一样,该怎么改。最可恨的是有的还给的是截图,你想给他调都没办法,难道要别人一个一个的照着敲,拜托大家都很忙好吧。其实很多问题都是你自己单步调试一下就可以解决的,很多人就是不愿意,一句我是初学者,我不会,所以你帮我看看,一般像这种看了真的是让人火大;另外一种人就是自认为是大神的,经常有初学者提问说,我想学下XXX,请问该怎么学,这个时候总有那么几个大神会告诉人家,你学这个没用,还不如去学XXX,或者说这个不用学,有现成的代码,然后甩一个连接给段代码,这种人也是令人火大的,人家初学者想学一个东西,你没有系统的学过就不要回答了,我觉得这样完全是误人子弟。

所以你看:现在互联网虽然方便,但是学习的路并似乎没有变得轻松,它只是以另一种形式增加了你学习的成本而已,过去很多东西报个班或者找个老师花点钱就给你讲明白了,但是现在互联网时代很多人觉得资源应该共享,应该免费。但是从某种程度上学习成本其实基本没变,而且是以一种无形的成本来体现出来的,通常这种成本是最难发觉的,可能对你造成的误导是最深的。

以上都是本人的一些突发奇想,写这些的时候是跟以前的同学一起喝过酒的,很多地方都有点胡言乱语的意思。请各位见谅。。。。。

原文地址:https://www.cnblogs.com/lanuage/p/9501190.html

时间: 2024-11-05 17:31:18

毕业两年的反思的相关文章

毕业两年的我

时间总是在做重复的事情时溜走,而今天的我已经毕业两年了,两年或许不算久,但值得记下点什么. 两年的程序员生涯,当然我们会向别人说我们是软件工程师,说个程序员有点虚.做编程有个问题,就是会长时间坐在电脑前,然后某些容易长胖的人就会长小肚腩,这里面也包括我. 不过还好并不大,体重现在也就76kg,毕业时候是81kg的,这倒不是工作压力大,实在是租房附近的餐馆不好吃的太多,有时我从街头走到死胡同,根本找不到一家可以吃的,走在餐馆前面还能想象到饭菜会怎么反胃,甚至是否变质.唯一一家能吃的却炒菜很慢,经过

毕业两年的感悟

个人背景:广东某重本学校,应数专业,大学期间学过一些基础的计算机课程,确切地说,是上过课-- "光阴似箭,日月如梭"这八个字,当你在嘲笑它们时候,若干年后,或许你就会后悔,因为你不曾领悟它们所蕴含的残酷,而这也是毕业两年零三个月---现在的我. 大学,整整三年,除了应付考试,基本上没做过什么努力,直到大三末,想起就业,才突然间害怕毕业后就是失业,于是开始了自己在大学生涯的拼搏.也忘了当初为何就选择了计算机这个行业,整个大四,投的简历98%都是这个行业相关的,那时候天真地以为,自己已把谭

毕业两年工作三年小结

不知不觉毕业两年工作三年了,回忆记录一下. 大学.话还得从大学开始说起,高考两次顺利考上了武汉的一个著名专科学校,以极度郁闷的心情开始了我的大学生涯.大一上半年基本上是浑浑噩噩的过来的,印象最深刻的是和几个死党打牌,没有任何精神寄托,下半年开始学习C语言,听说是个很牛B的编程语言,就很想学习,差不多用了1个月的时间把高数课本看完了,以后上高数课我就拿出一本从同学那里借来的C语言看啊看,期末考试高数还考了98分,专科高数考得浅吗!C语言就没有那么好学了,到现在为止还是觉得要是哪天我能成为一名C语言

毕业两年的java面试总结及个人知识总结

前言:毕业两年多,一直从事java web方面的开发,感觉自己算踏入了一点点门槛吧,来记录下自己的成长吧,希望给广大网友们一些参考,共同进步.以下问题部分是面试被问到的,一些是自己的学习总结掌握了的知识,并没有被问到过,但仍需了解,不能为了面试而面试,这些知识仍需了解学习. 1. LinkedList 和 Arraylist区别 ? LinkedList可否模拟堆栈或者队列? 2. HashMap 和 HashTable区别? 3. 说一下HashMap 的put过程? key值怎么计算的?怎样

Python 学习开发的两年后的反思

背景介绍 pyqt 客户端方案 C 和python 混合编程方案 纯python服务器解决方案 由于对服务器开发熟悉程度不高暂时未想到应用程序服务器的开发应用求指点 网络快速测试方案 学术研究 技术规划 反思 问题 背景介绍 三年的C++ windows 客户端的开发经验, 接触python也快有两年了. 记得最开始会选择接触python的原因是因为李开复老师的强烈推荐. 接触以后一直对python简洁的编程风格所倾倒.自己的C++ 编程风格和设计思路上受到python 的影响很大,因为这个原因

毕业两年做到测试经理的经历总结

前言 最近看到行业的前辈都分享一些过往的经历来指导我们这些测试人员,我很尊敬我们的行业前辈,没有他们在前面铺路,如今我们这帮年轻的测试人估计还在碰壁或摸着石头过河,结合前辈们的经验,作为年轻的测试人也有自己的一些职场,技术以及行业交际的一些总结经验,今天有些时间,我也写写我做为一名90后测试人的一些经历和看法吧,还是先简单介绍一下自己,本人15年本科毕业,还有一个月工作就满两年了,现在在公司的创新团队任测试负责人,不过由于个人发展的原因,也很快要和现在的公司说88啦 二.情怀 我对软件测试这个方

毕业两年,你达到了自己期许的状态吗?

时光冉冉,前两天刚跟同学聊起,此时,大家已经毕业整整两年了,此刻,对自己现在的状态是否满意?是否达到了自己当初的期许? 刚毕业的时候,希望进入游戏行业,从事游戏开发,这个想法始于小时候的兴趣和“理想”. 一直以来都喜欢动漫,从小到大不曾变过.小时候经常跟小伙伴一起玩小霸王游戏机,一起玩游戏,也不知哪里来的想法,无数次的想着,将来一定要把自己喜欢的动漫做成游戏,将游戏和动漫结合.后来高中,我上大学的表哥告诉我,要自己开发游戏,大学至少要拿到 程序员 的资格证书,当时的自己,对计算机并不了解,更别说

毕业两年后的迷茫

16年毕业之后回老家待了2年.西北三四线城市.2年内android.web前端(html.js.css+MUI/HUI).javaspring.node(express),工资始终4000左右.而且面临的是拖欠.乱扣. 最近意识到自己实在井底之蛙,想去外边学习.来到了西安.面了几家.都被刷了(web前端.java.node都面了).朋友是做招聘额.他直言我的技术太差.于是匆忙找了家写nestJS的,老板问我要多钱.我回了4k-5k(面试了三个问题1.aop的理解.2.mysql左联.3.nest

2014总结以及关于用两年时间让自己成为优秀的前端技术人员宣言

2014即将过去,2015也就要到来.我不想在到2015年的时候再来写一篇文章说什么,纪念2015希望2016过的好一些等等等.都这么多年过去了,每年用这些文字来欺骗自己实在是够了,可是人们就是喜欢用这样的文字来麻醉自己.就好像用:明天我一定会早起,以及明天我一定把事情做完,或者我明天一定跑步一样,然后今天我就享受最后一天的欢愉,最后一刻的放纵.但是往往三分钟热度,甚至根本就热乎了那么一会儿.该没爬起来还是没爬起来,该睡觉还是睡觉,该在那里看电视剧还是在那里看电视剧. 但是对于2014我依然需要