我们每个人的手机里都装载了不同功能的软件,他们大大方便了我们的生活、学习。每一个软件的开发都离不开工程师的功劳,他们化繁为简,用一行行代码将天马行空的想法实现出来。 我们采访了三位实力工程师,在一家互联 公司(是的就是扇贝)当程序员,是怎样一种体验呢?
小狼:AI算法工程师(自然语言处理方向)
我是小狼,在扇贝从事自然语言处理(NLP)相关的工作。
19年6月17日,我决定在自己30岁这一年,送自己一份生日礼物:南京大学非全日制研究生录取通知书,专业是自然语言处理。
于是,为了拿到这份礼物,我成为数百万考研泱泱大军中的一员。
我下了扇贝单词, 名了365计划来督促自己。365计划中有一封信,是自己写给365天之后的自己的,在那封信中,我满怀希望地写道:“你考上了吧?”
彼时我已工作6年,刚从一个舒适的行业中跳槽出来,成为一名算法工程师。对外的说辞统一成了“为了更好的发展”,省去无谓的解释。而我心里知道,最重要的原因,是这份舒服让我难受。一场安稳的旅途永远不如一场伟大的冒险让我心驰向往。
但毕业多年,对应试极大不适应,我最终没能给自己赢来这份大礼。坦然接受失败之后,我选择调剂到了江苏科技大学。
这段经历虽然谈不上成功,但至少让我觉得,三十岁还早,我依然在改变。
20年6月17日,我的扇贝365计划到期了,我续了一年,在给自己的信里,我又写了一个目标:“一年后,你应该已经成为扇贝员工了吧。”
20年8月20日,我被扇贝录用,岗位是AI算法工程师。截止到今天,我在扇贝工作9个月了。虽然不到一年,但这段时间的经历足以改变许多我对于自己工作的“刻板印象”。
我所在的部门是Lab组,通过名字大家才能看出,这是一个带有实验性质的部门。我们的职责概括来说,就是能用技术解决的问题绝不占用人力。在这一点上,公司甚至是不计成本的。
举个例子,当我们在扇贝阅读读文章遇到不认识的单词时,点击一下就能拉出这个词的诸多解释。但是,哪条释义才是该词在文中的具体释义呢?
“要追求极致的用户体验,应当把最准确的释义,直接告诉用户。”阅读组的同事向我们提出了需求。
这个功能很有价值,也很难。
有挑战才有动力,我们内部评估了一下需求的可行性,就开始动手做了。
历时1年多,该功能上线了!我们还在不断地优化迭代,以期将更准确的结果呈现给大家。
扇贝阅读 – 我的 – 设置 – 阅读设置 – 释义智能排序
Lab组技术氛围极其开放。除了承接业务需求,任何工程师都可以提出自己觉得有价值的事情,当然前提是能说服同事和上司,大家一起推动一项新技术、一个新工具的调研和应用。目前我手上正在策划一个跨组协作事项,因为项目还没上线,暂时不能透露太多细节。
这在别的公司看来可能“不务正业”:开发岗位自己给自己加需求?太匪夷所思了!但是,我的上司同意了!他甚至建议我,试验期间不如搬过去和合作同事一同办公。这让我一度以为,在扇贝,只要你愿意,倒立写代码都没人管。
在我这辈子过去到未来的三四十年的开发生涯里,扇贝也许不是终点。但在那之前,我一定不枉此行,好好享受这段冒险。
八戒:后端工程师
我是八戒,目前在扇贝从事后端工程师的工作。
我与扇贝结缘于2017年,可以说是相见恨晚。毕竟当年高中考托福的时候,文曲星上都还没有这么好用的英语学习软件
在国外读了CS专业,2011年顺利毕业,工作了几年后,因为家庭原因,决定回老家南京发展。先经朋友介绍,去了一家国企,待遇不错,工作也不忙,非常适合“躺平” 。但是干了几天开始觉得,这里的工作氛围不是我想要的,也很难找到志同道合的人一起提升自己,于是待了两三个月就”逃”出来了。
选择扇贝,就是因为这儿比较开放和“好玩”,并鼓励尝试新的技术。
扇贝在新技术应用这块一直走在前沿。当时reactjs技术刚出来没多久,而在南京,用reactjs技术栈的公司屈指可数,教育行业也是我看好的行业之一,所以我就来到了扇贝,岗位是前端工程师。
入职后,扇贝运维方面很快就升级到了Kubernetes运维技术栈。当然,升级到任意一项新技术都可能会踩坑,我们也不例外,不过好在公司愿意花时间和人力去顺应新的技术发展,而这的确也让项目上线和管理容易了不少。
记得当年我们开发了一套书籍管理项目,我和一位运维同事一起调试了一整天,一直到凌晨才勉强上线。而相比之下,有了新技术的加持,现在的项目套个模板几分钟就能上线了,很标准很方便。
后来和公司其他技术大佬一起搭建了扇贝编程的技术框架,待编程走上正轨后,我来到了基础服务组,更深入地帮助大家提升工作效率。
部门团建
扇贝用的是云服务,不用动手去机房拔插硬盘,两三个人就能管理整个”机房”的机器了。这看似“躺平”即可,其实仍然是随时待命。时不时的就会收到 警邮件,虽然服务还没受到影响,但已经需要作出行动。平时的工作就是不断地调整和监控 警自动恢复能力,尽可能在问题出现之前就把它消灭在萌芽之中。
可能很多老用户会有印象,以前逢开学季,扇贝的服务器会经受不住突然暴增的流量,有时会“挂掉”几分钟,影响到大家打卡。现在现在几乎没有出现这种问题了,个中原因就是运维能力的提升。
很多人形容,运维的工作就是把自己的工作用自动化给干掉。但我想,这恰恰也是这份工作的魅力之处吧。
firzencode:移动端工程师
我是firzencode,目前在扇贝从事移动端开发的工作。
大概是 97 年的时候我接触了人生第一台电脑,那时我刚上小学,家里人不知从哪里拼拼凑凑弄出了一台组装 PC,我抱着一本字典一样大小的《Windows 从入门到精通》,天天对着屏幕敲敲打打。当时玩了些啥,都已经记得不太清楚了,但是从那时起,我就已经埋下了学计算机的念头。对着电脑只要输入正确的指令,它就会照着你的要求来运行,把你脑海中的想法和蓝图变成现实,这实在是太吸引人了。
考大学的时候,我首先定好了专业,然后才去找学校。作为一个土生土长的南京人,高考过后,我去了合肥读大学,学了软件工程专业,在苏州实习,又到杭州工作了两年,在包邮区一直兜兜转转,做着软件开发的工作,也算是实现了年少时的第一个梦想。
回到南京的理由其实很简单,“写完这行代码,我就回老家结婚”(笑)。回南京前找工作的时候,有一个同学和我提到,“我们大学备考四六级用的扇贝单词base就在南京啊,你要不要去看看。”在经历了笔试和面试的反复碾压之后,我终于来到了这里,那是 2016 年的春天,算算日子,加入扇贝,到今天也有五年多的时间了。
刚来公司第一天,还在熟悉环境,立刻第一个任务就来了,要给扇贝单词的首页增加一个「再来一组」的功能。原本以为自己有过一些工作经验,还挺擅长这块的,结果到了新环境里,仍然是手忙脚乱,花了一整天时间,才整理出方案,在系统里留下了第一份代码。
自己测试了下功能,一切正常。正想着终于完成了第一个任务,结果老大在做代码评审时指出了许多问题:这里写法不规范,这里命名不好,那里漏掉个极端情况没有处理……来回修改了三次,才最终过关。
大汗淋漓之余,感叹着扇贝的工程师们对细节的要求。特别感谢部门的老大,他对这方面的要求极其严格,让我以及后来新加入的小伙伴,都养成了良好的工作习惯。
每当新版本上线的时候,移动端的工程师们总是十分紧张,和其他端的工程师略有不同的是,我们的代码一旦被安装到手机上,想要修复问题就会比较困难,有的时候甚至需要重新发新版本,让大家重新下载安装才行,所以每个新版本上线后,大家都会时刻关注相关预警系统的变化。那一段时间,每次收到预警系统的消息推送,都要赶紧看一下,生怕出现什么问题。
随着逐渐脱离新手阶段,我开始参与了更多功能的开发,扇贝单词的学习流程、扇贝口语的建设、炼句和阅读的各项功能等等,有的功能至今仍在为同学们服务,也有的功能还没有完成就半路夭折,陆陆续续的,也提交了这么多的代码了。
到了 2019 年初,扇贝内部进行组织结构调整,我所在的部门虽然仍然继续做着软件开发的工作,但是方向上也开始出现了一些新的变化,我们除了直接写一些看得见的页面之外,还会整合各种通用基础功能,像是统一的登录功能、支付功能、微博微信分享等等。
当 Android & iOS 新系统更新时,我们也需要第一时间进行新系统的适配,保证大家在手机更新后,也能正常进行学习。
我和小伙伴们还需要为其他工程师提供各种工具和平台来使用,我们做了图片压缩插件、视频格式转换工具、日志解析工具、内部的软件打包发布平台等等很多功能,可以让大家更好地完成日常工作。
打包平台的迷之图标
我们作为地基的建设者,无法帮助大家学会具体的知识、提升不了大家的技能,但是在我们努力保障稳定性的软件上,看到大家努力成长与改变的样子,就会感觉到自己的付出有所回 。
除了写代码,我的特殊“技能”还有组织娱乐活动。我在公司成立了桌游 团,在闲暇之时,和同事来一局解压。
和同事玩王权骰铸(Dice Throne)
未来,期望扇贝可以为更多同学带来价值。
编者的话
在扇贝工作的这几年,和很多工程师打过交道。他们中有的人不拘小节,穿着格子衫,趿着人字拖,没有“dress code”,只有“Show me the code”。有的人一改外人对程序员的刻板印象,不仅能写一手好代码,还兼具优秀的沟通和表达能力。
希望小狼、八戒和firzencode的经历为你揭开程序员工作的一层面纱。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!