为什么程序员熬夜加班,项目还是会延期?入门基础_项目入门教程

首先这和你熬夜加班没有半毛线关系,千万别自己感动自己,但凡是互联网项目,出现延期是常有的事情。项目延期之后,一般流程是领导开会,大家讨论,新一任背锅侠,然后下一次还是老样子.项目评审项目初期,评审是最重要的一个环节.这个需求能不能做,那个需求要怎么改,最后给到手的任务预估一个开发时间.初入开发的小白,最好有同事帮衬点,做不到的需求千万别接,不然整个项目都要卡

为什么程序员熬夜加班,项目还是会延期?入门基础

首先这和你熬夜加班没有半毛线关系,千万别自己感动自己,但凡是互联网项目,出现延期是常有的事情。项目延期之后,一般流程是领导开会,大家讨论,新一任背锅侠,然后下一次还是老样子.

为什么程序员熬夜加班,项目还是会延期?入门基础_项目入门教程

项目评审

项目初期,评审是最重要的一个环节.

这个需求能不能做,那个需求要怎么改,最后给到手的任务预估一个开发时间.

初入开发的小白,最好有同事帮衬点,做不到的需求千万别接,不然整个项目都要卡壳.

需求改不改关系不大,有的实现方式很简单,查一查资料就能快速上手,有的实现很复杂,没有谁会给你几天时间开发一个无关紧要的功能,不如直接砍掉,或者换一种简单的,免得费心费力还不讨好.

最难的就是估算开发时间,哪怕是一个有多年经验的老鸟,也不敢说估算的很准,不准确就意味着可能延期,没有奖金还扣绩效.

所以尽可能的多估算一点时间,因为老总和领导并不太在意你的开发难易程度,他们只要结果顺利,其他的自行想办法.

有时候,感觉评审就像是讨价还价的菜市场,刚刚手撕产品,又得单挑Boss,实在是弄得心力交瘁.

这个时候你别来提时间管理,老板是看市场行情,不是看工作卖力.

指定要在某个节日上线,假如留给你的时间只有一个月,实际项目开发要二个月以上.

评审的时候,你按最低最低的时间甚至预计自己加班后的最低时间估算,要二个月,中间不生病,不请假等等.

老板总会觉得这个模块不值得你估算的这个时间,这边砍几天,那边砍几天,非要砍砍才满意.

若是砍不到节前一个月的时间,口头上会临时加派人手,实际上每个项目都会有临时需求,别的都差人,哪来的给你用.

改需求

刚刚评审完敲定了项目流程开发时间,出了会议室还没有回到座位,新的需求就来了.

本来时间就一半当成两半花,结果左一个新需求,右一个新需求,三天一个大需求,一天几个小需求,搞得好像需求不需要时间似的.

没办法,产品,Boss一家亲,小小员工没有拒绝的权利.

如果说Boss定的时间,你加班,熬夜,周末也不休息,努力赶一赶工期,只要和预期差别不是很大,一般没什么问题,最多就是没有加班费,身体快挂了一样的累.

那产品需求就是枪林弹雨,不定时的炸弹,任你再多的时间都直接被打成筛子,一个炸弹就让整个项目可能挂掉重来,这种事情并不是没有过.

要知道,改代码往往比新功能开发至少多花费几倍以上的时间,越改越多bug,看似一个芝麻小的需求,很可能就需要推倒整个模块.

人人都是产品经理,可试问,有几个产品懂技术?

那种app识别手机壳颜色的操作不在文章讨论范围……

开发联调

时间可以预估,需求可以砍掉,但是人才是最不稳定的因素.

产品/UI和前端,前端和后端,前后端和测试,就拿前端来说,几乎和每个环节都要打交道.

一个项目由不同的人开发不同的模块,开发过程中需要不断的沟通和协调,才能顺利进行下去.

谁先谁后,或者同步进行,都有规律可循,一旦中间环节掉链子,空有大把的时间也只能卡壳.

正式开发的时候大家时间都很紧张,能够愿意腾出时间沟通,算是性格比较好,技术品过得去的.

最常见的问题是

  • API改了字段或者增删了接口,既没有及时通知别人,也不修改文档,让别人莫名其妙的排查,最终定位到他的时候,才懒洋洋的说知道了.
  • 测试包一直等待打包,确实是人忙不过来,还要一个一个手动打包,或者有时候忘了,等过一段时间问起,才想起来,又或者其他的,优先级问题

记得有一次,测试在禅道上提出一个bug,没有截图,说明也很极简,并不能很好的表达出问题所在.(注:自己刚入公司)

这边尝试复现,定位问题和排查,因为流程复杂,操作一遍需要一定长的时间,最后去问测试的时候,对方直接扔来一句”你不会自己去看啊”.

流程里就规定要注明机型,场景,尽量有截图,视频,总有人不按规定,这个bug定位只有他手上的测试机机型才有这个现象,而他知道却没说明.

要明白,主动过去不是意味着求帮助,而是花费自己的时间尝试去和对方友好沟通,去之前就完整的排查了一遍,要是文案详细,也没必要找测试.

类似于这种人,工作不负责,沟通不友好,说不定还是个老油条,对上面客气,上面不动他,对新人和同事不友好,你不喜欢他也对他没什么影响,活还是要继续干.

所以这种人,建议直接拉入黑名单,公事公办,之后的bug,但凡不明确的一律踢回去.

虽然公司会议上和项目群里一直说后台API要自测,测试反馈要详细,其他怎样怎样,可长期还是老样子,这其实和一个公司的团队氛围,管理能力,息息相关.

人在职场,除了本职能力以外,最重要的就是沟通能力,自己的沟通能力要强,可别人愿不愿意配合就是另外一回事了.

技术问题

一个bug卡半天的也不是没有.

个人的技术能力也决定了开发效率,只能说技术可以自我提升,但是上面的种种非人力可以干扰.

其次加班的效率并不高,常常三个小时不抵白天的半个小时,而且一般都是解决一些临时需求和伪需求.

技术本身说难也不难,说简单也不简单,区别在于花多少时间学,用什么方法学,有没有兴趣之类.

技术是一个软实力,无法可视化,无法短时间提升,也是一个综合能力,不一定和本职技术有关.

开发效率往往可以从一些软件,插件,硬件,工具,方法和技巧上来做提升,短时间几倍十几倍的提升.

如何提升工作效率,是一个开发人员长时间要去思考的问题,尤其是经常加班的前提下.

海计划公众号
(0)
上一篇 2020/03/23 18:38
下一篇 2020/03/23 18:38

您可能感兴趣的内容

  • Vue之Webpack入门及学习总结入门知识_总结基础入门

    Vue之Webpack入门及学习总结入门知识 Babel 是一个通用的多功能 JavaScript 编译器,但与一般编译器不同的是它只是把同种语言的高版本规则转换为低版本…

    2020/03/20
  • iframe的父子页面进行简单的相互传值使用说明_iframe小白基础

    当一个页面使用了iframe作为嵌套时,如何想要将父页面的数据传给iframe子页面,那iframe所指向的呢个子页面是怎么获取呢,又或者子页面的数据要给父页面使用,那么父页面又如何获取子页面的数据呢?下面根据这种情况作了一个简单的demo案例:父页面是parentPage.html,子页面是childPage.html。1、情况一:父页面获取子页面传入的数

    2020/03/26
  • 安卓移动端line-height垂直居中出现偏移的原因,及解决方法基础知识教程_居中入门基础教程

    目前在移动端安卓手机上使用line-height属性,让它的值等于height,结果发现是不居中的。出现了一定位置的偏移情况,如果略微只有两三个像素差距是看不出来的。左图中的字号是12px,右图中的行高是26px。仔细观察过上图后,闲话少扯,直接说说我对这个android上line-height问题的一些看法:字体大小不要使用奇数字号,带小数点的更不要提了。

    2020/04/05
  • Polar小白常识_一个用于PDF和Web内容的个人知识库,支持增量阅读和文档注释

    Polar小白常识 官方网址:https://github.com/burtonator/polar-bookshelf GitHub:https://getpolarized.i…

    2020/03/08
  • 写给Web工程师的DNS知识入门零基础入门_DNS入门知识

    你是不是对 DNS 记录的一些概念不太了解,比如 A 记录、CNAME、AlIAS 等。。下面让我们一起来学习一下~1 简介为了访问 www.savokiss.com 这个域名,你的电脑需要知道服务器在网络中的位置。这意味着:你的电脑必须知道 IP 地址才能跟服务器进行通信。而域名系统 (Domain Name System) 正是为解决这个问题而生。2 记

    2020/03/23
  • php底层原理之垃圾回收机制小白帮助_内存基础知识教程

    php垃圾回收机制,对于PHPer来说是一个不陌生但是又不是很熟悉的内容。那么php是怎么实现对不需要的内存进行回收的呢?php变量的内部存储结构首先还是需要了解下基础知识,便于垃圾回收原理内容的理解。大家都知道php是由C编写而成的,所以php变量的内部存储结构也会和C语言相关,即zval的结构体:struct _zval_struct {union {l

    2020/03/31
  • vue需要nodejs环境吗?使用指南_环境使用说明

    vue需要nodejs环境,vue是一个js,但是安装它却有点与众不同。安装vue一般是通过npm进行安装,node.js中包括了这个npm,所以安装完node.js就可以使用npm了。使用vue-cli搭建项目时也需要nodejs。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端J

    2020/03/24
  • 三元、或、且运算符妙用菜鸟指南_运算小白教程

    句式一、if(a) do_aelseif(b) do_belse do_c
    转化为:=>a ? do_a: b ?do_b: do_c
    句式二、if(a) do_a
    转化为:=> a &&do_a
    句式三、if(!a) do_a
    转化为:=> a || do_a
    三元://if else 实现
    var add_level = 0;
    if(add_step

    2020/03/22
  • React中JSX和虚拟dom小白入门_jsx入门基础

    1.JSX理解举例:const element =

    Hello, world!

    ;这被称为 JSX,是一个 JavaScript 的语法扩展。建议在 React 中配合使用 JSX,JSX 可以生成 React “元素”,而且JSX 可以很好地描述 UI 应该呈现出它应有交互的本质形式。JSX 可能会使人联想到模版语言,但它具有 JavaSc

    2020/03/26
  • 目前主流的前端框架小白常识_框架小白常识

    如今的前端已经不再像以前一样就是简单的写写页面和调调样式而已,现在的前端越来越复杂,知识点越来越丰富。要做WEB前端,就需要知道前端到底是什么,需要学习那些知识;前端至少要懂的三个部分:HTML,CSS,JavaScript(简称JS),那首先先明确这三个概念:HTML负责结构,网页想要表达的内容由html书写。CSS负责样式,网页的美与丑由它来控制JS负责

    2020/03/29
  • CSS自适应正方形问题菜鸟知识_自适应使用攻略

    移动端项目中经常遇到自适应的问题,下面我们来看看关于自适应的方法:方案1:设置垂直方向的padding在盒模型中,margin、padding的百分比数值是相对于父元素的宽度计算的,所以将padding值设为与width值相同的百分比即可。.box{
    width:50%;
    height:0;
    padding-bottom:50%;
    background-co

    2020/03/20
  • js中==和===区别?菜鸟教程网_区别入门教程

    简单来说: == 代表相同, ===代表严格相同, 为啥这么说呢,这么理解: 当进行双等号比较时候: 先检查两个操作数数据类型,如果相同, 则进行===比较, 如果不同, 则愿意为你进行一次类型转换, 转换成相同类型后再进行比较, 而===比较时, 如果类型不同,直接就是false.比较过程:双等号==:(1)如果两个值类型相同,再进行三个等号(===)的比

    2020/03/26
  • Hint.css使用指南_简单易用纯CSs文字Tooltip库

    Hint.css使用指南 官方网址:https://kushagragour.in/lab/hint/ GitHub:https://github.com/chinchang/hi…

    2020/03/06
  • Joomla使用说明一套全球知名的内容管理系统

    Joomla使用攻略 官方网址:http://www.joomlachina.cn/ 简介描述:一套全球知名的内容管理系统 Joomla!是使用PHP语言加上MySQL数据库所开发…

    2020/03/06
  • nodejs怎么设置编码格式使用教程_码小白指南

    很多小伙伴在使用nodejs时候会出现乱码情况,怎么设置编格式呢?方法一:使用res.write()设置标签res.write(“”)方法二:使用res.setHeader()设置Content-typeres.setHeader(“Content-type”,”text

    2020/03/20
  • vue中8种组件通信方式菜鸟指南_组件入门基础教程

    vue是数据驱动视图更新的框架, 所以对于vue来说组件间的数据通信非常重要,那么组件之间如何进行数据通信的呢?首先我们需要知道在vue中组件之间存在什么样的关系, 才更容易理解他们的通信方式, 就好像过年回家,坐着一屋子的陌生人,相互之间怎么称呼,这时就需要先知道自己和他们之间是什么样的关系。vue组件中关系说明:如上图所示, A与B、A与C、B与D、C与

    2020/03/29