因为自己的个人规划,我放弃了成为研发团队核心

目录

前言

创业公司&&大厂

IT相关应届生&&职业程序员

关于算法

总结


前言

    简单来说,这篇文章是对自己这一阶段经历的个人收获总结,不涉及解释具体技术问题,只是聊一聊对于IT行业现阶段的认识。把这段经历写下来主要是为了写给自己。

    如下来概括自身情况:这是自己的第一份工作。年前加入了公司,试用期三个月,提前一个月转正。年后开始负责算法部门的研发并且独立完成了几个部分的工作。一个月后,根据公司管理层的决定,确立了这个项目的核心团队,自己也算在其中。后来,因为自己对未来发展的规划,考虑了很长时间,最后选择了离开。时间比较短暂,但是很感谢身边的人,也很感谢这段工作经历,让自己收获了很多。

    下面我想主要针对几个话题来总结这段时间的收获。这样来写,比较直观,也方便已经看到的观众老爷们有选择性的阅读。

创业公司&&大厂

    简单来说,这两者就是小公司和大公司的区别(按一般情况来概括)。其实,细说的话情况还是挺多的,涉及到行业领域,项目来源,用户群体等等问题。在这里,我们把创业公司定义为初具规模正在发展阶段的公司。大厂就类似BATJ等等很多,不多解释了。

      之前看网上很多人建议应届生要去大厂,对以后的发展很好。我承认这种说法很有道理,比如员工福利保障,以后跳槽的机会等等方面都有保障。但是我不建议一棒子把创业公司打死。可能就是传说种的三人成虎,我和一个研究生同学聊天说我在一个创业公司工作,她的话里都能感觉到一种失望——钱少、朝不保夕、一个人当三个人用——这可能是大众对创业公司的刻板印象。但不是百分之百的创业都会失败。毕竟大厂也是从创业公司发展过来的,之前看过一个大佬写的经历,从陌陌到soul再到阿里。他那时的soul也是刚刚起步,现在的soul也挺好的吧。

      现在我们把他们放在同等的位置:都是选择工作去的单位。具体怎么选择要看我们自身情况。大家找工作都有自己的诉求,基本是为了挣钱,但不能被钱蒙蔽了双眼。对于一些画大饼的公司,大家还是得理性一些,不能相信一些暴富。我认为,有付出才会有收获。经常流行这样一句话“程序员是青春饭”。对于这种看法就看每个人对于编程的态度了。如果更看重经济收益为之后的生活攒钱,就干这两三年,可以公司的经济实力为主,可以选择相对比较赚钱的公司和岗位;如果是热爱编程,之后的发展方向也是IT行业,个人感觉前期还是要以提高自己的能力为主,选择可以帮助自己成长的公司和岗位。提高了能力才能在之后拿到理想的工资,也为之后提升到管理层奠定基础。跳出公司类型的枷锁去思考,我们更应该选择适合自己的道路。

      对于这两种公司,我想补充一句:客观,不管怎么选,都要保障自己的个人权益。因为有同学去了一个“黑心”企业,也是有规模的公司了,但是过度消费刚工作的学生,还比谈好的工资低很多。总之,想提醒在找工作的朋友:别去没有合同没有五险一金的公司。

IT相关应届生&&职业程序员

      CTO开会给我们讲过他之前的经历:一个重点大学的毕业生里每一个达到职业程序员标准的人(这里也有岗位要求的因素在)。不光是他的经验还是我的体会,也能体现出从学生到职业程序员有多长的路要走。重点是一些因素:编程思维、独立工作能力、项目代码经验。

      对于编程思维。简单说就是有写代码的思路。对于一些基础知识得掌握,比如C++的类和对象概念,这些涉及到面向对象的思维。有了基础,之后才能明白代码的架构,自己写的出来,也看到懂别人的代码。同时,还有一定的代码量。编程是通过实践提高的技能,主要要通过打代码来提高,纸上谈兵是不解决实际问题的。

      对于独立工作能力。在学校的环境比较宽松,有可能一些简单代码可以慢慢写一个星期,又不会的还可以求助同学咨询老师。这样导致很多人可能喜欢的去问别人,没有独立思考的习惯。但是在公司里,每个人都有自己的任务。如果要成为职场人,自己成长起来是很重要的。

      对于项目代码经验。主要是代码规范和团队协作。实际工作中的代码不能像写课堂作业那样,会有项目的整体架构和具体要求,如果自己按自己想法来,最后会和其他同事难以沟通。一些具体的问题,比如命名规则不统一,如果在开始不注意,之后改起来就很费劲了。

      这里提到IT相关这个方面,在当前的环境下,越来越多的工科专业也转做编程方面的工作。其他专业与CS,SE专业不一样的地方在于,对于计算机底层原理的认识。我个人认为,能够掌握计算机的底层原理,对于日后的专业技能提升有很大帮助,当然这里也有不同岗位的要求。总之,一名刚毕业的应届生不等于一名合格的职业程序员,还是要成熟起来,走的更远才行。

关于算法

      很感谢之前的CTO让我负责算法方面的工作。回想起最开始面试的时候,我被问到了“对于图形学的认识”(大学里的学习方向)。我简单讲了最开始的OpenGL入门到图像处理学习了傅里叶变换(算是一种图形的起源),提出图形学的核心是数学。他很认可我的看法。通过这段时间的工作,更加明确数学思维与编程思维的密切联系。同样,在算法方面的工作也有很高的要求。

      之前看过一篇文章,一个大厂里的大牛刷了几个月的OJ题就跳到另一个大厂做算法工程师。但是算法工作不局限于刷题。大牛的成功也和他之前的工作经验分不开,在充分熟悉代码的基础上才能把代码用的很熟,才能设计出自己的算法。但是不得不说,刷题是提升算法技能的一个好办法。个人感觉,算法的乐趣在于理解项目需求后,根据自己想法和实际应用设计出自己专属的算法。

      有幸在大学时参加ACM,当然我这样的老年选手经常被中学生虐的体无完肤。不过现在来看,大一开始拼命写代码的经历还是很快乐。可能自己就是很喜欢写代码的那这种人。曾经怀疑过自己的方向,但是很感谢CTO让我重新认识了算法的乐趣。这里要回到标题,我的个人规划问题。通过工作积累了很多经验,提高了很多能力,但是我觉得自己的核心竞争力有限,现在还有机会去提升自己,之后再过两三年可能就真的没时间了。因为对IT工作的一份初心,确实不想被一波又一波的后浪拍在沙滩上。多写点代码,有机会的话,到更高的层次体会代码的乐趣,这样不好吗?还是希望能走得更远吧。

总结

      如果要仔细说,可能还能写个三五千字。这次算是一个初版,简单记录自己的第一段工作经历。因为目前没有网,之后可能重新排版或者加一些图片,主要内容就这么多。这段时间的工作很充实。也认识了很多强者大佬。很感谢他们的帮助和照顾。

      之前一直觉得文章是写给自己的,但是发现也有很多大佬大牛看到之前的文章。很高兴能和大家一起讨论问题。目前我的主要语言是C++,方向是后端,后期会学习python(也算是复习了)。其他方面的问题,如果有解决不了的麻烦大家多多担待。之前的文章也得翻翻土,做做整理。之后在这里不写水文,每周更新文章(立了flag)。

你可能感兴趣的:(个人感想,积累的经验)