1:团队精神和协作能力
团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。 3:规范化的代码编写习惯
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力
作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:
1、 需求分析能力
2、 整体框架能力
3、 流程处理能力
4、 模块分解能力
5、 整体项目评估能力
6、 团队组织管理能力
1,激情
我曾经遇到许多“职业程序员”,他们从事IT是因为觉得这是一种职业,他们只在工作时间编程,除非送去培训否则他们不会学习新东西,这不是好的程序员。我认为一个好的程序员总是对编程充满激情,而且好的开发者会做一些编程工作即使这没有报酬。激情是一个优秀程序员的重要指标。
2,自学好学
编程领域始终发展变化着,不出一年有些新技术就变成了老技术,这并不是说好的程序员要对所有新技术跟进,但有些却对学习任何新技术都没有兴趣。他们通常在学校学习了编程,然后工作后单位安排学什么就学什么。如果在招聘中你听到“让我培训一个星期我就会胜任这个工作”那不要雇佣他。实际上,真正优秀的程序员始终谈论着你所不知道的新技术,向人们解释为什么你必须用这个技术,哪怕没有听众听得明白,哪怕他自己也不明白。
3,聪明
聪明包括很多因素,情绪和社会交际只是其中之一。好的程序员绝不木讷,他们是最聪明的人,他们中的许多善于交际,健谈、兴趣广泛。
4,隐性的经验
—好的程序员通常有自己的私人的一些研究、爱好、项目,而这些是他们不写在简历上 (通常觉得不值得写),但表现出来却可能恰恰是他的潜能、深度和后劲所在。
5,技术多样性
由于好的程序员喜欢学习和涉猎新技术,所以一般来说超过22岁的都熟知很多新技术,而且对多种技术的长短有 “强烈”的个人意见/见解,喜好尝试新鲜技术。
6,资格证书
资格证书并不是识别真正程序员的方法,MCSE、SCJP说明不了什么,它们只是让别人认识和获取的,顶多代表这个人在某个技术有一定的知识。
原文作者在文末写道:以上所说的标准并不是绝对的,因为有些优秀的程序员确实不符合上述,而有些bad程序员却符合了。但相信这些对大多数真正的程序员都适用。
总结而言,优秀的程序员通常有一下特点:
对技术充满激情
将编程作为一种爱好
如果你允许会滔滔不绝地跟你谈论技术
有过个人的开发经历(与4意思相同)
坚持认为某种技术最好
如果让他用他认为不好的技术他会非常别扭聪明、健谈、兴趣广泛
在大学和工作前就开始接触程序
B. java工程师的岗位职责是什么
Java软件工程师的具体职责是什么?每家公司都不一样的,这里整理了几家公司对Java软件工程师的要求,希望能够对大家有所帮助!
1、负责项目相关开发工作,包括参与系统需求分析、研发设计;
2、参与制定开发方案,负责功能模块划分、模块开发及后续的维护工作;
3、负责技术研究,结合业务需求,保障研发及迭代效率。
4、独立或主持完成多个模块/组件(含核心部件)的软件需求分析、软件设计(含增量方式)、代码编写、单元测试、集成测试、静态检查、本地构成等工作;
5、负责交付特性/子系统设计文档和接口,负责相关头文件、参与核心代码开发,并通过设计有效的提升开发、测试、维护等全流程及产品全生命周期效率;
6、主导补丁包的端到端交付或负责R版本或某子系统的优化,有效提升代码执行效率(或性能)或明显缩减代码规模;分析产品可维护需求及其价值,参与产品或平台新版本可维护设计改进,提升产品诊断能力;
7、分析及参与业务需求的迭代开发,提供系统架构设计方案并进行落地。
8、负责对业务增长中遇到的技术瓶颈进行攻关,确保系统稳定性及业务高速增长。
9、负责对现存及未来系统进行宏观的思考,规划完善形成统一的框架、平台、体系或组件。
10、负责推荐系统及大数据分析系统的规划与演进。
1、真实2年以上Java开发经验,Java基础功底扎实。熟悉Java基础知识和核心类库。
2、具备良好的面向对象编程经验,熟悉常用设计模式。
3、熟悉使用Spring Boot、Spring Cloud等开发框架,并有相关的开发经验。
4、熟悉Linux操作系统以及JAVA应用服务器维护。
5、熟悉Oracle、Mysql等常见数据库的基本原理以及使用场景,熟悉不同种类的数据库编程,了解常见SQL调优。
6、至少掌握一种(Mybatis、Hibernate、Spring JPA)数据持久化框架。
7、熟悉分布式中间件技术(nginx、zuul、zookeeper等)者优先。
8、熟悉常见缓存技术,使用过Redis、Memcache等缓存框架者优先。
9、熟悉分布式常用技术者优先,如部署单元化,分库分表,分布式数据库,读写分离等。
10、对多线程,并发编程,异步IO等高可用设计有熟悉者优先。
11、责任心强,具有较强的学习能力和团队合作意识,良好的沟通能力、方案设计和撰写能力。
12、对新技术敏感,求知欲强,能快速学习并具备较强的技术领悟能力。
C. java软件开发程序员简历的求职状态怎么写
个人资料
姓名:个人简历
性别:
目前所在: 广州 年龄: 23
户口所在: 广西 国籍: 中国
婚姻状况: 未婚 民族: 汉族
培训认证: 未参加 身高: 160 cm
诚信徽章: 未申请 体重: 45 kg
人才测评: 未测评
我的特长:
求职意向
人才类型: 普通求职
应聘职位: 软件工程师:JAVA软件工程师
工作年限: 2 职称: 中级
求职类型: 全职 可到职日期: 随时
月薪要求: 3500--5000 希望工作地区: 广州,,
工作经历
广州东方标准信息科技有限公司 起止年月:2008-03 ~ 2010-06
公司性质: 民营企业所属行业:计算机/互联网/通信/电子
担任职位: java程序员
工作描述: 1.参与需求的挖掘;
2.负责java程序开发, 测试,维护;
3.带领实习生进行项目开发,并协助其攻克技术难点;
4.重构逗广东远程职业培训网地。
离职原因:
志愿者经历
教育背景
毕业院校: 广西职业技术学院
最高学历: 大专获得学位: 毕业日期: 2008-07
专 业 一: 计算机 专 业 二:
起始年月 终止年月 学校(机构) 所学专业 获得证书 证书编号
2007-11 2008-02 新东方IT培训学校 JAVA软件工程师 - -
语言能力
外语: 英语一般 粤语水平: 一般
其它外语能力:
国语水平: 优秀
工作能力及其他专长
1.具有面向对象思想,扎实的编程功底以及良好的编码习惯;
2.熟练应用Struts+Hibernate,SSH2框架和MVC三层架构开发模式;
3.熟练Oracle数据库的操作,能够编写存储过程,熟悉Mysql和SqlServer数据库;
4.熟练Tomcat服务器的部署及应用;
5.熟悉版本管理器SVN;
6.熟练使用Jsp,HTML,JavaScript,Jquery,Ajax,Css等WEB客户端技术;
7.了解设计模式,代码重构和项目过程管理,能够编写文档。
自我评价
自我鉴定
我身体健康,性格随和,五官端正,不怕苦不怕累。两年多的程序员生活锻炼了我坚强的意志,缜密的思维,以及强的抗压性;我做事有耐心,并且乐于学习新知识,更注重巩固旧知识。作为一名程序员,更重要的品质就是要懂得团队合作,而我恰好拥有团队合作精神,对工作认真负责。
项目经验
2010/3--2010/6:综合管理系统
软件环境:TOMCAT6.0+ MYSQL
硬件环境:windows
开发工具:MYECLIPSE5.1
项目描述:项目团队: 开发人员4人
开发语言:JAVA
SCM工具:SVN版本管理器
项目技术:STRUTS 2+SPRING+HIBERNATE3.0、LOG4J、JQUERY、AJAX
软件描述:逗综合管理系统地专门针对社会各类培训学校、培训中心而开发的一套综合性管理软件,对学校的日常事物进行记录,提高学校管理的工作效率。主要有逗权限管理地,逗历史记录地,逗教务管理地,逗学员管理地,逗教学管理地,逗财务管理地等模块。
责任描述:
1.带领实习生进行项目开发,从需求挖掘到程序开发;
2.协助实习生攻克技术难点;
3.负责逗教务管理地,逗学员管理地模块的开发;
2009/12--2010/2: 创业测评系统
软件环境:TOMCAT6.0+ ORACLE10g
硬件环境:windows
开发工具:MYECLIPSE5.1
项目描述:项目团队: 开发人员4人,经理1人
开发语言:JAVA
SCM工具:SVN版本管理器
项目技术:STRUTS+HIBERNATE3.0、JQUERY、AJAX
软件描述:逗创业测评系统地是省劳动保障厅主办项目逗广东远程职业培训网地的一个子项目;以逗广东远程职业培训网地的用户为用户,主要实现逗测试地,逗统计地,逗行业方向管理地,逗题库管理地,逗测评报告管理地功能。
责任描述:负责逗统计地,逗题库管理地模块的程序开发;
1.逗统计地中逗自定义地统计功能以存储过程方式实现;
2.以树形菜单显示题目种类。
2009/2--2010/6:广东远程职业培训网
软件环境:TOMCAT6.0+ ORACLE10g
硬件环境:windows
开发工具:MYECLIPSE5.1
项目描述:项目团队: 开发人员6人,经理1人
开发语言:JAVA
SCM工具:SVN版本管理器
项目技术:STRUTS+HIBERNATE3.0、IBATIS、JSP、JAVASCRIPT、JQUERY、AJAX
项目描述:逗广东远程职业培训网地是省劳动保障厅主办项目,是一项长期项目;主要有以下功能:
1.逗后台管理系统地,用于管理学员信息,课件信息,三级权限分配,对各地市级的学员进行统计等;
2.逗学习平台地与FLASH进行交互,播放flash课件,提供给学员学习课程;
3.逗CMS新闻发布系统地丰富页面内容。
网站地址: (转载此文,请注明来自:gerenjianli.yjbys.com)
我的任务:
负责逗学员管理地,逗课件管理地模块的程序开发;重构逗统计地、逗注册地模块。
1.逗学员管理地实现增删改查,导入导出等功能。
2.以树形结构显示课件信息,并实现增删改查,停用启用功能。
3.重构逗注册地功能,采用jquery.validator插件进行校验,ajax异步获取数据。
责任描述: 负责逗学员管理地,逗课件管理地模块的程序开发;重构逗统计地、逗注册地模块。
D. java程序员都负责什么工作
java EE 是做JAVA网站技术的 java SE是做JAVA软件的,JAVA ME是做小型的手机,掌上电脑等上面软件请问你学的JAVA是什么技术,JAVA虽然是一种语言,但应用技术太广了。
举例:java SE负责
1、 参与软件工程系统的设计、开发、测试等过程;
2 、协助工程管理人保证项目的质量;
3 、负责工程中主要功能的代码实现;
4 、解决工程中的关键问题和技术难题;
5 、协调各个程序员的工作,并能与其它软件工程师协作工作。
E. java软件工程师的工作描述怎么写
一、笼统的描述自己的工作内容
1、负责研发公司应用软件的模块设计、开发和交付
2、负责编码,单元测试
3、按照功能组件的详细设计
4、对其他软件工程师的代码进行审核
5、参与新知识的学习和培训
6、修复程序BUG
7、参与与其业务相关的需求变更评审
8、完成上级交办的其他事宜
9、编写技术设计文档
二、以项目的形式体现自己的工作内容和技术能力
比较推荐这一种方式,内容中主要包括:项目开始时间,完成时间,使用了哪些技术,完成了什么功能?多少人的团队,你在其中起什么作用等。如
项目名称:《企业管理信息系统》 时期:XXXX/XX-XX
项目描述:以B/S方式实现管理网站的功能:企业员工通过企业分配的个人帐户可以搜索企业信息,查询企业所布置的任务;企业管理者可以通过注册系统帐户来搜索和布置任务,而且能对企业的员工进行权限限制等信息和功能。
使用技术:JAVA,C,Oracle,Shell
开发工具:Eclipse
责任描述:系统维护和编码工作(5人小组,担任组长)
项目总结:遇到的问题及解决方法。
F. 程序员的职责
其实,程序员的职责并不仅仅是编程,甚至编程只是占到很小一部分,
程序员的工作内容如下:
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
作者:茹姐
链接:https://www.hu.com/question/343889670/answer/827559986
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
G. Java软件工程师的具体职责是什么
Java软件工程师运用Java开发工具去完成软件产品的软件程序设计、开发、测试、维护升级等工作。具体职责是:
1、按产品或项目要求进行技术开发,能独立完成模块分析设计。
2、根据开发规范与流程独立完成详细设计,编码,测试及相关文档。
3、负责信息系统(如OA、CRM等)持续优化,以及微信企业平台端的开发。
4、负责信息系统的推广应用,数据管理及日常维护管理。
5、配合信息安全主任做好信息安全保密工作。
任职要求
1、计算机专业本科以上学历,从事后台系统开发1年以上工作经验;
2、熟练使用Java/.NET语言开发Web应用,熟悉主流技术框架;
3、熟悉数据库理论,熟练掌握主流数据库MySQL、SQL Server等的应用;
4、熟悉HTML、XML、JavaScprit、ajax、Web Servrice等WEB技术;
5、熟悉Linux操作系统者优先;有大型网站/系统开发经验者优先。
H. java软件工程师的主要职责是什么
第一: 首先要对技术有一定的功底
第二:理解需求人员编写的需求文档,并进行数据结构、组件和程序等的设计工作依据详细设计,第三:使用专业的工具、技术方法,独立进行软件开发;
第四:负责技术文件的整理,形成功能设计文档。
还有就是根据公司的情况来,