记毕业后第一份工作与公司

写在前面——前言

  已然临近21年五月,很快又是一年毕业季了,公司里来了应届的新人,忽然才意识到自己已经不是公司年龄最小的了((笑~)。依稀还记得两年前,自己也是如他们那般青涩,无畏,脸上带着少年的笑容与朝气。现如今,自己又重新来到了所谓抉择的交错路口,感触良多,这两年的路程算不上一个很好的轨迹,在人生的坐标轴上也没有很优美的曲线。但终究是成长。本着写流水账的想法,便有了下面这篇文章。

迷茫中的初选择——关于入职

  都说大学毕业后的第一份工作,对于毕业生尤为重要,因为在某种程度上决定了你之后的职业方向和成长发展路线,也意味着你从零经验的职场小白开始在公司中担任和扮演自己的角色,并开始积累相关的工作经验了。彼时刚考完研,成绩刚出来,复试无果,老爹在电话里说,要不你回来厦门罢,在父母身边总方便些。于是,在确定订车票的那几天开始修改简历,有选择地去投,在坐动车回厦门的路上,便收到了三个面试邀约,而我后来去了面试的第一个,也就是现在这家公司。剩下的两个,其中之一是华为云的一个子公司,剩下的是一家游戏公司。至于当时为什么会选择去第一家公司,大概是职位描述JD上提到的AI实习生和导师制培养比较吸引自己,既然都是初出茅庐,为何不选择一个对自己的发展有帮助的呢?另一方面是,自己在学校的时候有玩过MATLAB来处理数字图像,对此多少有一些兴趣,也不算是毫无了解。此外,也是对于AI这类在学校里听起来觉得高大上的东西充满了探索性的好奇。

  现在看来,一切都是有迹可寻的,正如《杀鹌鹑的少女》中的一句话,“当你老了,回顾一生,就会发觉:什么时候出国读书,什么时候决定做第一份职业、何时选定了对象而恋爱、什么时候结婚,其实都是命运的巨变。只是当时站在三岔路口,眼见风云千樯,你作出选择的那一日,在日记上,相当沉闷和平凡以为是生命中普通的一天。

  于那日,我见斯, 而知天下偌大。从此以另一个形式成为机器的拥趸,我必工(功)程(成)于此,心底这么想着。

相逢即为缘分——关于公司

公司照片(假装有图片)

  刚进公司的时候是什么样的感受呢?这是一家人工智能机器人公司,进入公司也应该是第一次与机器人及机器人研发近距离的接触。现在想起来,那时候公司尚未搬迁,作为小白的自己初涉江湖,眼见各位同事开发机器上黑黑背景上跳跃的代码,交谈时用的术语,不时还夹杂着英文专有名词,总觉得公司研发部门除了自己都是大牛,而自己则是菜鸟一个。彼时还曾抱有自己是否适合这份工作的疑惑,每逢周末要写周报,手头又没有接到开发的任务,总抓头挠腮难以下笔。

  所幸,作为新人,同部门同组的人都友爱善良,不仅同事hsm哥常常指教操作和调试,作为经理的h哥也时时提点一些思路上的东西。又由于水平有限,因此时时怀着向所有人学习的心态,虚心求教,小心求证,耐心实践。这大概是一个积少成多,聚沙成塔的过程,因此尽管我虽愚钝,但也终有所获。

  我的同事们都是还不错的人,尤其是那些帮助过我的,hsm哥和h哥以及t哥,这一声哥并不仅仅是尊称和年龄上的差距,还更因为他们是真的拿自己当弟弟看待,对于他们给予的帮助和支持,我确实由衷地表示感谢。这段期间,我跟着他们的节奏,吸取他们的经验和教训,沿着他们走过的技术路线和实践思路,我踩了不少无可避免的坑,也犯了一些粗心大意的错,中间也有分不清主要矛盾和次要矛盾的问题,但总归是一步一个脚印,踉踉跄跄地走过来了。事实上,他们本身也是我的引路人,也更像是一种良师益友。我不清楚沿着他们的路能够走多久,之后的路会有多黑,但我总希望走出属于自己的路,然后转身挥手再让别人说去吧。

  由于公司在软件园三期,随公司搬迁后便租住到这个附近,上下班只需徒步几分钟,软三的环境还算不错,抬眼看去的办公楼高约二十几层,颇有厦门地区嘉庚式建筑的味道,软三食堂也较为良心实惠,果腹并不困难。遇到出行外出有地铁临近,交通也尚可。我也经常恍然,有一种尚在大学的感觉。说来也是啊,进入社会,进入公司,在实践中学习,在学习中实践,这何曾又不是一所“大学”呢?

  如此说来,眼下又是临近“大学”毕业的时候了,我自挥手自兹去,山高路远坑深,祝愿各位都好吧

  

工位

成长与积淀——关于工作

  现在看来,于19年4月实习开始,7月初试用期结束转正,在研发中心正式开始担任AI视觉图像处理已经一年多的时间了。这期间有收获,有成长,但更多是从零到一的一些质变和不断累加的量变,诸如以下:

(1)实习试用期

1.开始全面使用Linux发行版之一的Ubuntu系统,并作为主力开发机。进一步深入理解操作系统与shell命令等概念,并重新认识并学会在Linux使用了gcc,cmake等编译器及编译方式。

2.开始使用Json格式作为后台结果,并认识到接口、函数化模块的实际概念。

3.开始接触机器人开发版与安卓系统环境,并在android studio上学会调试和改写java程序。

4.开始全面使用Git命令,作为代码版本控制的工具。进而加入开源行列,打开另一个自由世界的大门。

5.开始深入学习OpenCV 视觉图像库,从基础的图像处理开始,到后来的图像检测,图像分类与图像识别等。

6.开始重新学习Python语言基础,并学会看懂基于OpenCV 的Python算法及相关业务逻辑,为之后翻写代码打下基础。

7.开始重新回顾C++语言,并学会面向对象思想、多态、继承等概念在项目中的实现与应用。

8.开始接触数据采集和图像标注等,认识到训练集和测试集的分割及其重要性。

9.开始学习简单的机器学习基础与匹配算法基础。

10.开始通过数学计算来辅助完成线性代数以及角点计算等模块的编写。

11.开始主动探索和尝试使用一些案例和演示Demo。

... ...

项目界面(假装有图片)

(2)正式期

1.接手项目,开始做代码优化与代码重构,期间通过交流和请教,学到了项目架构的思想和剃刀原则等通用性经验。

2.关于云端图像识别模块的C++翻写,期间巩固并掌握了OpenCV等库的数据结构。

3.接手安卓NDK开发,通过JNI的方式调用由C++&OpenCV编写的本地化视觉算法库编译的so,并提供给Java层使用。

4.接手二维码识别项目,接触到zxing,zbar等识别开源库并学习使用。

5.接手图像预处理项目,接触到tensorflow、keras等相关机器学习库并学习使用。

6.深入学习机器学习理论概念,学习numpy、scipy、pandas等包。

7.接手搭建上传机制与缓存队列,做识别结果延时上传。

8.搭建线程池框架,做异步并行处理,提升识别速度。

9.训练数据集采集,编写脚本做数据合并分割等操作

10.课程识别测试及功能模块验证。

... ...

(3)复盘总结

  总的来看,自毕业以来,在工作和学习上似乎并不缺乏自律自主这样的主观能动性,但需要深刻认识的是,每日三省吾身的自省也很关键。自省才能很大程度上反馈于自律,而缺乏这样的自省就很容易一条道走到黑,而不知及时调整自己的方向,从而延后所有的计划。从开发的角度看,自律只是一种克己和超越自我的状态,而自省才是时刻监测自己是否保持这个状态和评估状态好坏的标准。

  另一方面,开发工作在某种意义上类似于建筑工地上的工程建造,其中区别只在于搬的砖是有形还是无形而已,实质上都属于工程的一种。从这个角度看,似乎自从担任算法研发工作后,便过分于考虑各种时空复杂度、鲁棒等因素,在条件有限的情况下追求局部最优解,也因此常陷入只考虑细节不顾及全局的境地。我也深知,这受目前个人认识的局限,若只考虑细节的开发在某种意义上是一种“小开发”,而统筹全局的开发才算得上是一种“大开发”,例如西部大开发便是一个很好的例子。

  然则自省与格局这类抽象化名词,也并不是从书本或他人经验中习得的,非自身经历且跳出角色束缚而不可得。此外,在解决问题的过程中,对于矛盾分析法的理解还不够透彻,也即主要矛盾、次要矛盾的辩证关系和相互转换,对此的认识缺乏一种长远的眼光去把握。例如优化过程中,若识别率为目前主要矛盾,而识别时间次之。此时通过优化提升了识别率,但无可避免会造成识别时间或数据内存增长,这时的主要矛盾便已转换。

  同时,又受唯工具论影响颇深,一切入口皆接口,拿到什么都是锤子,但真正拿上手的时候才发现似乎并没有评估过有无下锤的必要和是否存在着力的突破点,这也是需要去解决的一个问题。

  最后是,因为社交圈子简单,个人又倾向于极简主义生活,在语言沟通和表达上缺乏必要的技巧,常常词不达意令人误解;对于人情世故上缺乏应有的领悟力和感受力,因此总显得内敛而迟钝。

  我也知道,其实所有这些存在的问题,都可以简单的用”年轻“两字来概括并且敷衍自己,但人是需要不断成长且优化更新的,便不能得过且过,需要跟自己较劲和博弈。

  以上,大概是自我复盘后所谓一些得失利弊和是非功过的东西,希望假以时日,加以克服

闻所闻来,见所见去——关于离职

  以上如题,其实我也在思索,到底为什么动了想要离职的念头,究竟为何到了不得不走又骑虎难下的境地,是因为遇到了工作上的瓶颈,还是因为在沟通交流上出现了问题,亦或者,是想要给自己一个重新开始,重新整理审视自己的机会,其中原因,可能以上都有,又也许只是年轻人的心性不定,想去外面的世界再看看。无论怎么说,最后的结果也都一样,无非一个心理安慰而已。前不久,h哥同意了我所谓的离职理由,并表示祝你发展顺利,我说其实还有很多需要跟你学习的地方,不管是在敬业精神还是严谨态度上。搞计算机就要像搞科学和工程那样去对待。编程,不仅仅是一门技术,更应该是一门科学,一种艺术,甚至于思维方式

  还记得,同事有跟自己吐槽公司的种种,那时候还一心想要留下,而现在,却是我提交了离职申请做工作交接,而他则被改派去做其他项目。大概每个人的选择和境遇都会有所不同,这也都是围城,城内城外的人四顾茫然,时间久了也就成了蜗居。

  沉思良久,好像怎么也找不到那么一个十分清晰而准确的离职理由,就好像我现在说不准为什么那么巧合会进入这个公司一样。但说到底,还是认可那一句话的,离职原因:“世界那么大,我想去看看”。至于能走多远,那也都是后话了。对于未来的自己唯一的期待是,在去往探索和发现的路上,找到自己和完善自己,愿出走半生,归来仍是少年。

 

写在后面——后记

以上,可以用简单的几个字来概括,这两年来的工作和职业生涯,“入门”、“成长”、“初心”。

同时,经历过一些事情,把看完《乔布斯传》和《硅谷之火》后,心里燃起的火花慢慢收敛了。

你就是要接受一些不愿接受的事实,然后认清自己,看往未来和远方,是迷雾,或是迷茫。

但无论如何,刮风下雨,荆棘迷雾,以胸腔为容器,以热血作燃料,火苗再小你都要用一切去守护,然后反复点燃。

永远相信光,相信希望。

最后,仅此向帮助过自己的所有人致谢。

以上,是为记。

Xu_Lin

[CodeLife]记毕业后第一份工作的更多相关文章

  1. 毕业后的第二份工作:进入国外 在新加坡工作 每月一次18K

    --訪传智播客成都校区12.26就业班学员 杨洋 姓名:杨洋 毕业院校:重庆科技学院 专业:电子信息技术与project 就职公司:新电科技 岗位:Javaproject师 月薪:18K 上午.他刚去 ...

  2. ZT 感触的屌丝职场记 投递人 itwriter 发布于 2013-05-27 09:21 评论(18) 有3402人阅读 原文链接 [收藏] « »   作者@幻想哥呀幻想哥   有一位屌丝男,从小抱着报效祖国的理想上了大学,毕业后干了 IT 行业,高中那时候看文汇报说,搞 IT 的在上

    屌丝职场记 投递人 itwriter 发布于 2013-05-27 09:21 评论(18) 有3402人阅读  原文链接  [收藏]  « » 作者@幻想哥呀幻想哥 有一位屌丝男,从小抱着报效祖国的 ...

  3. 我在大学毕业后学习Linux系统的心得经验

    扣着手指头一算,自己已经毕业快半年了,这半年莫名其妙进外包圈子溜达了一圈,有幸退的早还是正常干一些事情吧,外包终究不是太适合刚入社会的毕业生,今天想把自己的学习和工作经验写成一篇文章,希望能够帮助到正 ...

  4. java同学毕业后学习之路建议

    第一部分:对于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学. 滤过: 第二部分:对于参加工作一年以内的同学. 恭喜你,这个时候,你已经拥有了一份Java的工作.这个阶段是你成 ...

  5. 零基础如何自学MySQL数据库?

    作者:姜健链接:https://www.zhihu.com/question/34840297/answer/67536521来源:知乎著作权归作者所有,转载请联系作者获得授权. 本人是个活生生的例子 ...

  6. 为何放弃 C++ 的工作(开发慢,难度高。完全不适应互联网的快速迭代的思想)

    happypeter,2015年1月9日 昨天进燕山大学编程爱好者 QQ 群,看到有很多同学在学 C++ ,我当然是不喜欢了,因为我是做 Web 开发的嘛.所以怀着猥琐的心情,今天写篇傻傻的文章,来黑 ...

  7. IC应届生40万白菜价!从业多年的资深专家手把手指导你如何选择offer!

    这是IC男奋斗史的第1篇原创 关注公众号[IC男奋斗史],让我们一起撸起袖子加油干! 芯片行业2021年的秋招市场又是风起云涌.高手过招,继OPPO给应届生开出40万白菜价offer之后,平头哥又被爆 ...

  8. 写在OI退役后和高中毕业前的一些话

    更新日志: 2017.02.13 开坑 2017.02.13 更新[零][壹] 2017.02.14 更新[贰] 2017.02.26 更新[叁][肆] 2017.03.04 锅多如狗,停更一周 20 ...

  9. 毕业N年后,请不要像我一样被档案烦死

    目录 一. 提醒大学生:深刻重视档案,避免以后麻烦! 二.说说我因为档案造成的烦心事! 三.说说档案这档子事: 四.档案如此重要,为什么有些人却成了弃档族? 五.档案该怎么操作才能不当"弃档 ...

随机推荐

  1. vim中搜索指定单词(不加前后缀)

    \< : 搜索内容作为单词开头 \> : 搜索内容作为单词结尾 一起用即为将搜索内容指定为whole word e.g. : word_suffix word 如果用/word来搜索则两个 ...

  2. redis安装与简单实用

    1.在Linux上redis的安装时十分简单的: 第一步:wget http://download.redis.io/releases/redis-2.8.12.tar.gz 解压: tar zxvf ...

  3. CentOS6设置Django开发环境

    今天在我的Centos6.5机器上安装 Django 开发环境,在安装完使用 "django-admin.py startproject myapp" 创建应用的时候报了下面的错误 ...

  4. 【Spring Framework】spring管理自己new的对象

    使用AutowireCapableBeanFactory手动注入 使用.newInstance();创建对象的话,如果其他对象都使用Spring Autowired,还需要手动创建所有依赖的Bean: ...

  5. maven项目install时忽略执行test

    1.在项目所在文件夹根目录使用maven命令打包时: <!-- 不执行单元测试,也不编译测试类 --> mvn install -Dmaven.test.skip=true 或 <! ...

  6. Linux 下使用rtcwake实现定时休眠和唤醒设备

    查看是否安装rtcwake whereis rtcwake rtcwake: /usr/sbin/rtcwake /usr/share/man/man8/rtcwake.8.gz 查看rtcwake帮 ...

  7. Linux实体服务器添加网卡

    目录 一.简介 二.配置 三.添加网卡 四.总结 一.简介 服务器如果搭配了网口,在插入网线或者光纤后会亮灯.如果发现不亮,可以关闭机器查看亮不亮,因为有的时候系统会把网口禁用,进入到系统反而不亮了, ...

  8. [BUUCTF]REVERSE——[V&N2020 公开赛]CSRe

    [V&N2020 公开赛]CSRe 附件 步骤: 例行检查,无壳儿,但是有NET混淆,使用de4dot工具进行处理 之后用dnSpy打开,从入口点开始看程序 找到有关flag的信息 flag由 ...

  9. 设置项目的开始/完成日期(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 在设定完日程排定方法,或者不作任何设置,依其默认的[项目开始日期]的设置,接下来就要设置项目的开始时间了.依然是在[项目] ...

  10. 资源分配单位(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 那些分配了资源的任务,其中的资源是有数量单位的,默认工时单位是100%,材料单位是1. 比如某吃货,为了完成吃米饭这一任务 ...