技术
语言主要还是OC,跨平台依旧没有开动,Flutter继续火着,年初参加了谷歌开发者大会,明白行业趋势明显,也在项目里试用过,正打算少量部署时候又遇到人员紧张,不得已放弃。项目架构方面采用模块化开发,通过cocopods私有库方式将各业务模块集成到主项目。这也是项目逐渐变大后业界惯用的管理方式,不然每次全量编译确实有点头疼。
私有库分为业务模块和基类模块,分为两个组件,基类属于一些第三方工具或者自有组件的集合。业务模块按照产品业务罗列了七八个模块,用subspec方式集成,选了CTMediator为中间层实现组件通信。
中间受业务方变化,需要将部分模块提取出来给其它项目使用,由于两边发布日期不一致,需要梳理一套可行的分支管理方案,保证其它团队使用的分支是模块测试上线后的稳定分支。后续随着产品迭代,两方差异化的东西逐渐增多,需要不断在模块内部宏判断区分项目,所以凡是这些地方都在不断的做剥离,将共用模块分离再次分出基础部分和公共部分,以免最基础的核心上课部分受到影响。
之后还尝试做了一些封装静态包的工作,也是两个项目公共部分的备选方案,因为打静态包后调试不方便,所以最后也没有启用,再说两方都是自家团队,也没有必要隐藏代码。不过以后做开源项目的话就需要考虑这些了,如何定位分析问题还是该想一套靠谱的解决方案。
难度在哪里
优化工作一直在进行,三个客户端平台,一份数据流,各团队实力也参差不齐,需要相互配合的事情真是不少,bug定位也不太好排查,今年数据方面总算稳定了,各端的老代码也梳理替换的差不多了,难题在于可选的优化方案并不多,业界流行的很多解决方案都没有真正使用,也不知道是不是能解决现有问题。另外定位问题的方式也很有限,更底层的东西了解不多,说半天我们核心是做界面绘制、数据传递的,到头来只会贝塞尔画个折线,只会通过第三方socket实现数据收发,有点说不过去。至于弱网优化怎么弄,界面的数据错乱该从哪方便下手,音频怎么中断,怎么补帧,这些都比较棘手,只能去啃一些更专业的技术文档了。
团队
带团队也是一年工作重点,团队人数增增减减,和每个人确立核心价值成了重要任务,我始终觉得团队齐心协力才能办大事,要确保某些标准在团队每个人心里位置都差不多才行,人员变动大的话这些事做起来就很累,代码review消耗了大量精力。公司动不动会搞一些匪夷所思的做法,传到基层就演变成了舆论事件,到最后无一不是把每个人都搞得很心寒。对内讲是锻炼团队,要刻意营造憋屈辛苦的工作氛围,要么天天996列队喊口号,要么是长达数月的加班出差,最后竟然是一句大家辛苦了敷衍了事,要说是逼不得已必须要出差便罢,可事实往往是只需要某几个人出差的事情,为了所谓公平就要求近百人全体出差,最后的票据费用拖着半年不报,种种做法真是感觉在玩人一样。
在此其中我也很没有方向感,集体荣誉更是无从谈起,我不知道面对团队时该说些什么,该说些鼓舞的话时候更是不知道该用什么表情。很多时候不知道自己该不该两面三刀的做人,为了不让自己憋着我费劲心力去猜上级的用意,想这种费力不讨好的做法到底是图了个啥?有啥高深的目的,或者说这些都不是老大的意思?那我要不要去写些东西私信下?这样合适吗?总之我能看到的是每个人都窝着火,开始讨论离职的事,部门主管还在煞有介事的逼问离职原因是啥,也想过根本就是部门主管不靠谱,对于一些显而易见的问题非得要用调查的方式得到一个几乎完全相反的结果来说明他拿到了真正结果,再想其年长与我,行业经验好像也比我多,可是我真的是没见过这么做事的。
从公司角度讲,分明用奖励几个人出差工作的事情,最后要花数十倍的成本去营造所谓的公平,我觉得一些高管对公平两字是不是有什么误解,一个员工再怎么自发的辛苦付出和其他人得到的都一样这就是公平?
再说氛围, 我相信人在憋屈的环境里是很难有创造力的,看起来连续数月的封闭开发,通宵达旦干劲满满,但大家心里谁也不是傻子啊,公司创建才多久?高管都动不动撤了,所谓的凝聚力是极其微弱,哪有那么多人为了集体心甘情愿的付出呢?都说苦尽甘来,轮番几次都没有甜头不说,到头来还发现这个苦是刻意伪装出来的,指不定是为了故意侵占劳动力而有意为之。
既是来改变教育的,以德服人是不是该放第一?人性关怀是不是该重视?行业竞争固然激烈,也不能总拿内部人来开涮吧。把成本高的员工逼走,换一批低成本的,这样操作也能续命,但真要经历一些外部舆论事件,受过委屈的人都会站出来揭短抹黑,根本就经不起打击。boss直聘也经历过几次负面新闻,印象最深就是创始人总结说整个过程中没有一个员工或前员工出来爆黑料,这就是凝聚力的一种体现。
归根结底,我们的决策者最终是不太希望员工有个人思想的,随意的想怎么折腾都行,而我还想要个充实的职业生涯,从根本上这就是互斥。虽然想过以后可能会创业,想过委曲求全进入决策层看个究竟,但大环境突变,又没有核心竞争力,还是担心其半路夭折的风险太大,冒不起这个险。另外自己这两年感觉完全是在做业务,关心获客成本、谈单技巧,关心招人,公司营业额,唯独不关心技术。自己设想的一些技术方案都主动的给业务让路,以为做客户端技术也就那样了,更多深层次的东西极少用到,所以不去研究,忽略的自己的个人成长,作为技术人,其实最该做的是实打实的把自己的基础夯实,否则认知不匹配,有机会在面前了也把握不住。想清楚这些也是思考了好久好久,焦虑症上来的时候经常会整晚失眠。
收获
今年把写文档也提上了日程,公司也要求,自己也觉得该写,一份内容详实的文档力量真是太大了,不容忽视,把复杂的思路拿文档描述出来瞬间就变得清晰了很多,而且还可以一传十十传百,简直提升影响力的利器。能把自己做的事情完整的表达出来真的很重要,职业生涯里能把这事做好离业界大牛也就不远了,所以自己也在试着做,费曼学习法真的很有效,本身需要学习的东西就非常多,找到一个适合自己的学习方法至关重要。
受观念变化的影响今年在简书上也开始记录一些东西,等于是自己学新事物的训练场,另外我自己也总结了个理论:我喜欢电子产品,闲暇总喜欢鼓捣鼓捣,总希望有个地方能摆放我这些零零碎碎,因为觉得自己喜欢了一番,到最后总得留下些什么东西。正如我的职业一样,我做了这么多年喜欢的技术,我也总得留下些什么东西,日后来看,这些就是我路上的一些成长。这兴许也就变成我更新的最佳动机了。
成长
有人说怎么看自己多久以来有没有成长,那就是回忆下自己多久之前的样子,感觉自己之前的样子是不是傻逼......所言极是啊,想想之前写得哪些代码,真的都不想承认是自己写得,IM协议用的还是http轮询,架构方面也没有意识,都是堆在一起。今年初做iPad应用,因为涉及两端代码重用,还要把核心功能打包给其它项目使用,再加上迭代频繁,如何做到高效低错误就必须要在架构方面多思考了,架构师高薪不是白拿的,怎么通过尽量不写代码来让工作更轻松、更稳定,就像怎么通过尽量不上班实现财务自由一样伟大。
书呢,还是看得少。编译,操作系统几本圣典买了好久了都没怎么翻过,今年生活上的事确实是太多,算了,也不找外因了,再怎么找也补不回岁月,过去的就都过去了,未来稳扎稳打来对抗焦虑症就行了。
这焦虑倒也不是因为快到什么35岁分界线,而是总是担心继续待下去会错过什么东西,我一直没走买房还贷居家过日子的路线,所以对职业发展和生活幸福感看的尤为重要,不辞辛苦跟一个潜力项目,然后做成明星产品股份变现,这种路线是我最为青睐的。
在线教育现在是很火,但是生不逢时赶上了经济下行,公司估计比我还焦虑,决策也频频失误,对内又怨声载道,怎么总结呢?还是能力不行,焦虑可以,但章法大乱那就是能力问题,都是来争口饭吃,你针对的是社会,我针对的是行业,组成公司到底还是合作关系,不是你所谓的包养关系。
两年奋斗归零,所以今年职业上也算是没什么成长,总结教训往前看呗,三年前定目标说三年进阿里或者拒绝阿里,如今只剩不到一年了,中间想法一直在变,转后端,转AI算法,转产品,甚至转运营都有想过。其实还是因为自己不够意志坚定,目标不够明确,坚持改革开放100年不变要写到宪法里,我的目标该写在哪里?我又敢写在哪里?
写给未来三年
对于完全摸不清规律三年后该怎么制定计划呢?就跟我党学吧,从好多年前就讲,下一年是中国经济最困难的一年,怎么往下走,从上到下完全也没有把握,可到最后还不是把一些事做成了,所以也不把计划定的那么明确了,未来是艰难的,架构也是要继续学的,AI也是要涉足的,听说让自己心静的最佳方式是抛弃那么多的好奇心.......这是要让我搓自己命门。