• 十年风雨,一个普通程序员的成长之路(十一)再见,2019。你好,2020!


    00 回顾2019

    在过去的这一年里,收获最大的便是眼界了,

    与高水平的同事们一起合作,让人愉快。

    与高水平的领导共事,则让人受益匪浅。

    2019年元旦前后那段时间,突然陷入了焦虑,买了一些极客时间的课程,加入了一些知识星球。也确实提升了自己不少关于职场、工作、生活的一些认知。

    但是收货最大的还是在工作之余,开通了一个公众号【姚毛毛的博客】,将自己平日的笔记、读书心得整理发表,并已经有了38篇原创文章。

    在这里,感谢公众号作者【沉默王二】和【大飞码字】。

    而持续的输出,更是倒逼着自己不断去学习和总结。

    在博客园的文章也多次上了最多推荐和最多评论,还是有点鼓舞的。

    甚至还有约我写书的,不过感觉自己的能力还有待磨炼,就婉拒了。

    2019年,在公司内也做了几个有意思的项目,旁听了公司大佬们设计的架构师训练课,还参加了公司内部的一个数据库高级训练营。

    01 PC端自动化测试工具

    PC端自动化测试工具的调研这个过程,其实挺有意思的,就是寻找windows、Linux上各种开源、商业工具,并去使用、验证、对比。

    特别是现在关于PC这块的资料都比较少,因为现在的软件基本都已经是B/S和移动APP的天下了,大片大片的资料都是基于浏览器、APP的自动化工具。

    这个项目的目标就是为公司内多种不同技术栈(nw.js、QT、.NET、cefsharp等)的多款PC端产品,调研合适的商业或自研工具,进行PC端自动化测试,节省重复的人力工作。

    在两周到一个月的时间内,调研了10多种自研及商业工具(UIAutomation、Selenium、LDTP、AutoIt、SIlkTest、poco、Airtest、PyAutoGUI、按键精灵、Squish、HP QTP[原UTF]、Ranorex),编写了自研及商业工具的演示脚本,与各个产品的研发及测试人员进行多轮沟通、演示,最终选定了ranorex工具。

    其功能强大、价格便宜,试用后在公司内部广泛使用,节省了较多人力资源(节省投产比可达1:比10以上),满意度较高。

    02 跨网闸数据交换平台

    其二就是本年投入精力最多的项目,就是模拟ACK(Acknowledge character)应答做出了跨网闸的文件交换平台。

    这是第一次这么快节奏的带队开发一个项目。

    一个月,初版开发完成,还有一个月调试、开发插件、现场与其他系统对接、摸清网闸情况,分步部署。

    虽然延期了,但还是于4月底成功上线。

    历史两个半月,几乎每天都是996。(而这也为我的身体健康埋下了隐患。)

    本项目一举解决了现场文件交换速度慢、不稳定、乱丢包、无监控等等问题。

    虽仍有许多未尽人意之处,但相比原来的交换手段(没有监控,没有异常重传,听天由命)已经是贾玲到陈希妍的进步了。

    回顾项目历程,春节过后第一天上班,就一脸懵逼地被拉进了这个项目,然后成了研发leader。

    又要求一个月交付。倒排了下工作计划,几乎每天要完成一个功能模块。

    但是,又有点跃跃欲试,想挑战自己一下,便接下了这个任务。

    中间经历了很多波折,但是结果还是不错的,在项目落地后确实解决了很多问题,所以后续公司其他产品、项目也陆续采用了本平台作为基础组件。

    在这之后开了许多分支做了各种项目的兼容优化,又在合适的时机统一了版本。

    03 总结:得到与失去

    眼界

    1、在PC端测试工具的调研过程中,追查各种文献、资料,下载、使用、编写脚本、比对、验证,在这个过程中强迫自己连蒙带猜地去翻译英文文档,是痛苦而又蛮有意思的一件事情。

    在github上提issue,邮件联系工具作者,向商业工具的公司询价,基本上不懂什么英文的我,被迫着使用翻译软件,通过邮件与外国人交流(笑)。

    在这场调研中,我总结了关于PC端测试工具的几种通用方法。

    (1)屏幕坐标定位。按键精灵、pyauto基本都是这类。

    (2)图像抓取。SIlkTest基本就是这类工具的鼻祖,网易的Airtest其图像抓取能力就是基于这个开发的。

    (3)元素定位。如UIAutomation、AutoIt、poco,Airtest的元素定位就是基于poco开发的。

    而nw.js这种封装Chromium浏览器成为伪PC端的工具,使用selenium就可以解决自动化测试的问题。selenium就是基于元素定位的。

    在所有自动化测试的比对方法中,元素定位应该是最靠谱的了。

    而最难解决元素定位的就是同样封装了webkit作为客户端的cef了,找寻了各种官方资料都没法解决,原来是开发人员用cef做了两层封装,所以取不到浏览器中的元素。

    幸而最后找到了ranorex这个工具,否则就只能使用UIAutomation作为基础组件进行自研了。

    健康

    在交换平台开发的日子里,几乎每天都要写日报,汇总各小组成员的进度情况,评估总进度状况,给各种大佬邮件抄送。

    忽然有一天晚上,回家已经23点多,在上床睡觉前,胳膊拉伸了下,突然就胸口有点疼痛。

    本以为是自己用力过猛,却没想到这样的疼痛持续了十多天。

    最后请了假,去医院拍了胸片、心电图,都没看出什么毛病,只是现在一加班,比较疲累,就会隐隐疼痛。

    而疲惫的身体也开始让我渐渐思考,工作以外的一面。

    人际协调

    在交换平台在现场第一次上线时,没有处理好与测试团队、对接系统、现场部署团队的协调关系,进一步发现了自己的能力缺陷。

    适合做事。做冲锋陷阵的前锋。

    不适合处理复杂的人际关系。不能在一个各怀心思的团队中挂帅。

    有时做事的方法会让人产生误会。

    有时又把事情想得过于简单、理所当然。

    用领导评价的话来说,太“简单真诚”了点。

    或许是因为之前一路过来所在的团队都比较简单吧。

    终于在大公司体验到了一次【大公司病】。

    幸而没有病入膏肓。

    此后对于本次延迟上线的事做了一次复盘,我的复盘是缺少一个镇得住场子的人,来协调处理上线这件事。大家各做一团,没有一个职级或威望较高能得到各方认可的人来牵头做这件事。导致一波三折。

    不过也算是好事多磨吧,经历风雨,才能见彩虹。最终还是产品说话。

    从不信任到质疑,到合格甚至满意的高度评价。也是源于产品本身的质量所在。

    在大家陷入低潮时,我曾假装自信满满地说过一句话,“我还没有做过失败的项目,这个项目肯定能上线。”

    信息不对称

    在工作中,你总会与你的上司、下属产生信息不对称的情况。

    为什么你的领导总是要让你重写PPT?

    为什么你总是不能一次到位地把任务分解给你的团队成员?

    在19年经历了转正、独立调研、带队研发等等事情之后,发现某位大佬说的话很对。

    信息永远是不对称的。因为信息一直是在动态输入的。

    你的层级不同,接触的信息面也自会不同。有时可能只是领导间随意的一个聊天,便决定了今年的KPI。

    而在接收上司任务的时候,不要等到全部完成了才去跟领导报告,应该在途中就问问你跑的方向对不对,是不是南辕北辙了。

    作为上级呢?也有可能是信息不对称的一方,不是他所获取的信息都一定是正确的。否则就不会有那么多被下属的PPT报告忽悠瘸了的CEO了。

    而在研发leader这一层级(不论是两三个还是三四十个下属),也不要到了deadline才去验收下属的工作,而是在中途就应该check一下。

    往往有时候,你所理解的“任务完成”与他认为的“完成”并不是一个概念。可能你的“任务完成”包含了开发、测试、BUG修复、上线这一整条流程,而他的呢?仅仅是说我开发完成了,连单元测试还没写呢。

    认知与信息茧房

    在2019我觉得收获最大的两个词就是认知和信息茧房了吧。

    没有获得财富的认知,就是金山在你面前,你也只会认为是一堆石头。

    而信息茧房就更可怕了,“在爱的魔力中转圈圈”,我们会像春蚕一样,使用自己的能力吐丝,把自己局限在“茧房”中。

    网易、华为,让我认清了公司的本质

    而在前段时间陆续发生的事,则让我认清了什么是真实?什么是虚幻?

    如网易的癌症员工维权拿取应得的补偿金事件(诬陷、暴力、涉及家人),如果不是10万+的阅读量,大大小小的公众号传播,这个事还不定是什么结果。

    虽然最后网易道歉了,但是大家都调侃出了一个段子。

    “你被裁员了,没有补偿。”

    “我有一个公众号。”

    “等等,我们商量商量……”

    虽是笑话,却有点泛苦。

    而华为的胡玲、李洪元事件,更是让一向宣扬爱国、奋斗精神的华为其鲜红招牌上染上了一层灰色。

    因为实体清单、孟晚舟得来的路人缘基本被败的七七八八。

    李洪元因离职时拿了2n+1的补偿金,反手被HR告敲诈勒索,被公安机关关押了九个月,整整251天后,检察院决定不起诉而重获人身自由,只因一段当时与HR离职谈判时的录音被找到。

    而在事件发酵之时,华为却只是一味删帖。

    由此产生了一个段子,工作996,维权404,离职251。

    在网易、华为的案子中,录音笔,一时成了主角。

    最后,对自己,对我的读者们说一句:在公司里,将本职工作做好就ok。然后,花点时间多多提升自己,看看技术圈以外的出路。

    04 展望2020

    如果要给我的2019标注几个关键词,我觉得是:眼界、认知、SMART。

    SMART是由Specific、Measurable、Attainable、Relevant、Time-bound几个单词组成,大意即是可衡量的最小化目标。

    而对2020,我的期盼则是:

    写一本书,

    做好一个独立站,

    拥有一群志同道合的朋友,

    开始锻炼,拥有一副健康的身体。

    就这样吧,再见了,我的2019!

    再见,996!

    再见,那么努力的自己!

    再见,那么疲劳的自己!

    你好,2020,我,来了。

  • 相关阅读:
    Python性能提升小技巧
    算法-第四版-练习1.3.32解答
    算法-第四版-练习1.3.30解答
    算法-第四版-练习1.3.31解答
    算法-第四版-练习1.3.29解答
    PAT (Basic Level) Practise:1030. 完美数列
    PAT (Basic Level) Practise:1010. 一元多项式求导
    PAT (Basic Level) Practise:1012. 数字分类
    PAT (Basic Level) Practise:1038. 统计同成绩学生
    PAT (Basic Level) Practise:1018. 锤子剪刀布
  • 原文地址:https://www.cnblogs.com/yaomaomao/p/12133349.html
Copyright © 2020-2023  润新知