zoukankan      html  css  js  c++  java
  • 十年风雨,一个普通程序员的成长之路(十一)再见,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,我,来了。

  • 相关阅读:
    file is universal (3 slices) but does not contain a(n) armv7s slice error for static libraries on iOS
    WebImageButton does not change images after being enabled in Javascript
    ajax OPTION
    编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
    获取海洋天气预报
    C#线程系列教程(1):BeginInvoke和EndInvoke方法
    js控制只能输入数字和小数点
    Response.AddHeader(,)
    ManualResetEvent的理解
    Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 区别
  • 原文地址:https://www.cnblogs.com/yaomaomao/p/12133349.html
Copyright © 2011-2022 走看看