今天和大家分享一下,程序员如何独当一面这个话题,这是一个很大的话题,我把他分成三部分来谈:
  一、需求转换的能力或者叫理解需求的能力;
  二、分配时间的能力;
  三、开发质量的问题;

我为什么把时间分配优先级放到代码质量的前面呢,原因有两个:
  1.如果时间把控的好,及时功能有点问题,也是有时间来修复,相反及时程序代码质量再高,到了完成的时间节点没有完成,那就是灾难性的。
  2.代码质量是通过时间的积累,技术的沉淀,修复成本越来越低,提升空间越来越小的因素;而时间规划却是和人的行为习惯挂钩不好去改正的一个点,比如你让一个拖延症的人变的行动迅速,是一个相对艰难的事情。
所以,我觉的合理分配时间的能力的权重要>开发质量的问题。

在开始之前,先给大家看一下思维导向图:

一、需求转换的能力
  需求转换的核心就两个字“沟通”,开发成本最大的浪费是需求浪费,这分为两方面,一方面需求方,无效需求或者需求变动带来的研发成本浪费,另一方面是需求方和研发方需求传递不一致的浪费,简单来说就是没有充分沟通,导致研发所做的功能和需要方需要的功能不一致,导致返工的现象。第一点是我们作为研发不能把控的,我们能做好的就是在需求传递的过程中,保证需求的有效性和完整性。
那么具体要怎么做呢,可以通过以下几点:
  1.开发前需求沟通,最理想的沟通方式:产品提供需求文档 => 研发人员先过一遍,记录有疑问的需求点 => 产品和研发讨论需求,把所有的需求都过一遍,有疑问的点重点沟通 => 研发人员用产品能听懂的话,大概的描述一下重点讨论的需求和实现方式 => 产品确认无误,启动开发流程。
  2.开发中沟通,或者是开发前模拟程序实现流程的时候,如果有未谈到的需求或者有异议的需求,及时和产品沟通之后在开始做编码。
  3.测试阶段,给需求方演示程序,最后一遍对接核对需求。
如果能保证以上三点,基本上在需求转换的工程中已经算一个合格的程序员了。

二、分配时间的能力
  做软件开发的一般情况下都是,以功能(或叫结果)为导向,以时间为衡量标准的一项严谨的工种。所有“时间概念”在软件开发中发挥着无疑比喻的重量。
在说合理分配时间之前,我想有必要先说一下,程序开发的生命周期,在很多人眼里,程序开发有啥周期,做完不就完事了吗?其实这是小作坊的思维方式,对于一个合格的软件公司或者大一点的软件公司来说,即使到了开发实施的这一步,也分为5步:软件设计,思考最优实现方式 => 撸码 => 测试阶段 => 修复完善 => 交付,完成开发。
一般来说,对我个人而言软件设计,思考最优实现方式要占用30%的时间,撸码占用50%,测试和完善20%,当然,这个不能一概而论,对于新书来说思考的时间短点,关键点在留够测试和完善的时间,测试和完善的时间越长,项目的成功几率就越大;对于大咖来说思考的时间更长,因为代码质量过硬,所有测试和完善的时间可以相对分少一点。
如果你能认识到小作坊和生产线的区别,就能合理的安排时间,尽量提前完成开发,进入测试和完善的阶段,才是关键。
影响时间规划的还有另一个原因,项目冲突,比如你再做B项目,突然测试人员找你说你的A项目有一个xx问题,这个时候,你就要平衡一下优先级,原则上来说,是先处理优先级高的问题,但一定要把控的是尽量不影响自己的B项目计划开发进度。如果实现迷茫可找你的领导来权衡,让他做决定,这一点很重要,一定不能忽略。

三、开发质量的能力
  这一点是最后一点,也是最偏重技术的一点,那么怎么去衡量开发质量的,我把它分为三个元素:
  1.基本的评判标准,功能可以正常使用;
  2.可读性高,利用他人和自己阅读、修改,降低维护成本;
  3.模块化程度高,提高扩展性,降低维护成本,提高开发效率。

综上所属,写给正在奋斗的你一点小小的建议:提高自己主观能动性,调整自己心态,以主人翁的心态,积极的面对工作。你在认同公司的同时,公司才能认同你!

程序员进阶之路—如何独当一面相关推荐

  1. 程序员进阶之路 --- 如何超过大多数人?

    点击上方 "程序猿杂货铺" ,选择"置顶公众号" 每天 0 点准时推文,我们不见不散! 本文来源 | coolshell.cn 当你看到这篇文章的标题,你一定对 ...

  2. OSChina 周一乱弹 —— 程序员进阶之路

    2019独角兽企业重金招聘Python工程师标准>>> 周日各位是怎么过的呢?是在加班还是在睡大觉?有时间的话咱们程序员还是要好好学习,补充一下. 程序猿的读书历程:x语言入门-&g ...

  3. 图解 | 搞定分布式,程序员进阶之路

    编程是一门艺术,它的魅力在于创造. 65 哥已经工作两年了,一直做着简单重复的编程工作,活活熬成了一个只会 CRUD 的打工 boy. 65 哥:总是听大佬讲分布式分布式,什么才是分布式系统呢? 分布 ...

  4. 程序员进阶之路:四个程序员职业阶段,通常对应不同的薪资待遇!

    IT行业可谓现在的热门行业,程序员也是很多人羡慕的工作.薪水高,不用东跑西颠,敲敲键盘,看看屏幕,一切工作全都搞定,轻松而方便. 但是,果真如此吗? 不尽然,实际上,程序员的职业生涯也是一个求道的过程 ...

  5. dedecms怎么改php版本_PHP程序员进阶之路

    PHP开发工程师处在初级.中级和高级阶段需要掌握的技能也不同,本文分享PHP工程师处在不同阶段下需要掌握的技能. PHP初级开发工程师 PHP初级开发工程师需要掌握的技能 1. 走进PHP的世界 PH ...

  6. 【程序员进阶之路】吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程

    8 月 8 日,--基于 Coursera 的系列深度学习课程,希望将人工智能时代的基础知识传播到更多人身边.一周过去后,许多人已经学完了目前开放的前三门课程.这些新课适合哪些人,它是否能和经典的&l ...

  7. java程序员进阶必读书单

    以下是我推荐给Java开发者们的一些值得一看的好书,从java基础开始到高级,以及从高级进阶到架构等的书单. 基本都是经典之作,可以利用工作闲暇的时间,系统阅读. [外链图片转存失败,源站可能有防盗链 ...

  8. 从Java程序员进阶到架构师,6大核心技能要领详解

    " java架构师技能将分为如下6大环节:数据结构和算法,Java高级特性,Java web核心,数据库,Java框架与必备工具,系统架构设计. 希望能真正帮助到从程序员进阶到架构师之路的朋 ...

  9. 程序员成长之路(一)

    最近 ,总感觉有点郁闷,工作原因! 我是一名程序员,但完全没有经历过过正统的的程序员之路,一直在自我摸索,迷茫了,总结一下,找到迷茫的原因,再继续, 直到现在,仍旧如此.有的人限于能力愿意,到了某个高 ...

最新文章

  1. 设计模式之简单工厂模式
  2. ​“好师父”如何破解大学生就业难题
  3. 【GoLang】tcmalloc jemalloc
  4. eclipse 快捷键文件地址
  5. 【教程】利用libsvm-mat建立分类模型model参数解密【by faruto】
  6. IOS项目之分层MVVM
  7. sockaddr与 sockaddr_in
  8. micropython stm32f407 以太网_[MicroPython]STM32F407开发板DIY声光控开关
  9. 爱奇艺《青春有你3》节目组决定终止节目录制
  10. SecureCRT-SecureCRT如何保存界面的日志信息
  11. mysql工具分页原理_高效的mysql分页方法及原理
  12. 【王道操作系统笔记】系统调用
  13. Spring-data ElasticSearch的使用
  14. 《计算机组成与设计(硬件/软件接口)》读书笔记
  15. 后台仿京东商城接口设计缺陷吐槽篇
  16. 输出100以内所有的素数
  17. iPhone4S 未能激活蜂窝移动数据网
  18. 计算机开机进不了bios,开机进不了bios,教您怎么解决win8开机进不了bios
  19. php strtolower 大写,PHP strtolower()用法及代码示例
  20. 论文阅读_Show, Attend and Tell: Netural Image Caption Generation with Visual Attention

热门文章

  1. bash --config command not found 报错
  2. 转载:35岁前成功的12条黄金法则
  3. 15-多容器复杂应用的部署
  4. Problem B: 结构体---职工信息结构体
  5. C#解密出生日期【C#】
  6. 洛谷P2016 战略游戏【树形dp】
  7. Android 那些年,处理getActivity()为null的日子
  8. SQL 强制指定索引加快查询速度
  9. java8-02-Stream-API
  10. Flask+uwsgi+Nginx环境搭建