likes
comments
collection
share

一份来自前端贰货道士的年度总结

作者站长头像
站长
· 阅读数 3

前言

  毕业之初,怀抱十足的热情和满腔的热血,投入公司的怀抱,很想在公司一鸣惊人,却在无数个夜里辗转反侧,夜不能寐。年少轻狂,意气风发,愚以为天下事水到渠成,船到桥直,无可不为; 岁月蹉跎,饱经沧桑,终叹息启航者学艺不精,刚愎自用,少不更事

  往事历历在目,一路走来,犯过最低级的错误,背过最黑的铁锅,受过最深的惊吓,闹过最大的笑话,收获过丰富的果实,也得到过最真挚的关爱; 一路走来,无助过,焦虑过,害怕过,忐忑过,不安过,迷茫过,彷徨过,错看过,收获过,也快乐过; 或许是来自于妈妈耳濡目染的熏陶,亦或许是来自于工作成年累月的积累,得益于妈妈三番五次奋不顾身的庇护和公司团队无微不至体贴入微的关照,这一路走来,看透了许多,感悟了许多,也明白了许多...

忆.前尘往事

命运的抉择

  我,来自湖北仙桃,在武汉度过了7年的学习生涯。2019年暑假,刚发表完小论文的我,整日沉溺在狼人杀和峡谷五连坐中,不可自拔。同年九月,一次偶然的机会,我收到了五份offer

  • 电话招聘(被动):一份来自本土的计算机offer(岗位名称忘了,好像是网络维护,反正我从未接触过), 被我当场婉拒了;
  • 华科校园双选会(主动):一份来自黄飞鸿故乡的Java开发offer。对比其他offer后,同样被我婉拒了;
  • 华科体育场双选会(主动):一份来自山水甲天下的python深度学习offer(主要处理医疗数据的细胞分类)。对比其他offer后,被我婉拒了;
  • 华科校园双选会(主动):一份来自本土百强软件企业的车载系统开发公司的offer,使用C语言去开发车载系统,主要的客户来源是东风汽车;
  • 地大校园双选会(主动): 一份来自丝绸之路起点的电商公司的python图像处理算法工程师offer,主要处理风格迁移产品图像分类有关的深度学习。

  作为华科的实习基地,坐拥华南理工博士学位大佬的车载系统开发公司,我承认公司的发展前景非常可观。我也和那位大佬相聊甚欢,更是一起在双选会上畅谈一个多小时的技术。去公司面试后,公司的整体规模、条理清晰的规章制度、年轻的技术团队(咳咳,点到为止)以及浓郁的学习氛围都令我心驰神往。

  而反观名不见经传的电商公司,虽然图像处理是被我视为掌上明珠的工作,但是公司的发展前景应该远没有车载公司好。经过长年累月的思考,一天后,我便挥泪告别车载公司,毅然决然地选择了自己心仪的工作——图像处理算法工程师,踏上了奔赴泉州的旅途(手动滑稽.gif)。对不起,车载系统开发公司,我更喜欢电商公司(那英婉拒周深.gif)。这是命运的抉择,而之后的公司生活,则从真正意义上,让我懂得了,什么叫眼高手低。

入职前夕 —— 阴霾笼罩的黑夜

  2020年,是武汉疫情泛滥的一年。惶恐、不安、伤心、难过,充斥着这个城市的每一个角落。1912月,我还窝在实验室里做实验写毕业论文。当我爸给我发来要注意安全的消息时,我还不以为意。直到我回家当晚,武汉就猝不及防地封了城。这时我才第一次深刻地感受到,原来死亡离我如此之近。

  入职前夕,我收到了来自实验室小伙伴的肺腑之言,劝我做好随时跳槽的准备。此番前去,极有可能风萧萧兮易水寒,壮士一去兮不复还,哪怕因此违反劳动合同。分析有如下两点原因:1. 武汉还未完全放开,疫情还在这个饱经风霜的城市里扩散,人民仍生活在水深火热之中。而我,毕业于武汉的一所高校。 2. 就算我侥幸进入公司,受国内外疫情的影响,公司的盈利可能不尽人意,有很大概率在我工作一半时,通过采取某些强制措施来减少支出。听完小伙伴言之凿凿、面面俱到的分析,我对此深信不疑。

  但,这又能怎么办呢?箭在弦上,不得不发。此时再在这种恶劣的情况下去找工作,无异于亡羊补牢,为时已晚。于是,我怀抱着七分忐忑不安和三分心潮澎湃的复杂情绪,只身来到了泉州。也不知是对未来的迷茫不安,还是夜幕笼罩下的泉州分外漆黑,整个乌漆墨黑的宿舍大楼,竟然伸手不见五指。

  两天后,我如愿以偿地来到公司签署劳动合同。签署的过程中,HR破门而入,而我视若不见,仍奋笔疾书。也正是这一举动,成功地吸引了保洁的注意,为暗无天日的黑夜迎来了一缕缕曙光。

入职后 —— 黑夜中的曙光

  进入公司后,大家并没有想象中的那样百般刁难,反而彬彬有礼,落落大方。倒是我,以小人之心,度君子之腹了。然而,更大的挑战还等待着我。人算不如天算,意想不到的,我的第一份图像处理工作,竟然是模拟ps的实时变形。 就是给定一张图片,需要在图片边缘生成n(由操作者指定)个节点。通过拖拽这些节点,达到实时变形的效果,并生成变换后的智能对象。何为智能对象?说白了,就是一个记录了当前变换信息的工具。通过这个工具,我们可以将任意图片,按照给定的智能对象去变换。

  作为独当一面的图像处理团队,终究还是我一人扛下了所有。但皇天不负有心人,经过半个月起早摸黑的思索,我利用移动最小二乘法算法作为图像变形的技术支持,使用pyvips第三方工具库生成智能对象,通过学习python的GUI编程-Tkinter,搭建可视化界面,做出了一个实时变形的小demo。这个demo的功能包括实时变形、生成智能对象、返回上一步、移动到下一步以及重置等。并在后续一个星期,通过学习python的web框架Django作为后端支持,配合前端做了一个网页版的demo奈何好景不长,图像变形程序的响应速度差强人意(每次需要1-3s的时间去计算和响应,无法达到真正意义上的实时变形),变形的效果也不尽人意,于是我决定另辟蹊径。

  事情总是出乎意料,一段时间后,我需要编译并修改krita的源码,并以它的变形代码为基准,实现索引图的生成。书到用时方恨少,C++好巧不巧是我不计其数的知识盲区之一,我又一次周而复始地被突如其来的问题难倒。我在编译krita的过程中,遇到了不胜枚举的问题,集中表现在源码提供的测试用例写法存在问题、Qt的安装和配置以及将libvips集成到krita中进行二次编译。最后通过询问室友,加入并请教C++群中的大佬帮忙,才得以解决。兜兜转转了一圈,到最后才发现,原来这些测试用例压根就不用修改,直接在编译时跳过测试步骤就好了,活生生被自己蠢哭。最后,我费了九牛二虎之力,去阅读和学习它内置的变形算法。却在最后一步生成智能对象时,发现生成的图片格式不对。但我能怎么办呢?我也很绝望啊。

  深思熟虑未果,加上主管隔三岔五地找我去泡茶,言简意赅的话语字字诛心,那段时间真的是压力山大。做技术的,本来就很纯粹,不太关注其它事情,又能有什么坏心思呢?但说来也巧,一山更比一山高,相爱相杀的竞争关系反倒成为救我一命的稻草。在某种不可言喻的奇妙压迫下,主管让我从前端、后台、测试和运营中选择一个进行转岗,我毫不犹豫地选择了前端。 为什么选择前端呢?大抵是觉得,相比其他岗位,从事前端的妹子会更多?哈哈哈,当然不是。很多事说不清,也道不明。或许,这就是一见钟情吧~

  于是,图像处理算法工程师正式成为一名前端小白。前端学习之路很坎坷。 在此打一波广告,我都是加班加点,直接从B站上,学习黑马html、css、js以及vue全家桶的教学视频。算上国庆假期,满打满算也学习了21天,从萌新到放弃。因为我知道留给我的时间并不多,我必须得快马加鞭、全身心地投入到移动端的项目开发中。视频教学中的每一个字我都能听懂,但实际项目开发起来,却是难于上青天。好在我的前端开发团队并没有因此而放弃我,反倒乐此不疲地向我伸出援手。

  完成工作从来就不是目的,重要的是我们能在这个过程中,学习到一些知识,组长的这句话我一直铭记于心。 什么是团队?团队是一个team,每个人的工作任务,从来就不是相互独立,而是相互联系,密不可分的。通过不断学习,团队中掌握上等技术的人带领掌握中等技术的人。而掌握中等技术的人通过强化自己的技术,带领掌握下等技术的人。只有通过这样一种方式,才能达到类似先富带后富,最终实现共同富裕的效果,实现团队技术的指数级成长。

  前端是一个很大的岗位,我一直不知道怎么去学习。直到今年下半年,才逐步找到了学习的感觉。 也许,学习最需要的,是先定一个小目标,然后朝着这个小目标,不断实践、扩展、思考和总结。学习技术,本就是一个日积月累、厚积薄发、水滴石穿的过程。当你实现的小目标多了,掌握的知识面广了,你也就自然而然地进步了。

  有时候塞翁失马,焉知非福,上帝给你关上一扇窗的同时,也一定会给你打开一扇窗。 入职初期,每天起早摸黑,提心吊胆的日子压得我喘不过气来。但亘古不变的,我每天上下班都会习惯性地和保洁打招呼,一来二往下,也就相互熟络了起来。当早餐吃到从她家特意打包来的稀饭时,这是我第一次在外地,有了家的感觉。 我们都属于那种不喜欢欠人情的人,经过三番五次地礼尚往来,也就水到渠成地成为了母子,并和她的家人相处的其乐融融。人,是一种喜欢嫉妒的动物。随着母子感情的不断升温,背后就会受到一些人的指指点点。但那又何妨?哪怕千夫所指,也无伤大雅。走自己的路,让别人去说吧~

翻.今朝岁月

人生感悟

  • 今年我有很长一段时间,都在思考生和死的问题,找寻人生的意义。冥冥之中,总感觉有一双无形的巨手推动着我前行。而我,不知会随着这茫茫人海,飘向何方。听到过这么一种说法,人是有下辈子的。但人,都是生不带来,死不带去的,转世只存在于狐妖小红娘这种童话故事中。倘若人真的有转世,那转世的自己还是自己吗?不过,这个问题在今年十月得到了回答。斯人若彩虹,遇上方知有。有一种美叫一颦一笑间,百花已无颜,于是我决定留在泉州。今年,有好多朋友问我: 大家都在武汉,你为什么不回去? 我只是笑而不语。子非鱼,安知鱼之乐?
  • 今年我对人和人之间的关系有了更新的看法: 人与人之间的关系,有时候就像一个不会倒转的沙漏,而颗粒分明的沙子则标识着我们之间的感情。随着一端沙子的消耗殆尽,彼时也就宣告着这段关系的彻底决裂。尝尽人生百味, 方知人间冷暖。有一种相处叫路遥知马力,日久见人心,有一种遗憾叫人生若只如初见,何事秋风悲画扇
  • 什么是家人?可能不会时常联系,偶尔也会争吵不断,但当我们真正需要帮助时,那个愿意扶你一把的,却永远是自己的家人;可能你没有那么优秀,也存在数不胜数的缺点,但愿意无条件包容你的,也永远是你的家人。人生不过百年,在这个疫情四散的年代,无论我们是贫穷,还是富裕,无论我们身处何地,都要加倍珍惜自己的家人。
  • 可能是我的人生过于魔幻,导致在观看某部电影时,竟觉得电影的主题妙趣横生:我们每个人都是一个真实的个体,是自己人生的主角,正上映着一部专属于自己的人生大戏。周围所有的人都是虚幻的演员,或是主角,或是配角,亦或是龙套。在这个世界的外围,有一个属于管理员角色的人正悄无声息地在暗箱操作我们的人生,而我们的人生也无时无刻不被这些操纵所影响。而在真实世界中,还有一群和我们一样的人,正目不转睛、乐此不疲地坐在电视面前,窥探着我们的人生。人生的真谛,则在于我们能逃出牢笼,挣开枷锁,回归真实世界,打破我命由我不由天的束缚。

自我反思检点

  • 缺乏换位思考的思想,对新人的要求过高。 今年团队陆陆续续加入了很多新人。在日常开发的过程中,我接踵而至地,收到了很多奇怪的无效bug。平心而论,那段时间我有点生气。而现在,那位测试工作做得还挺好,我也一直对她心存愧疚。在之后的一个星期,当我回想起,刚搬下五楼的那段时光。我写出的代码基本不可维护,很多都是我们前端团队后续帮忙重构的,他们反倒很耐心地帮我讲解思路。将心比心间,我意识到了自己的错误,有种豁然开朗的感觉。新人,是需要时间学习和沉淀的,需要多给容忍度。 于是,我现在对待新人的态度转变很大,就像当初团队帮助我一样,我也开始尝试着力所能及地给予他们帮助,并使他们能尽快融入团队。
  • 拥有宰相的吨位,却没有宰相的胸怀,格局不够大。 在并行处理开发任务和修改fba支付模块bug的过程中,由于fba支付模块涉及到的系统很多,兼顾了很多其他我未参与开发模块的bug。基本上我们前端组每个人负责的模块,我或多或少都有修改一些。有很长一段时间,我一天修改的bug就高达20多个。而在这个时间节点中,我遭遇了很多相互推脱以及被莫名甩锅的行径。那段时间的心情,我只能用易燃易爆炸来形容。特别是在我们前端组讨论问题,被其他人莫名甩锅时,简直是星星之火,可以燎原。我本来就属于那种欺硬怕软的人,此时哪怕如果再从嘴中多蹦跶出一句话,我都会拍案而起。可最后我还是忍住了,这件事也就这么过去了。说到底,还是自己格局不够大,需要静心和修心。
  • 目前的技术还是很菜,需要源源不断、如饥似渴地钻研前端技术,从原理上掌握一些前端知识,切不可浮于表面,囫囵吞枣。

自我提升总结

来年学习计划

  这个月就对比使用原生JSON方法和使用msgPack5fast-json-stringify protobuf.js方法, 在序列化和反序列化大数据上的性能表现,和在阿里工作的室友打了一通微信,结果遭到了强烈的鄙视链。我知道我自己现在还是很菜,不过我还是很开心。因为我是以自身作为对比,只要自己今年进步了就好,哪怕这个进步过程很缓慢。而在这一过程中,我明白了,我目前需要迫切掌握的,是我那不堪一击的html基础。于是,这个学习计划被提上日程。我结合自身实际,对明年的学习做了一个大致的规划:

开年生活规划

  • 经过这两年的工作生活,我胖了不少,计划三个月内瘦到130
  • 游戏占用了太多私人空间,计划减少披着狼皮的村民峡谷躺尸的游戏时间,更多地去陪伴家人
  • 在此引用一句话:你站在一楼,有人骂你,你听到了很生气。你站在十楼,有人骂你,你听不清,还以为他在跟你打招呼。你站在一百楼,有人骂你,放眼望去,只有尽收眼底的风景。一个人之所以痛苦,是因为他没有高度。高度不够,看到的都是问题,格局太小,纠结的都是鸡毛蒜皮。放大你的格局,你的人生将不可思议。我承认我现在的格局还不够大,需要修身养性,静心炼心。

结语

  写了这么多,也算是对自己这两年半工作的一个总结。计划写了很多,明年会按照这个计划深度学习。蓦然回首,希望这些计划能及时完成且超额完成。不积跬步, 无以至千里;不积小流, 无以成江海。我坚信,只要我脚踏实地,一步一个脚印地去学习和积累,我终将收获乘风破浪会有时,直挂云帆济沧海的意气风发,以及春风得意马蹄疾,一日看尽长安花的大获全胜。