607
社区成员
章节名:概论
页码:第1页 2017-07-11 20:25:26
我成为了一名职业程序员,但是我发现所有的算法别人都已经实现了,我只要调用就可以。似乎我们公司的软件与数据结构、算法的关系都不大。那我当初辛辛苦苦学习的数据结构和算法有用么?如何区分一个好的程序员和不好的程序员呢?
引自 概论
体会:书中举的四则运算的例子做深了以后可能还涉及一些相对比较复杂的算法,可是在现实中接触到的系统很多是业务驱动的系统,用户量可能不会超过2000,CRUD,业务复杂流程交给成熟的工作流系统去做了,CRUD是很简单的数据库表操作,数据库操作有现成的框架,前端有现成的框架,后端有现成的框架,程序员要做的事情就是熟悉现有的框架,完成相应的业务模块的开发。典型的开发过程是:拿到一个业务需求,建模->转换成实体类->对这个实体类的CRUD->拖出一个工作流流程图->把流程涉及的表单用前端框架做好->调用封装好的工作流的方法实现业务流程操作。在整个过程中,似乎用不到任何复杂一些的算法和数据结构(最多可能会考虑一下实体类之间一对多之间的关系),但是仍旧有些程序员做的很好,bug非常少,功能也很稳定,有些bug很多,这样可以区分去好的程序员和不好的程序员么?
其中提到了:现代软件工程 课件 软件工程师能力自我评价表
按我对于程序员的理解,首先是要过硬的专业知识,编写代码的能力过硬,能够适应重复的,机械性的工作。其次,从人的角度来说,思维严谨,做事周密,对于关键的细节考究,对于过于的细节又能够选择性忽略。第三,从团队角度来说,程序员往往是不能够脱离团队的,和团队的其它成员有良好的沟通和认识,首先确保好自己所工作的职责范围,在这一基础上能够为团队尽量做出更大的贡献,同样是一个重要的衡量标准。最后,技术始终是不断迭代,不断革新,所以好的程序员也要跟上时代,跟上新技术,不断学习,将新的技术用在实际要解决的问题上,这一点也尤为重要。
原文地址:https://bbs.csdn.net/topics/613267777
编译器和运行环境通常能比人更快地解释一个问题。一个优秀的程序员在拿着问题去向别人寻求帮助之前,会自己试试看并判断方法是否有用。很多程序员干这一行只是为了挣钱,如果有更好的职业,他们会毫不犹豫的辞掉程序员的工作。而优秀的程序员热爱编程,喜欢钻研代码中的问题,他们感到能指挥电脑来帮助人们和自己解决现实生活中的问题是一种神奇的能力。当遇到问题无法解决时,他们会茶不思、饭不想,无法入睡。优秀的程序员知道如何能更高效的完成任务,如何更能有效的解决问题。当遇到问题时,不钻牛角尖,善于利用外部工具解决自己的问题,特别是能熟练应用搜索引擎。
我认为一个好的程序员首先实在业务能力上做到优秀,能够快速并优秀的完成工作上的目标。并且一个好的程序员解决问题的能力也需要优秀,对于工作中出现的问题能够快速的反应并且找到解决方案。一个好的程序员还需要拥有学习新技术的能力,当在工作上遇到需要学习新技术时,能够快速的学习并掌握应用方法。
原文地址:https://bbs.csdn.net/topics/613448286
A1:我认为主要还是看排查问题的能力,业务理解能力,还要看其对技术的理解程度,以及个人的逻辑思维。能够很快的查找出问题的地方及原因,能够很好地实现客户所需要的功能,所编写的代码清晰明了,不容易出bug的程序员,我认为是一个好程序员。所以给他一个复杂的问题,看他解决问题的结果一般就可以分辨出程序员的好坏。
老板眼里:能干活完成需求的就是好程序员