入职半月,初窥门径

如题,这篇文章写于入职后两周零两天,地点深圳图书馆。
本来是想昨天写的,昨天与我对接的后端下午过节去了,原本应该是个清闲的下午,然而刚刚整理完开发文档和填坑笔记后,就来了新需求,所以挪到今天写了。

本人以实习生身份进入一家公司,利益相关,匿了,工作两周有余,感慨颇深,遂写下此文。

我准备从工作、生活、学习三个方面总结体会。

实习工作,初窥门径

如果原计划顺利的话,我应该是不会进入我目前这家公司的,但是生活就是充满了变化与不确定。年前头条挂在了算法上,平安科技通知我他们实习生不要211,cao,然后腾讯的内推还一直没有消息,等过完了十五终于受不了了,索性来到了这里。

公司环境

我司是一家国家持股的混合型公司,条件很nice,工位很大跟我租的房间差不多,单位提供早中晚饭,而且每月给工牌里打饭钱,基本属于免费。工作之后,我甚至做到了在学校时都无法保证的“每天都去吃早饭”。

因为是合租,而且通勤时间长,索性每天就起的很早(不用和其他人抢厕所),然后慢慢悠悠的坐地铁(有时是公交,具体看心情),溜达到公司。到公司的时候基本没几个人,慢悠悠的吃完早饭,冲杯美式,开始工作。

每天下午还有下午茶,就是一些糕点什么的,我运气很好,下午茶的摆放地点就在我身后不到两米的地方,脚一蹬地,椅子过去,伸手一拿,再蹬回来,署实方便。

公司坐落在深圳湾生态科技园,写字楼三楼是一个超级大的平台,把这片的所有写字楼都链接了起来,绿化什么的也做得很好。公司二楼还有一个露天庭院,有时晚上吃完饭就去那里坐着吹吹风。但是现在发现了离我工位不远的地方就有一个露天阳台,这几天都是去那里吹风。

公司二楼还有一个水吧,之前去了一次看了眼价格就再也没去过。

公司文化

整个公司采取的是全透明办公性质,组长和院长甚至董事长的办公地点都是能直接用肉眼看到的。公司文化也不错,第一天组长就反复跟我说:“这里很开放的,没必要那么拘谨。”

虽然才入职两周,说完全了解公司的文化是不可能的,但是这里的加班文化署实让人震惊。原则上是晚上六点就下班了,然而我几乎没有一天离开公司的时间早于8点,最晚的一天出公司门是十点半。还行,他们挺照顾我的,没让我周日来加班,哭了。

我司每年都会举办技术分享大会,上到董事长下到基层,上去做技术分享会,历时三天,我很幸运刚入职就赶上了这个会议。但是因为我司不是纯正的互联网公司,很多分享的知识领域对我来说是盲区,就第一天听了下董事长的分享和我所属部门的头头的分享后就再去没去了。

工作

实习生不是活少,是工资少

上面那句话是昨天秦神说的,我当时犹如醍醐灌顶,把心里稍许的不平衡打消了。

入职前,家里人都告诉我,实习生没什么活的,也就是端端茶倒倒水,基本不会充当生产力的。然后入职当天上午,就直接参与了某个外包公司与我们单位的一个项目的对接,下午由于原本的头去开会了,前端这一部分就我独自参与的对接。

那时,我还天真的认为,我也就是给别人打打下手,应该不会让我直接接手的。显然,我没能理解组长见到我时说的那句话“诶,你会前端啊,正好我们缺人”。现在回想起来,甚至感觉当时组长的眼睛都在冒光。

是的,我作为组里唯一会些前端的人,承担起了项目对接后的前端负责人,说是负责人实际就我一个人。我前段就一个学校大作业的半吊子水平,没办法,只能硬着头皮上了。

俗话说得好,一切能在互联网上找到答案的问题都不是问题,还有一句话是,除非你在网上找了很久都没有找到答案,再去问别人。望各位互联网的同僚深刻记住这句话。

说是前端,实际上是微信小程序,我之前只是知道微信小程序主要通过js开发,以为跟vue之类的框架类似,但当我打开官方文档的那一刻起,就发现我错了。

微信小程序说是用js开发,但是本质上与iOS和安卓开发没有多大区别,而且和传统的前端开发也有很大区别,虽然看着差不多。许多操作需要调用微信写的接口。简单说,就是用传统的前端方式来写iOS app。

这部分我之前是打算开个新坑更新博客的,但是后期发现,官方文档虽然说得不是很详细,但是网上这方面的博文已经很多甚至很成熟,自己重新写这些意义不大,索性就直接在本子上记录下一些奇奇怪怪的坑,没有整理成文章。

也不能说运气不好吧,刚入职就赶上了一个项目的落地,这个落地项目还是一个超级大的项目的先前部队,所以公司上层很重视这个落地的进展情况。而且这个部门里就我一个稍微有些前端基础,很自然的所有前端变动都落到我的头上。

不能说需求总是变动吧,单基本每天都有两三个新需求,有些需求简单,有些复杂的需要改动多个页面的逻辑。而且我也是刚开始学习小程序,公司里也没有做过小程序的前辈,有些不懂的我只能问同学,在这里再一次感谢提供帮助的游总和程总,等回学校请你两吃饭

剩下的关于小程序这部分我放到后面去说。

职场新人,很多东西我都不了解,不会沟通不会拒绝,导致了入职第一周的周五身体出现了状况。当时是晚上八点左右,刚跟后端改完一个离奇的bug,产品(组长)过来跟我说今晚上线,上线前再把这个功能写出来。当时顿时感觉压力山大,再加上晚上没有吃饭,最后诊断是低血糖加上心理变化,心脏出现了应激性反应,反正当晚是直接去医院了,在医院待到11点多才离开。

这也是我需要学习的一个地方吧,调整心理并且敢于沟通善于沟通。

到了第二周,情况就好多了,虽然每天的新需求不断,但随着对小程序的不断理解,并加上和产品积极沟通,每天虽然很累但是感觉很充实。

而且我司不是纯正的互联网公司,就连我所属的部门都不是纯正的互联网部门,面对一个即将上线的产品,我站在外人的角度发现各个方面都有缺陷。

  • 首先是一个产品从开发到发布的环节链的缺失。

我接手的小程序之前是由外包公司写的,我入职时正好是交付阶段,之后所有的新需求都交给我这个新人来写,而且前端部门就我一个,从某种角度来说我的官挺大的。然后是测试,缺少完整的测试环境与流程。我的工作在某一方面还包含部署,但是令我惊讶的是,竟然没有测试环境,我部署的话是直接部署到生产环境,当时我就想,这要是某个功能bug没有测试出来,出事了,那我就要被迫离职了啊。

  • 其次是需求的强制性下达。

正常产品和开发中,至少是有一个人等级是对等的,这样讨论需求上能从开发的角度谈一谈实现该需求的可行性。但是我司是上层给下层下需求,有些需求难以实现,甚至需要将整个产品重构,这种事情放在互联网公司里可是要郑重决策的。

  • 缺少完整的开发团队与运营团队。

按照工作性质来讲,我们部门算是算法研发部门,但是自从这个项目上线以来,他们除了承担算法,还包括后端,测试和运营。我现在接手的项目只是个大项目的前置落地项目,在其后面还有一个超级复杂的应用需要落地,虽说这个落地已经在我离职后了,但是到时若没有一个完整的开发团队,其中包含iOS和安卓的移动端、后端、测试、运营,落地的难度会及其的大,单单只靠外包公司是不行的。

  • 各个版本的需求说明不清楚。

就拿我的任务来讲,缺少明确的版本说明,不知道下个版本要上线哪些功能,只知道这些需求的优先级,这让我写的时候就很迷茫。有些需求有很高的优先级,但是实现起来需要一周左右的时间,其次版本上线时间不明确,搞得我不知道是先写短时间内就能完成的,还是其他什么。

为人处世,初窥门径

以这个实习为界,在此之前所有的生活都是在象牙塔里,并没有那么多的规矩,随心所欲。但我发现,一旦到了职场上,你会不自觉的开始思考,我应该怎样称呼对方,用什么样子的方式去向对方表达自己的见解。

组里的同事都叫组长某博,我刚开始不知道啊,就知道个名字,索性就从组长变为了旭哥,正好我叫我高中班主任也这么叫,挺顺嘴的,就这么叫下去了。然后组里另一个产品,刚开始我直接张口“钱姐”,当我把这条消息发过去时就意识到了把对方叫老了,之后改口了,但是还是很尴尬的。

这类的事情到第二周还时有发生,之前的前端负责人组长叫他华强,但是对方比我大很多,我不能这么叫吧,索性叫“朱哥”,没办法,听上去怪怪的。

然后想说的就是之前说的沟通问题,特别是有关工作的沟通问题。

现在我摸索到了一些敲门,当上面让你完成一份文件或者ppt时,立马跟上去问截止时间和具体内容,以及其他一些需要注意的事情。着手工作后,遇到的或者间接遇到的问题,或者觉得之前没有问清楚的地方,或者你不明白的地方,一定要及早及时的询问,等一切都问明白了再动手。不要等到最后提交时才发现存在问题。提交之后马上问一下,或者估摸个时间对方看完了再问一下,所完成的工作是否存在什么问题。

事前、事中、事后的及时沟通很重要。主动沟通是提高效率的关键

还有关于开发方面上的沟通。我现在接手的前端,虽说按之前的那种方式开发没问题,但是在上周实现的某一个需求上,我深刻发现了与后端充分沟通的必要性。那个需求是更改支付逻辑,并且还要判断付款人的性质,根据不同性质执行不同的支付操作。

拿到需求后,我跟后端讨论了大约能有40分钟,把从传值到最后实现的各个细节都讨论清楚了。本来这是个大需求,而且涉及到支付后的一系列操作,但是充分沟通后感觉虽然复杂但是写起来特别简单,最后的实现也是基本做到了bug free。

其次就是和产品的沟通。虽然产品是我的组长,是上级,但是该沟通的还是要沟通,需求觉得不合理就要提出来,虽然每次跟组长讨论需求时都怕怕的,但还是要硬着头皮上。只有把需求讨论清楚了,才能写的舒服。而且一定要和产品亲自讨论需求,不要从后端或者其他人那里得到需求就去写。

举个例子,我接到的有个需求是让客户录入他的公司和部门名称。这个我刚开始是从后端那里得知的,我就很简答的用了input组件,没想到写完后给组长交付,他跟我说要做picker(下拉式菜单),所以大半个下午的工作需要重做。从那之后,所有的需求细节我都是直接去找产品询问。

生活是最好的老师,有些事情只有你踩过坑之后,才有所收获。技术亦如此。

微信小程序,初窥门径

任何技术想要速成,都是存在代价和隐患的。

在入职第一天,组长问我,“能不能试试微信小程序”,当我回答“可以试试”的那一刻起,我就走上了一条不归路。

还好的是,微信小程序是腾讯弄的,官方文档是中文,而且国内相关的论坛已经趋向成熟,这种种便利条件给予了我很大帮助。

还是那句话

一切能在互联网上找到答案的问题都不是问题

入职后不久,我就开始了面向文档和谷歌编程,开始接手小程序的更改。

虽然这么做不地道,但是没办法

期间也是踩了很多坑。因为我们这个项目并不是原生小程序,是H5与小程序的结合,听说是最开始的技术选型是完全的H5,但是后面出于各种复杂的原因,变成了现在这个样子。

因为涉及公司秘密,下面有些关于项目的描述我只是略过。

项目里有很多关于H5和小程序的跳转,有些还是要先跳到小程序中拿到一些值回传给H5,这就导致有些H5页面因为要等小程序传值,渲染的过程有几秒的白屏,这个是硬伤,网上我也没找到什么好的解决办法,较好的办法就是重构。

说道重构,我其实是有这个意图的,但是没有跟组长说,我怕我说出来就不是个意图这么简单了。同学,收起你那大胆的想法。

但是重构我还是想试试的,每个程序员心里都会说,“这写得啥玩意,我来重写一个”。我打算用连续几个周末的时间和离职后的时间,一步一步把H5的功能移植到小程序上,当然到目前为止这还只是个想法。未来几周的空闲时间,我打算先把整个架构构思好,然后再看看实现的复杂度。

因为我并不是个纯正的前端开发,很多问题都是第一次遇到,有些方法也不知道怎么调用。而且搜索引擎的功能也是有限的,有些问题只能找人来解决。这里没啥说的,再次感谢程总和游总吧。

总结与展望

这个标题起的像是给领导展示PPT,23333。

现在我在生活与工作中还是找不到平衡,有时候加班到家已经快12点了(没办法,远,路上包含走路估计有70分钟,至于为什么这么远,因为房租便宜)。然后还存在一些其他的私人问题。

虽然入职这两周很累,是之前从未体验过的船新版本(滑稽),但是收获很多,我在小程序这方面,还有前端,学到了相当多的新知识。这方面的知识我已经整理到自己的小本子上了,至于整不整理成博客,看日后心情吧。

我司虽然工作很累,但是总体上工作还是很开心的,认识了很多大佬,接触了很多新的知识领域,身边也有很多人都是有海外留学背景的,说不定将来我在国外遇到什么问题,还要向他们需求帮助。

而且我本意是想找家公司写C++的,因为正如在上篇文章中说的那样,因为将来绝对上研,有充足的时间了解学习各个方向。

你说我一个主写iOS、搞过深度学习的,怎么就去写前端了呢?当时我就吟了一首诗 虽这么说,但是我觉得我干完这份实习,我的前端水平将来应该也能去中等公司应聘了。

说到这,我对于我将来干什么方向什么岗位还是迷茫的,组长在平时闲聊之余也问过这个问题,也建议再考虑考虑算法岗,甚至是读博的问题。关于读博,身边有好多大佬保研都是直博,去日本的舍友也说将来准备赴美读博,家里的话也是支持我上博的,关于这个问题看将来吧,现在没法定夺。

就这样吧,写到这里,外面正下着大雨,深圳这一周都是雨天,虽说我喜欢听雨声,但是不喜欢在大雨里回家。很久没有写这方面的文章了,自己都感觉构思和措辞上大不如前,看来以后也要把写作锻炼加到日常表里。