有经验的求职面试技巧。

职业规划怎么写,相信很多朋友们对这个问题很感兴趣,下面给大家介绍一下。第一部分,前言即总论;第二部分,自我分析,包括业余爱好、性格、价值观、专业技能等;

这些年前后带过很多新人,仔细算下来估计有近100个以上了,每年大概带10人左右,把带新人的感受写下来供大家参考借鉴,由于我从来没有在一流牛B软件公司呆过,只能说是中下游的草民软件公司的带人经验了,总的来说,还算是规范的专业软件公司了虽然与世界知名的软件公司无法攀比。

01.不要指望成长过快、迅速见效

首先不要指望新人成长太快、不要总是跟自己现在的能力比,我们毕竟是写程序有10年8年了,他们还刚毕业、刚进入这个行业,有很多应该知道的常识都不知道,当然也不知道天高地厚,想想我们自己10年前是什么水平?每个人的提高成长都需要漫长的、弯曲的折腾着前进的漫长路程,拔苗助长是未必都能见效的、大跃进理论上是可行的实际是残酷的,脚踏实地一步一个脚印才是真,再说了,牛人还会来我们公司打工嘛?早被牛公司盯上录用了。

02.嘴巴讲没用、要真刀真枪实际例子

不要以为给他们把事情都讲明白了、详细要求都提好了,他们就可以做出来了,他们不是老员工、不是高级程序员,要在纸上给他们画清楚页面详细效果,每项注意事项都记录好,不光这些弄好了就可以了,还要给他们找个实实在在的参考的例子程序复制粘贴,他们会更容易上手完成工作任务,说白了你自己做比他们还快,但是他们总需要一个成长的过程。不可能是一步就博士毕业了,还得从幼儿园、小学、初中一步步进步,他们毕竟是实习生、新员工。

03.要靠培训、规范、公司的规章制度来约束

不要指望那些简单的道理他们都懂,你要把他们当成傻瓜,给他们仔细的上基础技术知识培训、例如管理方面的常识,然后让他们每个人都讲解一遍,确认他们真的懂了,公司的行政管理上的规章制度、薪资制度等都最好培训一下,我们部门是每个人把公司的规章制度打印出来读一遍,然后签字,表明他们都已经了解了这些,当然我们更以技术上的培训为主。

04.每天安排明确的工作任务、完成的工作任务及时检查验收

时间是宝贵的,活了一天就是少了一天生命,而且是很多人浪费一天,那对公司来说更是残忍的事情,每天都需要布置明确的工作任务,每次布置任务后,你不要指望最乐观的效果,要指望最糟糕的情况,就是你自己动手做绝对比他么快5倍以上,但是还是要让他们自己折腾折腾,给他们及时检查程序、修改程序,然后让他们做纪录,给他们讲解为什么要这么写才对。

工作任务越细腻越好,你总不能给一个新来的,3个月,做一个进销存,那是不实际的,或者1个月做一个OA出来,若真的这么好管理,那公司养你干啥,早让新人来替换你的工作岗位了,新任更听话、成本更低。

没有检查验收通过的工作,都可以视为0,因为很可能全盘被推倒,或者帮的是倒忙,开发人员往往说开发了90%了,接着还有10%的工作,但是后来发现,这个10%才是真正的90%,因为后面花了9倍的工作时间,才真正把这项任务完成,所以我从来不相信开发人员报的进度,我只会当个参考值,真正检查验收过的,才是真正的进度。

扩展阅读

软件业职位总结1 销售类[1]


目前软件界职位分类:

销售类:售前工程师、售后工程师、系统集成工程师;
测试类:测试工程师,产品测试经理;
项目管理类:项目经理,QA工程师;
系统类:网络工程师,基础设施工程师;
安全类:安全系统管理员,网络安全管理员,安全开发工程师;
维护类:数据库管理员,系统管理员,系统运行维护管理员
开发类:需求分析师、开发工程师、人机系统开发工程师、系统分析师、架构师;

1、随着软件的复杂度越高,软件业中的职位进一步细分。有利于合作,以更好地解决问题,提高效率。越来越细分的软件职位对与有志从事软件业的人员来说是个不好的消息,不知道将来向上往哪个职位奋斗!帮助大家了解目前软件业有哪些职位,这些职位具体承担哪些工作,这些工作大致需要哪些技术知识或素质。确定从业信心,看到从事软件行业自己会有哪些可能的选择。在大家的软件职业生涯中可能会遇到各种各样的工作机会,每种职位的发展各不相同,每个人的特点或性格都不同,对于日新月异的IT业发展,提前确定目标并规划是非常有益的。

在介绍每类职位的同时,我们来了解一些业内常用的工具比如:测试类会用到:WinRunner、LoadRunner、TD;项目管理会用到SourceSafe、StarTeam、ProjectManager;开发设计类会用到Enerprise Architect、Rose Rational。对于有志向未来从事某类职位的人了解一些业内使用的工具和一些工作情况,避免闭门造车、盲目学习,或是在面试中能够提出这些工具表明自己用过或者接触过这些提升自己的竞争力。

2、帮助大家了解典型的软件企业的技术组成,当看到一个陌生的企业发出的招聘时能够真正理解这些职位的技术要求,在应聘时良好的心理准备。每个软件企业专著的领域不同,比如有的主要业务电信通讯业,有的专著医药软件,有的主要做物流软件。虽然这些企业的主要业务和客户都不相同但是工作机制基本相同,总归都有类似的组织结构,各个职位和技术力量可能分配的比重不同而已。不要看到招聘中的要求有些自己没有掌握也没有接触过就退缩,只要你以前确实为这类职位类型准备过经过刻苦的学习积累过工作经验,那就去试试。

3、既然已经了解典型软件技术类职位组成,这些职位要求的技术要求的性格素质各不相同,有着不同的职业特点,你在哪方面有兴趣,你的特点更适合在哪方面发展,希望此次讲座对你有所帮助。

售前工程师:

软件行业与其他行业一样都有类似的营销人员,相比那些在商场、电视购物中推销产品的销售人员,软件业的销售类职位要求很高的技术知识、对软件产品详尽掌握(包括产品应用的范围、技术特性、同类产品的技术比较、客户技术应用的环境、软件的行业特点、性价比的演示),售前工程师之所以是工程师就在于他要掌握非常专业的专业技能,不像商场销售电视、电饭锅的导购员经过几天的培训就能上岗,一个优秀的售前工程师可能做过多年某个行业软件开发,积累了多年对此行业软件的理解,非常了解这类软件的行业需求,在各类企业中的应用情况,他会知道如何配置或者实施自己的软件来满足用户的需求,当用户问起一些技术特点时他能从容应对并且展示出自己对销售软件的信心,还能将销售的软件的某些技术优势潜移默化的传递给客户。现在的软件市场巨大多数是买方市场,客户的业务需求被软件公司挖掘的都差不多,如何使自己的产品在客户的客户的心理中的技术面上占据重要的地位,不仅要完全掌握当前流行的技术,还得充分了解客户的详细需求,能将这些产品的技术和功能和客户的需求合理亲切的吻合在一起,这些是一个优秀的售前工程师要具备的基本素质。还有一些公关方面的能力。

举个例子:有一个客户是国内一家著名的电器制造企业,正准备上一套计算机管理系统。售前工程师在拜访客户的之前详细地准备了一套产品ppt来演示涉及生产计划、采购、制造、仓库、销售、财务、考核等各方面的功能。由于系统实施很复杂,用了将近一星期的时间来准备材料,自以为得很充分了。在客户那里给客户演示产品刚开始一段时间,客户就打断了售前的介绍问了三个问题:

你知道我的企业管理中有那些问题吗?你的软件具体能解决我企业的什么问题?
你有多了解我这个电器行业你的软件在那些方面有所体现?
我花几百万买你的软件我的投入值不值得?

由于事先只关注自己的产品没有深入了解该客户,对整个行业又不是很有经验,只能支支吾吾地回答了一些类似有效降低库存,提高订单的反应速度,提高客户的满意程度等套话。客户很客气地终止了我的演讲婉言谢绝了这次推销临走时他告诉笔者,他需要的是一套适合电器行业的能解决他公司实际管理问题的软件系统而不是我们这套软件。

售前的工作不仅是上面所提到的,他的工作越来越像咨询工程师,好的售前拥有卓越领悟力优秀的客户沟通能力。给客户强大技术优势感和信任感。同时真正能够发现、理解、解决客户的问题。

举个例子:像Oracle 、IBM 、MS、华为的售前工程师,技术能力、行业知识、穿着举止、收入;国内小公司售前就差一些。

软件业职位总结5 开发类[1]


需求分析师

在确定项目后需求分析师和客户进行深入和细致的沟通。理解业务和客户在他们中业务中用到交互方式;还需要理解这个项目中牵涉到的各种利益相关人员,要充分的从他们的想法中得到规范的业务需求。重要的是深入的理解业务需求,梳理出需求的各个功能点,每个功能的业务性质,另外还需要挖据出系统的非功能性需求。因为客户并不懂软件专业,他们的口述完全是对未来系统的模糊想法,有些客户可能前后描述的需要自相矛盾,好的需求分析师不仅能清晰的掌握业务需求,不仅将需求从业务人员的口述的功能提炼出需求分析报告,这份报告在不需要接触客户的情况下,开发人员都能清晰一致地理解,高级的需求分析工程师还能从需求中抽象出本质的内容,对于不稳定的需求找出其中的本质问题,可以给出各种重用的方法。能够挖据出潜在的需求问题,对于业务能够提出可兼容、可扩展的需求解决方法。除对需求本身的分析,还得能够理解客户的组织机构、人员组成,关键人物的业务要求。他作出的分析报告,不仅客户中的基层人员能够接受,还能满足高层领导的要求。经过需求分析师的辛苦劳动,最后会给出一份《软件需求规格说明书》,这份说明书为以后的工作奠定了重要的基础。它详细的描述了系统有哪些功能点,每个功能点的操作和数据格式,系统使用者的分类,功能点的优先级,系统的非功能性需求,数据字典,系统的应用环境,扩展点,维护功能,甚至界面要求。

需求分析方法:

1。 绘制系统关联图,这种关联图是用于定义系统与系统外部实体间的界限和接口的简单模型。同时它也明确了信息流和实物流。

2。 创建用户接口(系统操作界面)原型,开发一个可能的局部实现,这样使得许多概念和可能发生的事更为直观明了。用户通过评价原型将使项目参与者能更好地相互理解所要解决的问题。注意要找出需求文档与原型之间所有的冲突之处。

3。 分析需求可行性,在允许的成本、性能要求下,分析每项需求实施的可行性,明确与每项需求实现相联系的风险,包括与其它需求的冲突,对外界因素的依赖和技术障碍。

4。 确定需求的优先级别。以优先级为基础确定产品版本将包括哪些特性或哪类需求。当允许需求变更时,在特定的版本中加入每一项变更,并在那个版本计划中作出需要的变更。

5。 为需求建立模型,需求的图形分析模型是软件需求规格说明极好的补充说明。它们能提供不同的信息与关系以有助于找到不正确的、不一致的、遗漏的和冗余的需求。这样的模型包括数据流图、实体关系图、状态变换图、对话框图、对象类及交互作用图。

6。 创建数据字典,数据字典是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义。在需求阶段,数据字典至少应定义业务数据项以确保客户与开发小组是使用一致的定义和术语。分析和设计工具通常包括数据字典组件。

7。 使用质量功能调配,将产品特性、属性与对客户的重要性联系起来。该技术提供了一种分析方法以明确那些是客户最为关注的特性。QFD将需求分为三类:期望需求,即客户或许并未提及,但如若缺少会让他们感到不满意;普通需求;兴奋需求,即实现了会给客户带去惊喜,但若未实现也不会受到责备

使用的工具:UML,VISIO,思维导向工具MindManager。

软件业职位总结1 销售类[2]


售后工程师和系统集成工程师:

都属于技术支持工程师,当客户把软件买下了,在使用的时候总会出现各种故障,不单是小软件公司的售后要经常跑到客户那去解决软件运行报错,安装故障,误操作错误,数据恢复等等问题。越是大公司它的售后技术支持力量越大,因为他们的软件承载的业务非常重要,一点异常或是错误都会给客户带来巨大的损失也会让自己在业内蒙受羞辱。售后工程师首先是要对自己负责的产品非常精通,熟悉每个组件的运行情况,产品的安装环境,客户的业务运行状态等等。在出现问题及时赶赴现场为客户解决故障,挽回损失。系统集成工程师的技术特点与售后工程师类似,在客户把软件买下后分析客户的业务需求完成产品的实施,最终满足客户的要求。

为什么将销售放在第一个讲,不仅是销售类的薪酬高、技术要求高,另一个原因是我的个人观点:软件业经过这么多年的发展,正在转变为传统行业,传统行业的一个特点是销售非常重要。

1、传统行业的特点2:8 ,20%的企业占有市场的80%份额,软件业的大公司逐渐分化分别控制不同行业的软件需求,如金碟、用友在国内财务软件类的巨头,东软则是医疗类软件巨头,数据库类的有ORACLE MySQL、 SQL SERVER、DB2分别属于ORACLE、MS、IBM公司三家公司的数据库产品几乎瓜分数据库产品的销售市场。在桌面操作系统类XP,VISTA,WIN7和Ubuntu RedHat 雪豹;服务器类的WebLogic、WebSphere、IIS、Glassfish;随着虚拟化,云计算技术的发展未来的软件业的格局可能会更加集中,将为客户提供更加专业的服务。

2、需求推动技术发展到技术引领需求发展的转变,在软件业的初期都是有这样那样的业务需求,比如图像处理、三D建模软件,都是有着很多的需求,哪个软件能率先满足这些需求,他的公司就能迅速发展。在大家的软件都实现了用户的需求时,哪个软件实现的效果好运行的稳定操作人性化那么它的公司就会淘汰那些不向前发展的公司。比如:netAnts flashGet xunLei 现在各家公司做软件都做得不错价钱也都公道,怎么才能让客户信赖自己的产品和公司呢,那就是引导客户的需求,这时就是技术引领需求发展了。比如现在的主数据、元数据管理,SOA等。

3、咨询服务在软件业的比重越来越大,IBM有很多业务都是咨询服务一份报告30页,一个月时间60万。软件业的售前活动非常像咨询服务,售前工程师通过拜访客户,与客户交谈了解业务情形和特点,发现并理解目前存在的问题,提出针对的解决方案,并将自己的解决方案与别的公司做技术和经济性的对比。

软件业职位总结3 项目管理类[1]


每当公司接下一个单子,为了能够按时保质的完成合同的交付物,老板就会将这样重要的任务交给项目经理,这是一个要求综合素质的职位,既要懂技术又要懂管理还得性格适合。从这三方面我们逐一了解一下项目经理的工作。为什么会有项目经理这样的职位呢,很简单一个项目总得由一个人来计划调度实施,如果是个小公司那么项目经理就是老板,但是到了一定规模的软件公司老板哪有这么大的精力同时管理多个项目,所以他就将项目分配给合适的项目经理来负责。一般的来说老板要求项目经理确保项目顺利实施,保证客户满意,只有顺利实施客户满意公司才能拿到钱。这也是老板衡量项目经理工作能、水平高低的基本标志。再者老板会让项目经理报告整个项目的评估包括工作内容、工作量,人力安排分配,经费预算,项目总体规划,如何分阶段实施。看过项目经理的报告老板再加入自己的意见,再和其他部门,比如测试部,开发技术部,系统部项目的相关部门一起讨论这份报告项目,确定如何实施项目,最后由项目经理来综合管理这个项目。似乎在这里好像除了老板就是项目经理厉害了,其实不然。项目经理只是综合管理这个项目并不是老板有着绝对的控制权,他要从开发技术部、测试部等相关部门的职员中找到合适的人来成立项目组,要想组织起一个成功的项目组,这不是想象的那么简单,需要这么项目经理有适合的性格,一个脾气大有抠门的项目经理是组织不起来好的队伍,但是脾气好由大方的也不一定能,需要一个合适的性格。来管理那些属于不同部门的同事一起同甘共苦完成项目。既然队伍拉起来那就干吧,既然是这个项目组项目经理很多关键问题需要他来决策。项目经理要亲自决策的问题包括实施方案、总体技术方案、重大技术措施、奖惩、设备采购方案、资源调配、进度计划安排、合同及设计变更、接待客户等。 是她来决策干活的可能是架构师、测试部工程师、也可能就是他自己做的文档。在实施的过程中不断的监督进度,检查质量,修正方向,修改方案,和各部门扯皮最多的是系统部和测试部,向老板汇报,联系客户展示阶段成果和客户沟通,还得犒赏组员吃吃饭喝喝酒。最后按时按要求的交付。我们来看看项目组的成员,一般项目组都会有架构师,系统分析师,需求分析师,开发工程师,测试工程师,一半个系统部的人,QA,项目经理就是要哄着这些人好好努力工作,不惜加班,带病工作。

但这样人都不是好惹的,他们中有些人的级别比项目经理的级别高,薪水地位比他高,怎么能带好这支队伍,这就要求项目经理有个合适的性格。在别的行业项目经理可能不会遇到这样的问题,但是软件行业这是常有的事,甚至有的老板都不了解这个问题,随便招来一个自吹自擂的家伙就让他来负责,结果组员告状,消极怠工,项目失败或者不成功。可见项目经理要有好的EQ。其次还有具备项目管理知识,项目管理已经发展成一门的管理学科,它不仅仅要项目经理具备软件开发过程管理,熟悉CMM知识,还得具备较深的开发技术功底,不然要是一个笨蛋架构师提交了一份糟糕总体设计若是没有相关的知识不能及时纠正项目实施出现了问题再从头来。可见一个合格的项目经理要具备懂技术甚至是技术高手能够代领大家走出技术困境,发现错误还得懂管理运用科学的项目管理知识经验最后还得有个合适的性格。要介绍项目经理的工作和如何做一个好的项目是一个非常大课题,但是从讲座的目的我只想大家了解下项目经理的工作,如果有志在这个方向发展的朋友,我的建议就是项目管理是干出来的,不是学出来的不要以为去参加个软考拿个证书就能干这行,同样我早大一的第二学期就认识到我的本科专业管理工程不会让我在毕业时找到好工作,同理管理是干出来的,不是学出来的,所以我马上纠正了自己,通过考研究生换了专业。

软件工程实践者的思想[1]


得其精而忘其粗,在其内而忘其外;见其所见,不见其所不见,视其所视,而遗其所不视--《列子说符》

1.语言只是工具

我曾经是非常执着的开发人员。我有连续几天几夜做Coding的经历,也曾经为了一个技术问题耗上三、四个星期而导致项目一再延迟,还曾经为了一个实现细节与项目相关的人员逐一争论。

我也曾经像大多数开发人员一样热衷于争论语言之间孰优孰劣。我在论坛上写过一个简介,其中个人特长是擅长TPascal、Delphi、TASM系列语言,痛恨C/C++.我至今保留这段文字,因为那的确是真实的经历。

如今我已经不再专注于语言,正如我在第一章中写到的一样:成天讨论这门语言好,或者那门语言不好的人,是可悲的。

然而就在我写这段文字之前的一年,我还是无止尽地深入语言细节,深入操作系统细节,以及深入开发的细节。

就在2004年3月间,我接受一个朋友的邀请,去北京做一个专题培训。我用了近两周的时间,做了50页的幻灯,全面讲述Delphi和Delphi.NET.然而在临行前的一晚,我辗转反侧,思考着一个问题:我究竟做了些什么?或者说,我究竟想告诉学员些什么?

凌晨5点,我在幻灯的末页后插入了一张幻灯,标题是语言只是工具,而幻灯的内容是一张图。这是与培训完全无关的一张幻灯。然而,这是自1997年我接触到管理,以及从1998年我接触到工程以来,第一次正视软件工程这四个字。我第一次看清楚代码、方法、过程、工程与组织的关系!

对于一个程序员,或者以程序员自命的人来说,看清楚这一切的第一步,竟是一句语言只是工具!

猿之于为人,学会制作和使用工具是最重要的标志。因而我不知道语言只是工具这句话,究竟是对语言的膜拜,还是漠视。然而从那一刻开始,我才真正地知道工程。

2.程序

在我的那个图中,在最内层的环里,是程序=算法+结构.这是编程的本源定义,也是原始的状态。与代码相关的任何工作,最终仍旧会落足于这样的一条规则。

编程的精义于此。从有开发行为开始,它就存在。挖山不止的愚公在数千年前就在用类似的行为做编程实践,而几十万年前的智人,也在循环与分支所构成的逻辑中打转。

3.方法

推动这种逻辑向前发展的是方法和方法论.长期编程实践,自然的推演与总结,必须沉淀为某种(软件开发)方法,于是过程出现了,对象出现了,相关的方法论也就出现了。

这是实践的成果。方法不是某个人或者某个组织创造的。瓜熟而蒂落,实践积累达到一定的程度,就算微软不提出某个方法,IBM也会提出这个方法。即便他们都不提出,可能你自己已经在使用这个方法了。

方法并不神秘,因为它就是你今天正在做的、从事的和实现的。正如模式是一种方法,而模式就是你昨天书写代码的那个行为。只不过,GoF归纳、抽取、提升了这些行为的内在规律。你看不到你做事的行为,也就不能理解模式作为一种方法的价值。所以大师们众口一词:模式需要一定的编程经验才能理解。

同理,理解过程也需要编程经验,理解对象也需要编程经验,理解MDA与SOA还是需要编程经验。

这可能就发生在你回顾上一行精彩的代码,或者上一个失败的项目的一瞬息。经验来源于回顾、理解与分析,而不是你将要写的下一行代码。

有人在寺院扫了一辈子的落叶而得道,也有人因为一句话而得道。

GoF因为无数次的代码回顾而得道。

4.过程

过程随生工程出现。过程解决的是工程中角色间的关系问题。

过程说的是很多人(团队)如何组织在一起进行开发。它首先把工程中的各个环节分解出来。这样,有了环节,就有了角色;有了角色,就有了沟通。因此过程中的问题,就是角色、沟通和环节的问题。

哪些环节更重要取决于具体的编程行为,也就是具体的项目。

例如产品开发的周期可以一再拖延,因为对产品来说,更重要的是其品质和技术壁垒。因此你可以看到暴雪公司的游戏总是一再跳票,而它从来都是将大量玩家测试和开发人员的个性特征放在第一位。相类同的,DOOM与QUAKE系列的灵魂就是在游戏引擎的开发和设计上。

如果用这样的模式去做项目,可能软件公司没死掉,工程需求方也被拖死。试问你有看见客户因为你对技术的远景描述而憧憬吗?不,你只会看到他们因为项目的一再延迟而懊恼,而沮丧,或暴怒。

憧憬这种事情,只会发生在那些铁杆玩家身上。

分不清玩家与客户的区别,对项目经理来说,是可怕的。这将意味着他不能清楚地知道哪个环节更加重要。

角色的确定,以及角色间的沟通问题,在项目过程中同样重要。工程组织是否合理,相互协作是否紧密,是这个项目成功的保障。

合作无间通常是流于书面报告中的措辞。真正的无间,应当是沟通的结果。然而UML,则可能是你与客户,以及项目经理与开发人员被离间的第一因素。

IT行业的职业细分 软件研发和硬件研发[1]


我在IT业很多年,也仔细分析过IT业的职业构成,就我的了解,其实IT业也在细分,大致分为如下几种:

1、研发,包括软件研发和硬件研发,就好比我们大多数朋友,在一个公司里面完成项目开发,或者定制产品,一般说来,软件研发基本上就算产品的设计者和制造者,硬件研发,只能算设计者。因为后面还有生产环节。

通常研发岗位,包括RD,QA,以及配置管理员,架构师,小组长,项目经理,研发助理等,就是研究部分所有的职位。部门经理一般我没有计算在内,感觉部门经理管人,应该算管理岗位。不过有些小公司,部门经理和项目经理,甚至架构师,都不分,因此需要具体情况具体分析。

其中RD,就是我们说得最多的设计人员了,以后估计大多数都从这里起步,当然,做QA测试的也不少。

RD这个词有讲究,就是设计和实施,是两个意思,设计,是决定一个东西怎么做,实施是把它做出来,我们刚开始,可能都是先做实施,慢慢走到设计,模块设计,系统设计等等,如果做得好,以后慢慢专门做设计,就是架构师了。

软件人员一般RD不分,设计者通常就是实施者,因为基本上程序敲完,产品也就出来了。硬件人员则不同,一般就是设计者,以及第一轮白盒测试的QA,自己测,当产品测试稳定,定型,就可以交给中试部进行产品测试,最终上线贴片生产。

QA,这里面一般细分为软件测试和产品中试,像华为、迈普这类大中型企业,以生产硬件产品为主的公司,都有自己的中试部,中试部简单说,就是专门测试硬件的,比如各种静电测试,温度测试,跌落、震动测试等,为产品最终上线做准备。我想,大多数同学可能对软件测试熟悉,对产品中试可能不太熟悉,不过差不多就这么多东西。

软件研发通常还有个角色很重要,就是配置管理员,一般小公司没有这个角色,由负责的测试人员兼任,大公司会专门设置这个角色,并且这个角色还有商业秘密保全的功能。

我们软件人员开发的产品,在自己的机器上,一般叫测试版,只有提交到CVS或SVN等版本管理系统,才叫产品,测试部不是从我们手里拿软件去测,而是由配置管理员在中心服务器上,将软件产品从源代码编译成可执行文件,生成安装程序包,然后发给测试部,测试部测试完毕,返回测试报告,公司领导签字后,以后软件产品的发货,就是配置管理员负责发货。

大家明白了吧,这里面很严格的,在大公司,软件一旦投测,如果RD发现有个小bug,小公司可能打个招呼就改了,项目控制流程上看不出来,但在大公司,必须发文,说明上一版本作废,然后重新发测试申请,重新提交代码走流程,项目流程上就记录,废版一次,以后就是扣工资的依据。因此,大公司的程序员一般比较严谨,发版测试很谨慎,就是怕出现这类bug,这样的缺点是对市场的反应不够灵敏,可能客户提交一个bug,RD改只要几分钟,但是流程要走一两天,但是好处是产品质量有保证,每个人的工作结果都记录在案。便于管理。且程序外泄几乎不可能。

我以前有篇文章说,国外很多程序员,可能在一个公司工作一辈子,都没有见过自己服务的计算机,就是这样的,RD都在终端工作,自己本地测试好了,提交到中心服务器,由配置管理员负责最后的编译和提交。

软件业职位总结4 系统类、安全类、维护类[1]


系统类、安全类、维护类

将这三类放在一起,一方面是我在这方面工作经验比较少,只是平时在工作中接触,另一方面我觉得在这几类职位的工作内容是很多职位都需要掌握的技术只是这几类职位要求的技术更精,承担的工作量更多,比如系统管理员每天都会监控服务器,会将给加入团队的同事建帐号授权,将离开的旧同事帐号注销。现在我们来一一介绍这几类职位,最后的重要的原因是这类职位与软件职位有关系但与软件职业有些距离。

网络工程师

一定规模的软件公司或者大型的单位都需要将本单位的计算机联网,建设网络不仅需要布线,调试网络设备如交换机、路由器、放火墙、VOIP设备、存储设备等,还需要管理接入网络的各种设备比如服务器ip地址,一组计算机的IP,网络打印机等等。具体来说网络工程师从事的工作有以下几类:

1. 负责机房内的网络联接及各网段的划分配置。

2. 负责系统网络的拓扑图的建立和完善,并做好系统路由的解析和资料的整理。

3. 负责机房线路的布置和协议的规范工作。

4. 负责计算机间的网络联接及网络共享,并负责网络间安全性的设置。

5. 负责对网络障碍的分析,及时处理和解决网络中出现的问题。

6. 利用网络测试分析仪,定期对现有的网络进行优化工作。

根据网络工程师的专长大致有:配置管理类;布线施工类。

喜欢网络的不是喜欢上网的同志可以投身到这个职位的发展中,我研究生是学习网络的,研究的是网络协议一致性测试,但是后来并没有一直在这个方向上发展,并不是网络工程师没有发展,只是我的工作没有遇到这样的机会,我的一些同学后来一直从事网络方面的工作。在后来的工作中网络技术知识给与了我很大帮助,经常性的在一些和开发人员的技术讨论会中提出专业的术语让同事惊讶。现在简单来说一下网络工程师的职位发展,一种是直接进入专业的网络技术公司如华为,你的工作可能是售前,也可能是做网络工程师,客户比如电信、移动买了设备你要去帮助他们安装调试,随着技术积累和工作经验你可能会成为公司某个部门的主管,这个部门负责某类企业的业务。第二种你应聘去了非网络专业的公司甚至非IT类的,你可能会从基础做起在实践中积累经验发展到侧重某类技术比如网络存储工程师、综合布线工程师、网络安全工程师等。最后进阶到专家级别,如IT项目经理、网络主管或者技术专家等。

系统管理员

很多公司可能不会专门设置这么一个职位,但是系统管理员确实是不能缺少的,有时是由高级别的主管兼职,工作主要负责服务器的管理维护工作,服务器是每个公司的重要资源,他的计算、存储、组织管理域控等等,如何让它稳定、安全、高效的运行是需要专业的技术知识和丰富的经验。

系统管理员的工作大致分为两类硬件和软件。硬件类的:比如服务器安装操作系统时,根据这台机器运行的业务如何创建磁盘阵列,做raid1还是做raid5;最近服务器总是慢运用日志工具检查问题出在哪里,需要升级那些部件;有一天突然看到某台设备出现的报警,但是服务器还在运行,如何安全的换下报警的部件决不能让服务器宕机。软件类,最典型的就是AD的维护,管理和维护帐户,或是某个重要的软件系统的维护,比如我在的单位有个资深的测试工程师就兼职管理维护StarTeam服务器。

软件项目经理素质能力的必备要求[1]


随着社会主义市场经济不断完善和发展,中国软件开发服务行业的发展正如火如荼。所有大中型企业,甚至大多数小型企业,都依托信息化平台形成核心竞争力。

Everything is Project,事事皆项目。

软件项目无处不在,无数的项目成败甚至直接决定企业未来发展命运。软件项目经理作为项目成败关键角色,已经深入人心。项目经理已经成为热门职业,一定会一直热下去,除非软件从人类世界消失。

基于个人所见所得、所学所经历,总结一下作为合格的项目经理需要具备的素质和能力。各种书籍和组织无数次地谈到这些,都非常有道理,本文仅代表个人感受。

我暂时称其为5+4素质能力模型

5大素质要求:职业道德、身体素质、心理素质、知识、经验

4大能力要求:领导能力、决策能力、沟通能力、人力资源开发能力

每个素质能力要求点都蕴含着无限的深意,甚至其中一点足够优秀,就可以让你成为一个非常成功的人。但作为真正合格的项目经理,你必须全面,除非你对这个职业没有足够的热情。我们一起来认识他们,给自己一个修炼的方向。

良好的职业道德:

职业道德,作为一名普通的职业人,也许很少有心思来思考这个词语。但随着你带过的项目增多,带过的人增加,你会非常深刻地体会到它是多么的重要。

良好的职业道德表现为做人做事的责任心,面对利益冲突的原则性,团队合作的积极性与热情。不仅如此,而且有着更广泛的内容。思考吧,职业道德绝对是成为合格项目经理的必要条件之一。

人都不善于发现自己的不足,那就让我们从别人的不足来衡量一下。假设你是一位项目总监,你的一个项目很关键,但却出现了一些不小的困难,当然项目出现困难是很常见的事情。而你的一个项目经理油嘴滑舌(可能有点刺耳,就是这点让你觉得他还适合做项目经理,你认为他有沟通能力),而没有强烈的责任心(强调客观原因或者一味埋怨别人,这就是表现),或者面对困难却激发了他想找一份更高薪水的工作。这绝对是缺少职业道德,也是让上级最讨厌的那种项目经理。相信你绝对不想成为这样的项目经理。

那就好好地思考一下职业道德的问题,没有标准可言的。不必呕心沥血似的职业精神,但起码能够做到良好。

健康的身体:

身体是革命的本钱。软件项目经理是一个劳心劳力的职业,责任重而权力小是大家的共识。这一切都需要健康的身体。

健康的身体有多重要,其实不用我在这里说明。我只想谈谈良好的生活习惯对身体的重要性。友情提示:务必养成良好的生活习惯。

我的项目经理和程序员们具有软件开发从业人员共有的特性,尤其是这个行业更偏于年轻,我称其为朝阳行业更好听些,但这些朝阳人花在深夜游戏、聊天、泡吧的时间似乎太多了些,生活不够规律,身体状态大受影响。

我希望作为项目经理或者即将成为项目经理的你,务必要养成良好的生活习惯,保持健康的身体。甚至能够引导你的组员,那就再好不过了。

软件工程师,你的价值在哪里?[1]


前阵子好奇的问了一下几个职场上的朋友,想知道他们对于日后职场生涯的计划,他们的答案颇让我玩味,虽然心里早有了些底。大部分的软件工程师一开始或许是对软件还颇有兴趣,加上也还称的上得心应手,因此便踏入了这一行。

然而信息软件产业在恶劣的环境中,其实一开始的兴趣与热情很容易就会在难搞的客户、只懂得出一张嘴的主管、一天到晚跟你作对的业务、不断延期的项目时程以及饿不死却也吃不饱的报酬中渐渐觉得看不到未来。

然而这是一个吊诡的问题,其实不论身在任何产业里,最重要的其实还是热情,对工作的热情是一切的基础。当你的热情消逝,其实就已经预告了你往后人生的景象。或许大部分已经步入职场多年的老鸟们会对我的说法嗤之以鼻。然而,拥有热情与否,最后终究会反应在你的成就里。

身为软件工程师的我们该如何寻求自身的价值?在相信各位朋友们都还有热情的前提下,提供几个观点供大家参考。

一、 你很特殊吗?请不断的深化你的专业吧。

你可以被取代吗?我最常使用这个问题来衡量的工作价值。

世界上有些工作的确是怎么样也无法被他人取代的,这些人有独一无二的特殊性,例如电影明星,运动明星,政治明星(这个选项其实有待考验)以及艺术家等。即便如此,这些人还是会因为外在环境而走入历史,那么,一般的知识工作者如我们,又该该何看待今日瞬息万变的职场。

不断的深化你的专业,这是我的建议。

千万别走马看花,也别这个有趣沾一点,那个新鲜碰一下,如果你是没有方向的在涉猎知识与技能,在职场的前几年或许还能够混口饭吃,但五年过去,你就会面临什么都懂也什么都不懂的窘境。三十岁之后要拥有职场历练之后的深度,不论是专业上或是经验上。

因此,前两三年或许可以因为兴趣诸多涉猎,但是要逐渐收敛这个范围,要开始有目标的将你的专长有深度的培养。

以上《软件老手带新人的经验总结[1]》一文,由编辑精心撰写而成,希望对您的职业规划有所帮助,更多精彩请访问“有经验的求职面试技巧”专题!