这是北京的雪,昨天刚拍的

又是一个艳阳天,张大胖像一个天真无邪的孩子屁颠屁颠的欢快的走进公司,做到办公桌前,深情的打开了陪伴自己多年的电脑,如往常一样按部就班的和他玩耍了起来,大老远就听到张大胖那里噼里啪啦敲键盘的声音,透露着坚定和对梦想的执着,但似乎又让人感受到一丝悲凉。

突然键盘的声音戛然而止,只看到大胖愣住了,他看着旁边公司刚发的台历,上面有个大大数字9201,对现在已经是2019年了的2月了,还有10个月就是2020年了,18年给自己立的 flag 到现在还没开工。大胖此时陷入了沉思,他不想再让19年重复18年的状态 不想这样碌碌无为下去。大胖还是有比较强的自驱力,也是有理想的小伙儿,对前端技术充满热爱,希望可以成为一个比较 nb 的程序员,大胖算着自己还有几年就要奔三了,26 7啷当岁已不年轻了,不由的悲从中来。

大胖伤感的是工作太忙,每天忙于业务开发,很少能挤出时间来做自己想做的事儿,甚是无奈。

大胖深深的明白如果不提升自己的能力,不超越这个层次到哪里都是一样,换工作并不能解决这个问题,哪个公司也不会养闲人。对于公司来说公司的业务才是第一,对于我们个人来说成长才是第一。所以应该想办法在做好业务开发的同时,加速自己的成长,让自己有更多的时间来学习和提升。

大胖刚刚从伤感中爬出来,又眉头紧锁起来。大胖在想怎样才能挤出更多的时间,又不耽误正常工作的进行,这样就能有足够的时间去做喜欢的事儿。

过了一会儿,远处又传来噼里啪啦的键盘声音,是大胖在敲代码?在改 bug? 其实大胖是在做分析总结,他认真的分析了自己以往的工作状态和工作流程中因为惰性而没有优化的地方,想到了以往可以做的更好,可以让效率更高的地方。

不一会儿大胖列了一个清单出来

1. 拥有产品思维,拒绝纯粹执行

大胖想起来以前被产品坑的情景,需求中有一处逻辑很玄妙,但是仔细想是存在一些问题。大胖当时么有在意,也没有和产品提,就去开发了。到最后快要开发完的时候,产品发现了这个问题,然后非要改。结果胳膊拧不过大腿,后面的事儿想必大伙儿都知道了,就是加班熬夜赶工期。

回头想想,看似是被产品坑了,好像是被自己坑了。发现了问题但没有及时提出,多大影响也无从判断,把自己当成了一个纯粹执行者,完全处于被动状态,结果吃苦受累还废人。

所以啊,要扔掉执行者的思维,产品的需求也不可能100%对,所以从现在起你也是半个儿产品经理了。

2. 需求来了,别着急写

以前大胖接到了公司的需求,觉得这玩意也是轻车熟路了,拿过来不假思索的就开始干,撸代码。

写着写着,发现这里不对,遇到了一些问题,然后就改。

写着写着,发现那里不了,原来是当初自己想错了,又开始一顿改。

好了,开发完了,结果代码也是一团糟,毫无规范和美感,也埋下了不少坑和 bug。

如果当初能对需求理解清楚,然后对技术方案做充足的思考,复杂的业务逻辑是不是应该画个流程图什么的,如果前期工作做的比较完善,也不至于在开发的时候反复修改,浪费了时间,也导致最后的代码难以维护。

所以,需求来了别着急写代码,确定好技术方案和各种异常边界情况,甚至可以落地到一个文档。

也可以避免出现一些流程和功能性问题。

3. 提高健壮性,消灭不应该出现的 bug

大胖的一大特点就是手快儿,做什么都能快速的给你整完。可是这个质量吗有点不敢恭维,bug 不说特别多把,但是总会出现一些不该出现的 bug。

大胖心急啊,自认为也是个优秀的程序员啊,再出现低级错误的话,专业能力会被人怀疑的。不过现在已经有人在怀疑了。这些 bug 也浪费了大胖不少时间,回过头来想想真想掐死自己。当时脑子去哪了?

最基本的稳定性、健壮性都考虑不全,猪脑子了。

4. 解 bug 别盲目

距离上次被测试同学催命,过去了大约1个月的时间,但是记忆犹新,历历在目,因为惨不忍睹。大胖平时有点轴,不撞南墙不回头,处理问题有时候午饭都不吃。当时碰到一个 bug,吭哧吭哧的研究了大半天,终于解决了,可是还有很多特别小的 bug,测试在等着测呢?后来测试同学找大胖询问下情况,他们两个去旁边聊了聊....

当然大胖的公司的非常团结有爱,每个工作人员的人身安全和名誉是绝对不会受损的。嗯,这个就到这儿了。

大胖也是很懊恼,为啥我就那么有耐心去解那一个 bug 呢?放弃了一大片森林。大胖痛定思痛,绝对重新梳理自己处理问题的方式。

日常开发中问题有很多,但是有很多类似的,有简单的复杂的。最好先把所有的 bug 过一遍,按照优先级进行划分,先处理简单的问题。也就是把不费时间的先搞定,费时间的往后排。所有问题都应该处理,但是所有问题可能不能在较短的时间内彻底的解决。处理和解决是两回事。

5. 多自测,再提测

都是大胖的伤心事儿,辛辛苦苦的搞定了项目,马上就要提测,此时不巧了,领导来了,说要体验下新功能,大胖气定神闲的给领导演示。偏偏就是这么尿性,出问题了。问题不大不小,但是会阻碍测试流程。这下 sb 了。

大胖深深吸取了这次教训,原因是自己做好的东西,没有进行全面自测,对于大胖如此负责的帅哥程序员来说那简直就是奇耻大辱啊。

暗暗发下毒誓,如果我不自测,以后老子就不提测了。(这种心态是不可取的)

6. 业务第一,技术第二

大胖想起了另外一个同事的遭遇,当时那哥们认为做前端开发不用太注重对业务的了解,有接口文档就可以了。领导感觉他对项目已经比较熟悉了,后面的需求就让他独立负责了,最终的完成时间和排期有点误差,也就延期了 2 3天吧。但是具体的原因就是对业务知识了解不足,也无法给小组成员提供帮助,经常需要向其他部门同事寻求帮助,导致开发过程中沟通成本过高。

大胖回过神后,唏嘘了一下,幸亏没让自己上啊。不然捅娄子的就是我了。

处于应用层的开发,如果对业务知识了解不足会感觉走起路来有点瘸,时间长了还会影响正常的腿,所以要想高效的完成工作,熟悉业务知识太重要了。

...will end...

此时大胖已经在积极的谋划了,他深深明白了日常的工作中也有很多可以提升的空间,而这些提升不仅仅是技术上的,更多的是思路和思想上了。大胖坚定了自己的信心,要认真按照自己的路子去执行,高效高质量的做好业务开发,然后去做自己的事儿,逐步提升自己的技术,完成自己的 flag。

不一会儿......


远处又传来了噼里啪啦的声音,原来大胖又敲起了代码,但是这次似乎有所不同,速度好像更快乐,听起来更悦耳了。

作者:八门
个人微信公众号 - 重度前端
专注前端领域,分享工作、技术、生活感悟
少走弯路,少踩坑
欢迎关注 重度前端-和我保持长期关系

程序员日常工作中如何正确的偷懒?相关推荐

  1. 好文转载—程序员在工作中会追求什么?

    1. 做软件产品.我希望我参与编写的程序成为公司的主要业务.这就排除了 IT 维护工作,因为这种工作只是间接地支持了真正的业务(不管它是什么).我也希望参与系统核心部分的工作,越重要的越好.如果我做的 ...

  2. 使用 ABAP 开发的一个基于 Web Socket 的小工具,能提高程序员日常工作效率

    程序员区别于其他岗位的一个优势是,我们可以充分利用自己掌握的编程语言,将平日一些琐碎的,重复的日常工作,通过代码来实现自动化,从而省下更多的时间来投入到技术含量更高的工作中,提高工作效率. 本文介绍一 ...

  3. Java程序员-日常工作技能清单

    区别于找工作时的各种八股文整理,自己整理了一些工作半年来觉得一个Java后端程序员在实际工作中需要用到的技能,希望能给刚刚要工作的Java程序员们一点帮助吧. 1.计算机基础 Linux命令:cat. ...

  4. 个人认为程序员在工作中应该养成的一些良好习惯

    1.  离开座位的时候,记得把IM软件的状态设置为离开.(这是一个小细节,很多人可能不是 很注意,对于那些经常要与很多部门沟通的程序员这一点很重要的,原因你懂的) 2. 管理好你的代码.将线上代码(主 ...

  5. 很惊讶,程序员在工作中的幸福感竟然是?????

    今天我们程序员们组织了一场软技能的讨论,讨论的主题是软件工程师在工作中的幸福感是什么?出乎意料的是,有好几点都不在我的意料之中,而且竟然很多都充满正能量,更惊讶的是,我们程序员的幸福感竟然这么的简单和 ...

  6. android java 指针异常处理,Android程序员日常开发中异常总结

    CaptainAndroid.png Java异常 平时开发中遇到的java异常很多,因为引起原因一目了然,当然也有不好解决的,比如一个简单的空指针异常你可能始终无法找到其为空的原因,甚至使用前还做了 ...

  7. 程序员在工作中这样做,会省去一大堆烦恼

    工作心灵鸡汤经典语录 1.谦虚不是把自己想得很糟,而是完全不想自己. 2.一个人幸运的前提,其实是他有能力改变自己. 3.真的猛士,敢于直面惨淡的人生,敢于正视淋漓的鲜血. 4.人是从挫折当中去奋进, ...

  8. 程序员日常工作总结2020-01-21

    mysql 如果一个表有可能 并发比较高,请尽量拿自增id 作为主键 这里就要说到 自增作为主键 和 uuid 作为主键的区别: 自增主键 节省内存空间,是连续的,而uuid 是非连续的,内存使用率  ...

  9. 程序员在职场中该不该守规矩,讲原则

    几年前东哥在内部会议时感叹:"规规矩矩卖正品的愈来愈难,卖假冒伪劣的早就开上奔驰宝马了,导致越来越多人去买假货水货.那么大家都没有良知么?其实是长期社会观念的畸形导致的 -- 有钱,就是大爷 ...

最新文章

  1. Android 设置透明的方法
  2. usestate中的回调函数_React Hooks 源码解析(3):useState
  3. 如何才能轻而易举的写出递归函数
  4. 影响 PCR 体系蒸发的三大因素
  5. 力扣刷题常用数据结构和方法(java版本)
  6. ES5-7 立即执行函数、闭包深入、逗号运算符
  7. NOIP2008 普及组T4 立体图 解题报告-S.B.S.(施工未完成)
  8. android企业手机安全软件开发,基于Android的手机安全管理软件的设计与实现毕业论文.doc...
  9. 大咖齐聚!好好聊聊啥是AI大模型
  10. 京东宙斯php版本sdk不能用_多主机平台玩家的福音,北通宙斯T6精英版体验测评...
  11. 工程测量(建筑物施工、监测)
  12. 2345网址导航的恶俗广告
  13. 半中括号怎么用公式编辑器打?
  14. 如何把网址生成二维码
  15. 执行董事和CEO有什么区别
  16. NAPI之(一)——原理和实现
  17. 接口 抽象类 C++
  18. 从互联网到物联网:下一个创新风口到来
  19. github一直发邮件,如何屏蔽
  20. 观黄梅戏《打猪草》有感

热门文章

  1. linux可读可写为啥设置421
  2. shell实例第2讲:获取随机字符串
  3. oracle中的listener.ora和tnsnames.ora
  4. 前端一HTML:一: 浏览器,服务器,请求报文
  5. Spark1.0 安装
  6. 深入浅出JMS(一)——JMS简单介绍
  7. BZOJ1083: [SCOI2005]繁忙的都市
  8. Ubuntu init启动流程分析浅析
  9. OpenCV Canny边缘检测
  10. C++ Time类重载运算符