zoukankan      html  css  js  c++  java
  • 开发人员应该具备的双重思维

    作为一个程序员,我大概经历下面几个阶段:

    第一个阶段,是刚上大学时候的编程课。那时候,主要是学习语法,学习如何将一个问题通过程序实现。这时候我的身份是学生,这时候我的产品的消费者或许是老师,或许什么都不是。对于汇编语言和C语音还是Pasical,一直纠缠于语法合法及程序输入输出正确性。

    第二个阶段,是学完《数据结构》和《数据库》之类的课程之后,教科书教我时间复杂度和空间复杂度,主要在这些事情纠缠。另外就是在算法上,如何递归和非递归,如何抽象,如何组装复杂的数据结构,如何编写500行以上的程序,如何debug等等。这时候还是程序的正确性,偶尔会有一两点所谓的“特效”。

    第三个阶段,是参加工作后才真正体会到的:是程序的可读性。对我最大的压力是如何读懂别人的程序,如何在几万行代码中找到添加功能的那几行。曾经见过一个函数超过千行的程序,是一个博士写的,里面有200行专供调试的打印代码。另外,就是如何和操作系统或者别的应用程序打交道,还有就是安全性。刚开始的三年,纠结于了解系统原理及理解系统(模块)架构,实现一个系统的小功能。

    第四个阶段,是如何和团队合作。这时候,写文档,设计接口这些就变成了一些核心的任务。这时候对于搭建一些超过3个模块或者BS/CS结构的应用程序有点吃力。另外,就是对于应用一些如中间件,框架的事情有点吃力不讨好。进程间通讯、分布式通讯都是难题。

    第五个阶段,就是通过实践及在合适阶段读些优秀的书籍如《设计模式》《敏捷开发》之类的,突然对于框架,小组开发有了一定的体会。这时候,或许如何交流和沟通变成了一件很重要的事情。另外,读懂别人的代码,改造代码就变成了一件大事情。

    第六个阶段,就是慢慢的对自己的软件作品慢慢的接触到用户,开始关注用户体验了。如何将代码写得优秀,如何将界面设计得好用,如何让小组开发高效,较短时间内完成软件作品,另外,就是如何防盗版之类的有了一定的收获。

    第七个阶段,或许就是观察行业动态,面对未来需求,来开发有创造性的产品了。另外,就是考虑小组开发成本,人员搭配的问题了。个人感觉我现在就处在这个阶段。

    总之,在这些阶段中,我慢慢的感觉到对于一个程序员来说,除了通常的技能要求之外,需要双重思维:小组开发思维和用户思维。小组开发思维就是一直要想象自己在和一个团队合作,无论目前小组成员就是你自己一个人;用户思维就是一直要用用户的眼光去考察自己的作品,用户用这个东西方便吗?好用吗?

    而对于项目经理来讲,也需要双重思维:成本思维和小组建设思维。成本思维就是要考虑时间和人力的搭配;而小组建设思维就是在小组开发过程中促进小组成员的进步…

  • 相关阅读:
    iOS 8 界面设计 PSD 模板(iPhone 6),免费下载
    20个华丽的时间轴例子,寻找网页设计灵感
    Hello.js – Web 服务授权的 JavaScript SDK
    Web 开发人员和设计师必读文章推荐【系列三十】
    Arctext.js
    30套免费的响应式 HTML5 & CSS3 模板下载
    Midnight.js – 实现奇妙的固定头部切换效果
    推荐20个很有帮助的 Web 前端开发教程
    SweetAlert – 替代 Alert 的漂亮的提示效果
    其实每个行业都有各自的辛苦,好的程序员并不累,他们乐此不疲(见过太多在职位事业、人生方向上随转如流的人,累了疲乏了就去做别的事情了。必须有自己的坚守和立足的点,自我驱动,否则沦为在别人的体制制度中被驱赶一生)good
  • 原文地址:https://www.cnblogs.com/shihao/p/2219191.html
Copyright © 2011-2022 走看看