您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程师的素养与成长
软件工程师的素养与成长2010年3月王浩目录1.向内看:软件工程师的定位与发展3.向前看:我们的未来2.向上看:优秀软件工程师的素养与成长面临的挑战•新技术层出不穷Ajax、SilverLight、Flex、JSF….•新概念铺天盖地SOA、云计算、Web3.0、物联网、敏捷开发….•新诱惑迎面而来新的工作机会,高薪酬的诱惑….常见的困惑•你是否听说过:程序员只能做到35岁软件行业技术更新太快,学到的技术很快过时在中国做技术没有前途,只有去做管理、销售…难道他们说的都是真的吗?如何实现可持续发展?清晰的个人发展目标•想清楚自己想成为什么样的人自身能力的认真分析•想清楚自己的能力、缺陷和特长切实可行的行动计划•想清楚如何实现自己的目标软件工程师的典型职业路线工程师今天进行了1次权限管理功能模块的CodeReview,修复了2处P3的bug,并根据需求变更流程修订了设计文档的2.3节….职业化技术扎实资深专家技术精深经过分析,我建议采取***算法来实现这个需求,因为它的算法复杂度是…架构师知识广博业务导向根据系统的性能需求,我们可以采取的技术方案有3种,我建议采取….,因为….CTO我们的产品战略是…我们的技术战略是…项目经理沟通能力领导能力对于这个需求变更,我建议采用…方法来实现需求而不增加项目风险开发经理设计分析能力领导能力迄今为止,开发团队完成了第一阶段的全部功能需求,比原有计划提前…工作日C++好还是Java好?编码爱好者建立自己的职业发展目标•立长志,而不是常立志•对自己的职业发展目标要充分了解–看上去很美?–你真的考虑清楚了吗?•将个人目标与群体目标进行匹配•切忌–虽然志当存高远,但制定遥不可及的目标并不能增加你的幸福感,只能增加挫折感,如•做中国的比尔盖兹•下一个马云对自身能力的认真分析•你适合做软件工程师吗?–你热爱技术吗?你拥有激情吗?–你梦想用创意和产品改变世界,改变人们的生活吗?–你在学校里学习C语言时,对指针概念理解透彻吗?•你能够正确认识你自己吗?–你能列举出自己的核心优势吗?–你能列举出距离你的目标还有哪些差距吗?–你知道如何才能实现目标吗?•切忌–过高估计自己以我的智商和能力,往前推三百年,往后推三百年,总共六百年没有人超过我-----罗玉凤–机会面前,裹足犹豫我可以吗?我能行吗?上次我失败了,这次肯定也会失败如何设立个人工作计划•里程碑式的迭代过程•长期(三年)计划、年度计划、六月计划、月度计划、周计划•必须符合SMART原则–Specific:必须是具体的–Measurable:必须是可以衡量的–Attainable:必须是可以达到的–Relevant:必须和岗位发展目标具有相关性–Time-based:必须具有明确的截止期限•定期回顾计划与总结目录1.向内看:软件工程师的定位与发展3.向前看:我们的未来2.向上看:优秀软件工程师的素养与成长什么是软件工程师?IT民工?自由散漫、不修边幅的技术怪人?优秀软件工程师的形象•得体的个人形象–衣着整洁–举止得体•扎实的技术能力–丰富的工程实践经验–强烈的自信心•严谨的工作作风–一切以事实和数据说话–工作有记录、有统计、有分析、有总结•对质量的高标准–质量从来都是设计和开发出来的–对自己的工作成果有强烈的自豪感和责任感•优秀的文档、演示和谈吐水平–良好的文档是正规研发流程中非常重要的环节–恰当的谈吐是获得认可的重要因素–演示能力是展示自身工作成果的主要机会软件工程师需要什么样的素养?•团队精神和协作能力•稳定的高生产力•结构化的思考方式•计划与执行能力•学习与总结能力•表达与沟通的能力如何提升自己的技术水平•对工作精益求精的”狂热”–成为一个优秀的软件工程师的关键是对工作产物的「热情」!•抽象化的思考能力–抽象化思考是区分一个平凡与伟大软件工程师的重要特质•打下扎实的技术功底–参加各种在线竞赛,将基本功化作条件反射•积极分析成熟开源代码–学习新技术的最佳方式就是分析应用了这个新技术的开源产品•做好个人知识管理–积累个人复用代码库–使用知识管理工具如何提升自己的生产力什么决定了软件工程师的生产力?软件工程师的生产力差距有多大?一个顶尖工程师和一个普通工程师之间的生产力可以有百倍的差距代码的品质和效率也有同样的落差扎实的基本功+知识/经验+分析/解决问题的方法+工具善用已有工具或者自行开发工具是提升生产力的重要手段我们每日工作存在太多重复劳动,我们鼓励大家善于”偷懒”,不要轻易对当前的工作方式满足善用已有工具/自行开发工具是提升技术水平的重要手段顶尖工程师的重要特征之一就是自行开发大量合手的工具如何进行学习•教学式学习–当你能跟别人讲解清楚的时候,你肯定已经了解透彻了•在项目中学习–学习的目的是为了应用–小步快跑,逐步提高–需要善于总结、归纳•系统的学习–阅读书籍及在线文章(吸收别人的)–写读书笔记、做技术讲座及记Blog(分享自己的)–有目的的学习,克服随意浏览或下载的冲动如何解决问题•首先是心态,相信•商品软件开发领域没有什么问题是解决不了的•即使正面由于某些限制,无法解决,也有办法绕过去•要自己“想尽办法”•确定问题最根源的原因•最准确、精确的描述问题•进行结构化的思考•总结•包括当初为什么没有找到这个原因•一次成功的解决难题,就是一次提升的机会•写成记录或者报告,将解决的过程与心得体会与同事分享什么是结构化的思考方式?•混乱是思考的大敌•对于复杂的问题,分而治之是最好的处理方式–建立分析的框架–在框架下分析问题•脑图是帮助你理清思路的有效工具•举例:–项目文档目录–软件需求分析过程如何进行时间管理•时间管理–常常感觉时间不够?–感觉手头要处理事情太多,工作压力很大?–时间本身不是问题,因为每人所拥有的时间一样多–所以,导致“时间不够”的重点不是时间,而是在于自己如何善用和分配自己的时间如何进行时间管理•如何管理工作压力?–压力不是来自任务本身,而是任务在大脑里的混沌塞积,造成心理的焦虑和抵触–只有将你心中所想的所有的事情都写下来并且安排好下一步的计划,你才能够心无挂念,全力以赴地做好目前的工作,提高效率•提高工作效率的技巧–全心投入手头工作,一次专心处理一件事情–在完成手头工作时关闭你的IM和邮件客户端,避免将时间切割成碎片持续改进•计划•执行–不执行的计划没有任何意义–在执行过程中要进行记录和度量•检查–计划一定要检查–检查不是为了“惩罚”,而是为了了解进度、发现问题、调整计划–评估的目的是持续改进•行动–找出最佳的做法–将最佳做法进行标准化,进行推广•什么是持续改进目标方法日程安排训练/执行记录/度量结果检查分析/总结/找出原因修正做法标准化PDCAPlan(计划)forchangeDo(执行)changesonasmallscaletotrialthemCheck(检查)toseeifchangeworksAction(行动)•建议大家研究一下PSP(个人软件过程)新员工如何融入团队•新进同事快速融入团队–拿到通讯录–通过欢迎会认人–操作现有产品,了解现状,考虑如何改进–主动与领导、辅导员、主管、同事吃饭聊天•了解公司、部门的历史和现状•了解大家的想法和做事方法–充分利用你的辅导员–充分利用你的领导•找准突破点–实战中成长–带着任务去学习–报表一般是认识现有系统的最好手段•了解数据的来源•了解数据的结构和关系•了解业务的流程–提出改进建议和意见,争取短期内出彩如何提升表达与沟通的能力•如何提建议–提建议是在工作中脱颖而出的重要方法–成功就是比别人多往前走一步–发现问题并不困难,困难的是解决问题–站在提建议对象的角度考虑问题–确保你的建议是可行的,做过了充分的调研•如何提问题–邮件发出前,要自己读1遍,重要的邮件(包括给领导的邮件)要至少读2遍,确保•说清楚了问题的背景•要站在对方的角度考虑,如果自己是对方的话,能听懂你的问题吗?•语句通顺、用词贴切、主谓宾没有缺失、没有错别字–最好把邮件附件的内容黏贴到邮件正文里•如何与领导沟通–尊重你的领导–将领导作为职业发展的教练和助推器–不要给领导带来惊讶,不要让领导成为最后一个知道问题的人–主动向领导进行汇报,不要让领导来问你•如何提升文档能力–首先要重视文档工作,文档水平是区别工程师与编码爱好者的重要标准–语句要顺畅,写好之后打印出来自己再读两遍,保证语句通顺、用词贴切、主谓宾没有缺失、没有错别字–表达的内容要无二义性,不能有含混的说法,如“系统要具备高可用性”–站在读者的角度考虑文档内容,确保你的读者能够看懂你的文档并迅速抓住重点–注重表现形式,文档的格式非常重要(封面、目录、修订记录、图表、字体、颜色)–不要害怕写文档,多写文档是最好的锻炼方式–要留心收集和学习别人好的文档目录1.向内看:软件工程师的定位与发展3.向前看:我们的未来2.向上看:优秀软件工程师的素养与成长信息产业的未来1981年8月12日:IBM发布其个人计算机。该机有64K内存、单色显示器、可选的盒式磁带驱动器、两个160KB单面软盘驱动器1981年8月12日:MS-DOS1.0,PC-DOS1.0发布。Microsoft购买了一个叫86-DOS的程序并加以改进。最初的DOS1.0非常的简陋,每张盘上只一个根目录,不支持子目录。1982:基于TCP/IP协议的INTERNET初具规模。1982年2月:80286发布。时钟频率提高到20MHz,并增加了保护模式,可访问16M内存。支持1GB以上的虚拟内存。每秒执行270万条指令,集成了134000个晶体管。1989年,TimBerners和其他在欧洲粒子物理实验室的同事提出了年:由Berners和Lee开发的发布(字符界面)1994年3月7日:Intel发布90-100MHzPentium处理器。1994:Netscape1.0浏览器发布。1995年8月23日:Windows95发布。完全脱离MS-DOS,纯32位的多任务操作系统。该版本取得了巨大的成功。1995年以后,互联网蓬勃发展….与整个人类的发展历程相比、与传统科学技术相比,信息产业的历史才刚刚开始书写,我们正置身其中未来有无限的可能….公司的未来用了5年时间,我们实现了梦想但发现舞台不够大了于是,我们又做梦了现在我们的竞争对手变了盛大、腾讯、迅雷、360…公司成立时的梦想---做中国最好的网吧维护平台互联网娱乐大卖场为了美梦成真大家努力!我们的未来•世界级的研发能力•一流的软件开发工程师团队•走入千家万户的最知名产品相关资源•软件工程师任职标准•在线竞赛:–Google代码竞赛:–ACM代码竞赛:•脑图:MindManager•个人知识管理工具:•时间管理:•书籍–《代码大全》–《个体软件过程》–《高效程序员的45个习惯》–《卓有成效的程序员》联系我们杭州顺网科技股份有限公司杭州市文一西路98号数娱大厦5楼(310012)电话:+8657188852727传真:+8657188853737如需了解更多信息,请访问公司网站:
本文标题:软件工程师的素养与成长
链接地址:https://www.777doc.com/doc-213207 .html