很多程序员通常都认为自己的工作就是编写相关代码, 其实这种想法是不太正确的,程序员的工作除了写代码之外还有很多其他事情要做的,需求分析,设计等等,而写代码只是其中的一部分而已.
程序员的工作内容,其实就是帮助客户去实现无纸化,或者是帮助客户讲日常的工作进行软件化,这样他们会在工作效率上面有一个很大的提升.
虽然说程序员往往在解决问题的时候也会涉及到一些编码方面的工作,但这也是很小的一部分,更多时候还是在做一些设计.
在整个项目的构思和构建过程中,如何进行迭代是很重要的,他让我们更加深入理解和怎样完善产品,基本上软件不会一次就设计成功,往往需要反复的设计,编码,测试,重新设计,编码,测试,迭代的过程主要用的是验证功能,而非写代码,因为写代码的成本实在是太大了.
还有一个重点就是能用于测试、评估和筛选的系统也是不可少的,要是没有的话,团队的开发人员只会有自己的一套标准,这样就完全统一不起来,还会各自将所有的精力投入到自己认为可行的方法上去,当发现有问题时就晚了,需要付出很多时间才能够去做修改.
而上述的这些虽说和写代码没太多的连贯,但想要做出一个成功的产品这些绝对是不可缺少的部分,实事上,很多开发人员还是关心是否能找到一个在内存中搜索二叉树的最佳时间复杂度的解决方案.
可是我认为这并不是很重要,以我常年的经验来说,我个人是不去借鉴类似于这些书籍里的内容的.
当然,我也从不否认算法和数据结构的重要性,我想说的是,是否有很多人用这个软件还才最重要的,如果没人用你觉得再好也是无用的,要有团结合作精神,还要很好的学习解决问题的技巧和构建迭代模型这才是重要的,至于代码那真的是很小的一部分,所以作为一个优秀的开发人员,当然不仅是只有写代码了.