⑴ 招聘人手:网站编辑,百度竞价,美工,程序员怎样提高在客户心中的地位
刚进入公司的程序员心情是复杂,浑身干劲儿的同时有对未来生活的憧憬,也有对陌生环境的恐惧,更有进入新公司的不知所措和迷茫。太多人只是知道要努力工作再工作,从而忽视了我们应该得到什么这个问题。
在很正规的公司里,比如大型企业,因为有多年的积累和良好的法律意识,针对每位入职的新员工会有套严格的流程。有些不太正规或者说制度不完善的公司则不会有很严格的流程,来保证我们得到应该得到的。无论身处哪种情况,我们都应该清楚自己的权力和利益,要有意识地加以维护。
我们应该得到的东西包括:
l 劳动合同书
劳动合同是劳动者与用人单位确立劳动关系、明确双方权利和义务的协议。劳动合同法规定,在用人单位与劳动者建立劳动关系的同时,应当订立劳动合同。
在此要特别提及劳动期限,劳动合同期限是指合同的有效时间,它一般始于合同的生效之日,终于合同的终止之时。《劳动合同法》第十九条规定“劳动合同期限三个月以上不满一年的,试用期不得超过一个月;劳动合同期限一年以上不满三年的,试用期不得超过二个月;三年以上固定期限和无固定期限的劳动合同,试用期不得超过六个月。”
l 竞业禁止协议
竞业禁止协议又称竞业避止协议,是对与特定的经营内容有关的特定人的某些行为予以禁止的一种制度。竞业禁止的限制对象负有不从事特定竞业行为的义务。说明白点,就是从A公司离职,不能去与A公司有竞争关系的公司供职。
根据《劳动部关于企业职工流动若干问题的通知》第二条规定:“……用人单位也可规定掌握商业秘密的职工在终止或解除劳动合同后的一定期限内(不超过三年),不得到生产同类产品或经营同类业务且有竞争关系的其他用人单位任职,也不得自己生产与原单位有竞争关系的同类产品或经营同类业务,但用人单位应当给予该职工一定数额的经济补偿。”从上述规定看,是否向劳动者支付相应的经济补偿是“竞业禁止”条款是否生效的前提条件,竞业禁止条款所限制就业的期限最长也不得超过三年。
l 职位说明书
职位说明书(也称职务说明书,岗位说明书)是通过职位描述的工作把直接的实践经验归纳总结上升为理论形式,使之成为指导性的管理文件。一般职位说明书是由一线经理来制定的,人力资源经理起到辅助的作用,主要是提供制定职位说明书的框架格式,并提供参考性建设建议。通常职位说明书为一式三份,一份为用人部门负责人保管,一份为员工自己保管,一份由人力资源部备份保管。
入职之后我们拿到的职位说明书会比公司在网站上登的招聘启示更详细、更有针对性,更准确地描述了我们之后的工作情况。
l 员工手册
员工手册主要是企业内部的人事制度管理规范,包括:上下班时间、加班及休假制度、周报制度、各种奖励制度、公司环境及周边环境介绍。好的员工手册是新员工的导师,它能让我们迅速了解公司和公司的相关制度。不好的员工手册,就像一张废纸。
试用期中的两种结局
进入公司之后,我们依然有两种可能的结局,要么安心好好干,要么感觉不对尽早离职。我见过一家公司,成立十年了项目做了无数,即没有文档,也没有保留完整的源代码,公司研发部没有在公司工作超过1年的程序员,这种公司不留也罢。
人有可能会说:“现在工作多难找啊!还不老实地待着好好干?”(这么说的其实多是我们的父母)。在他们的时代毕业包分配,一份工作可以干十几年、几十年,甚至一生。那时候强调的是螺丝钉的精神,被高度物化了,放在哪里就安心地干,把个人性格和特点压缩到很小的范围里,没有多余的空间,也没有多少自我,只要服从就OK了。好在时代在前进,与以前相比较,我们有了更多选择的权力。对公司、对工作我们都有权力说不,有两种结局自然也可以理解。
好的标准在之前的章节里提到的衡量第一份工作的三个法则:是否具有良好的企业文化、是否能为今后的履历加分、是否有不同的工作任务。
好的工作都能满足或者基本满足这三项原则,我们自然也会选择留下。再次祝贺一下自己吧!
可现实是残酷的,我们极可能遇到的情况基本不符合或者完全不符合这三条标准,比如:入职当天我们被丢进角落没人管,任何资料都没有拿到;被介绍给项目组成员后开始工作,接过来的代码因为没有注释而面临全部重写的局面,外加项目进度紧张,项目经理对我们大喊着要违约责任。怎么办?怎么办?要不要一走了之,还是坚持下来??
对这种负面情况的发生,请先作好心理准备,当然也不必急了辞职,用下面我提供给大家的三条标准再次衡量这个我们没那么满意的环境再做决定:
l 先看是否有引路人
绝大部分事情的成败都取决于人,项目再好人不行,最后也是没戏唱。进入公司之后,被安排进项目组,我们要有能力第一时间发现组里优秀的人,无论是项目经理还是部门资深同事。那怕只有一个,作为同组成员我们有向他们请教并得到指导的优先权。优秀的程序员和水平一般的程序员之间的差距可以从代码的质量上体现出来,有时候相差十几倍甚至几十。除了软件行业,再没有其它的产业有这种特点。从优秀程序员身上学习,缩短我们从菜鸟到高手之间所需的时间。菜鸟程序员成长到能独立完成项目要五年以上(根据项目规模和行业而定)真能如愿尽快提高自己的话,就等于延长了我们自己的寿命。别人需要5年达到高度,在高手的指点之下,我们可能只工花费3年或者更短。只要有值得我们学习人,那选择留下。毕竟工作机会可以再找,但英雄难觅。
l 再看项目实际情况
“项目本身没有市场价值,没有积累不能产品化,让公司走上良性循环”是最大的问题。
如果组里、研发部里没有能给我们引路的人,那接下来我们要看的就是项目的情况。相当比较的项目实际情况是这样的:代码没有注释、需求不明确、时不时有人跳出来瞎指挥,完全一团糟糕。话实话吧,这些都没什么,没有注释,代码可以推倒重写,需要不明确可以再和客户沟通把它明确,有人跳出来瞎指挥自然也会有人跳出来把这种人灭了。
但是,如果项目本身没有市场价值,没有积累同时也不具备产品化的可能,那基本上就没什么可看的了。
没有好导师、项目没前途的情况下,我们90%是应该拍拍屁股走人的。
l 最后看公司里的其它组
真满足以上两种情况,作为程序员应该也算是基本绝望了,可以离开了,但请先别急,还请再看看。我们能进入这家公司应该说双方都付出了成本,无论我们之前是否在职,是否因为这家公司而放弃了之前的工作(希望下次能提前擦亮眼睛),也不管是经过几轮面试进入的公司,我们都付出了时间和精力,在放弃之前务必要再做次努力,给自己也是给公司、给别人机会。
请再看下公司其它项目组。
如果只是我们运气不好,只是暂时被分在个没有高手、项目也没前途的组里,而公司有些组高手如云,项目前景可观,那就先安下心,之后尝试调组。当然,即使是这样也要更新我们的简历,给其它公司投简,开始找新机会。一旦发现转组(岗)无望,手里的项目又让我们难以忍受,那就没什么可犹豫的了,尽快离开。
最差情况是以上“三看”公司都不够看的,那我建议马上闪,集中精力找更适合自己的工作。因为成就感不能被满意,在这种差公司里连骑驴找马都是种痛苦。
进入新公司之后,如果整体感觉如之前预期的还不错,接下来我们要做的就是尽快确实立自己在项目组之中的位置了。
在工作中、生活中每个人都想实现自己的价值。即使是最初级的程序员,也想对组织、对团队有价值,以证明自己并非可有可无。如果公司有我们和没有我们对于项目来说没有两样,那就算领导不请我们走人,很多人自己可能也会去寻找新的机会,能证明自己的机会。除了金钱之外,我们还需要其它人的认可,以得到心理方面的满足。
如何让我们自己显得有价值?有价值的重要表现形势之一就是自己工作在团队中的不可或缺性,说白了吧,就是每个人都希望项目离开自己马上停工、公司离了自己马上关门。很多人嘴上都说,项目组离开谁都会运行,但不可否认,内心的深处,我们还是希望自己不在的时候项目停转,至少是转的慢些。
用以下简单的三个步骤,就可以逐步确立和稳固我们的位置。
l 苦干加巧干
很久之前,一位研发总监对我说过,他认为:每名研发人员的试用期都应该是至少一年,无论劳动合同上是怎么签的。因为只有工作了一年甚至更长时间之后,无论是公司还是个人才能比较准确地双方在彼此心中的位置。公司知道员工的能力如何,适合开发的项目有哪些,处世风格是怎样的;员工有判断 司的前景如何,公司能给自己提供什么样的发展空间,自己有在这里质量多少。惟有如此,员工有才有资格说自己在公司计划如何发展,要知道在此之前可能很多人并不了解公司的真实情况 。
刚进入公司的成长期里,我们要苦干加巧干。很多人在这个时期,疯狂加班,有的还为了项目连续工作几天,大多数情况下结果并不会像他们预计的那样好。因为个人精力有限,连续工作只会降低工作效率,而且以脑力劳动为基础的开发工作,也不是投入的时候越多效果超好。干的好,还要有了解项目的前提,成长期里我们并不十分了解项目。在不了解项目的情况下盲目往前冲,结果很可能是在错误道路上越走越远。错误的付出只能让我们离正确的结果越来越远。
苦干加巧干,才是成长期的正道。越是压力大的时候,越是应该停下来总结一下自己学习的知识 ,纠正自己犯过的错误,多与同时沟通了解项目情况 ,多向项目经理请教开发时我们遇到的问题。
苦干是为了积累,巧干是为了更快的提高。
l 阶段性呈现成果
初入职场者,尤其是研发人员容易犯的毛病就是:希望全部结果出来之后再向领导呈现,小到一个功能模块,大到整个项目。他们急于证明自己的能力,即我能做XX项目和开发。
这种情况有个很形象的比喻,就像我们做某个功能或者某个项目时,开始只跟客户口头了解了需求,第一次确认需求之后就闷头开始做开发,100%完成之后拿给客户看。做过项目的人都知道,这么干结果是什么,我们呈现的99%不是客户想要的。客户会报怨说,开发出来的东西并与需求相关甚远。
是开发的过程之中,开发人员不跟客户沟通导致了这样的结果。
我们的上级从某种角度上说就是客户。做项目的时候他们提出了需求,我们来开发,想有好的结果要做到阶段性呈现,而非只汇报最终结果。,到最后大错已经铸成,到最后什么都晚了。相同出发点向同相方向延伸的两条线,如果夹角是1度,开始时两条线的末瑞相距小于一厘米,随着线的不断延伸两条线的末瑞差距也会越来越远。我们做开发也是这样,开始时可能由于理解上的问题,与客户的相法有点差距,如不与客户沟通做及时调整,开发结果可能与客户需要之间就是天壤之别。
阶段性地让上级看到我们所做的东西,在及时纠正错误的同时,我们也会逐步得到他的认可。
l 有成绩要用数字说话
我解聘过一个程序员AA,此人在试用期里,因为干的不好所以被劝退。项目经理对我说,AA入职之后没有努力熟悉项目情况之外,上班除了聊天就是聊天,根本没有工做状态,也看不出具体水平和能力。我于是找到了AA当时的对话如下:
Leo:“在公司工作了1个月了,你认为自己干的如何?”
AA:“我干的不错啊,挺好的啊!”
Leo:“有没有事例能佐证呢?”
得到的只有沉默,随即我代表公司与他解除了劳动关系。相信,如果当时AA能举数字,比如:到公司之后熟悉了项目情况,开发了多少功能,下一步我准备怎么做,接着说出工作中的成功果,以此证明自己的实力,那我一定会帮他在部门经理处争取一个机会,继续试用。但很遗憾,他什么也说不出。这是因为他没做什么,而不是因为不擅长沟通。关于沟通,我之后会详细分析,内向和不擅长沟通是两回事,很多人把这两件事搞混了。
作为程序员,在刚进入公司,没有得到公司认可的情况下,能否能用数字把自己的成绩说清楚,是成功与否的关键。这很大程度上决定了,我们用多久能竖立自己在公司、在项目中的地位。
隔一段就总结自己的收获,写了多少行代码,记录下来随时备查,即为了给领导说明问题,更重要的是能让我们自己感受到成长的快乐。
⑵ 程序员的岗位说明书
程序员的岗位说明书
程序员是从事程序开发、维护的专业人员。
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的`软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态。
以上是我为大家整理好的范文,希望大家喜欢
;⑶ 程序员工作说明书编制的技巧和经验
一、写好简历是拿高薪offer的敲门砖一个优秀程序员的思维是缜密细致的,而是否具备这个特质,首先由你的简历去传递。一份好的简历,一定是简洁明了,逻辑结构清晰,排版顺畅的,最好用PDF格式,兼容性强且不易乱序。而简历里最重要的内容是你的工作经历和项目经历,这几点需要包括:效力过哪些公司做过的行业领域与目前面试行业是否匹配擅长的技术语言,应用了哪些技术栈经历的项目复杂度,及在项目中承担什么样的角色(人的变化/技术的变化/环境的变化/不同工作经历相同角色的不同点) 时间节点关于简历,最好能够针对你要投的公司而重新编辑,突出于这家公司相关性比较大的那部分工作经验,而不是每次都用一份通用简历,这样会大大提高你的面试机会。二、不打无准备的仗,为你的心仪岗位做好面试准备 1、进行自我定位参加面试前,先给自己的角色和职位做一个定位。看看我们要应聘的岗位职责还有技能是什么,我在这个领域沉淀了什么。详对自己进行分析总结后,便更容易在面试中自信地表现自己。 2、制定成长目标基于你之前的工作经历和行业趋势,给自己制定一个至少3年的规划,希望达到的业务能力和岗位是什么?其中包括业务、技术上的提升计划,还有综合能力的提升规划,比如协调能力、沟通能力、执行能力等。这些问题,除了能给我们选择公司和岗位带来更清晰的指引,还能在面试遇到此类问题时,能够轻松应答。 3、梳理自己的项目经验及处理细节面试中,最重要的部分肯定是对你过往经验和业务能力的了解,因此,我们需要梳理此前做过的比较有代表性的项目,其中需要包括以下这些信息:项目背景、项目怎么设计的、技术选型和对比、实现的细节、项目最终的效果。 4、了解应聘公司和其核心业务全面深入地了解对方的公司,包括公司所处领域、核心产品或核心业务有哪些,业务的发展历史,产品目前的形态等等。面试官向你提的问题很多是基于公司目前实际情况的,毫无准备会的话,你的回答智能涉及到比较浅的层次,而在有所了解的前提下,面试沟通的质量会更高,回答问题才更有针对性。三、面试过程:从经验细节入手,展现实力一般公司都有3-4轮面试。一面是:笔试或HR面,一般都是考察技术基本功,而HR会比较关注你的离职原因、求职动机,这些要提前想清楚,避免回答的时候逻辑混乱。二面是:技术面试或者项目面试,通过不同项目考核你的技术广度和实践能力。三面是:综合面,会考察技术以外的其他能力,比如软性技能:逻辑思维、执行、沟通、协调等。
⑷ [讨论]公司里软件开发人员的职位名称是什么求解答
在我接触过的许多公司中,软件开发人员的职位名称有许多不同的叫法,归纳起来主要是两类:软件工程师系列,包括从助理、初级、中级到高级和资深不等;软件工程角色系列,从初级程序员、程序员、高级程序员到系统分析员、架构师不等。仔细推敲一下,两类不同的称呼,使具体技术人员对工作定位的理解会产生不同的作用。
工程师系列,显然是要完成工程任务,至于任务的性质、内容是什么就不一定了,也许需要写程序,也许需要做一些需求分析,也许要安装操作系统,也可能要调试网络,也可能要扛箱子。。。。。。,因此,对于工程师来说,没有预设的工作界限,面对工作任务说你行你就行,只要能解决问题就好。这种序列非常适合以项目方式为主的组织,工程师们的工作任务,完全是在项目中临时指定,根据需要担当不同的角色,只是根据能力差别分成不同等级而已。这种序列下会给年轻人带来更多的学习机会,有利于快速培养新人,项目资源管理中有很大的灵活性。
软件工程序列,这其中的各种职位名称,严格来讲,是软件工程过程中的角色定义,如果把这些角色名称作为常设职位,会带来误解,程序员职位的人就只能写程序?系统分析员职位的人就不能写程序?如果让一个角色的人做了别的角色的工作,与职位说明书冲突怎么办?在一个资源充足、分工细致的组织中,各角色对应的人员长期比较稳定,或许可以采用这种序列来定义职位,但是在目前常见的项目中,这种职位的定义失去了任何作用,甚至有时会起负作用,造成技术人员的本位主义,铁路警察各管一段,不能像工程师一样有效的终结问题。
因此,在一个以项目方式为主的IT公司中,只有工程师序列是最适合的,避免了常设职位与临时角色之间的冲突,使技术人员对自己的工作定位能够一目了然,有助于提高项目中的资源效率。0我顶!
⑸ 软件工程师的工作内容是什么
1、 指导程序员的工作; 2、 参与软件工程系统的设计、开发、测试等过程; 3 、协助工程管理人保证项目的质量; 4 、负责工程中主要功能的代码实现; 5 、解决工程中的关键问题和技术难题; 6 、协调各个程序员的工作,并能与其它软件工程师协作工作。[1]【职业分析】 软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位。这些岗位的分工不同,职位和/或级别不同,但工作内容都是与软件开发生产相关的。软件工程师是IT行业需求量最大的职位,稳居IT行业职位需求TOP10的第一位(第二位是高级软件工程师)。 软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/java等)、数据库技术(SQL/ORACLE/DB2等)、.NET平台技术、C#、C/S B/S程序开发,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS等前沿技术。除此之外,关于网络工程和软件测试的其他技术也要有所涉猎,以利于操控全局。 软件工程师可谓是软件项目开发的掌舵者。一名优秀的软件工程师应当具有较强的逻辑思维能力,对于技术的发展有敏锐的嗅觉。虽然要求技术全面,但无须偏执于门门技术都精通,任何软件工程师都有自己的技术特长和偏向,对于自己手中的技术,可有精通-掌握-熟悉-了解之分,根据工作需要和职业发展的具体情况来划分。
⑹ 软件的编程员是一个怎样的职业
编程员即程序是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。
岗位职责
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对
程序员
小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
⑺ 程序员岗位职责范本
程序员需要具有良好的沟通能力、理解能力及团队精神,责任心强,能承受较大的工作压力。那么程序员 岗位职责 都有哪一些你知道吗?了解相关精彩内容请参考我为大家精心准备的程序员岗位职责范本,希望对你有所帮助,如果喜欢可以分享给身边的朋友喔!
▼▼▼ 相关推荐 ▼▼▼
★ 渠道销售主管的岗位职责概述 ★
★ 关于银行大堂经理主要工作岗位职责 ★
★ 酒店保洁员岗位职责 ★
★ 公司行政前台的岗位职责 ★
程序员岗位职责范本篇1
1. 负责公司产品PC、移动客户端核心业务模块代码实现
2. 保证前端的运行性能,表现及研发质量
3. 独立负责VR项目的研发
4. 与策划人员、后端人员、美术人员进行有效的沟通协作
程序员岗位职责范本篇2
1. 熟练掌握HTML5、CSS3、JavaScript开发,熟练掌握切图,布局等技术,对符合WEB标准的网站重构有丰富 经验 ;
2. 熟练使用Angular,Vue,React中至少一种JS框架,并掌握ES6/ES7,能独立开发常用组件;
3. 熟练使用各种调试、抓包工具,能独立分析、解决和归纳问题;
4. 对CSS/Javascript性能优化、解决多浏览器兼容性问题有一定的经验;
5. 熟悉各种常用设计模式和常用MVC框架;
6. 掌握用户体验和交互的操作流程和UI设计原则,在web交互方面有深刻的见解;
程序员岗位职责范本篇3
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
程序员岗位职责范本篇4
① 根据需求文档,或者功能清单,进行软件功能设计;
② 根据功能设计,进行软件代码编写;
③ 负责管理软件开发的源代码,记录版本变化;
④ 负责软件测试/开发环境的搭建与维护;
2) 参与公司对外合作的软件开发工作
① 作为企业的程序开发人员参与软件开发工作;
② 负责对接供应商的程序员,监督软件开发的进度与代码质量;
③ 负责接手供应商移交的代码,并进行源代码管理;
3) 在用软件的维护工作
① 维护软件运行的环境,定期检查 操作系统 日志;
② 维护软件运行的系统参数;
③ 协同运维人员为HelpDesk团队提供二级支持。
程序员岗位职责范本篇5
1、完成项目安排的开发任务和代码编写工作;
2、按照项目需求的详细设计文档和规范编码;
3、对公司的软件平台或项目相关模块进行单元测试并通过;
4、修改软件测试后反馈的缺陷与漏洞;
5、对公司现有的软件平台日常的维护工作
6、对使用公司或部门产品/框架提出反馈意见;
7、完成 其它 与IT相关的辅助工作(软件支持、系统检测等);
8、软件项目相关的文档编撰和 说明书 制作演示等工作;
9、定期完成相关 工作 报告 (日志、周报、月报等),向IT经理汇报。
程序员岗位职责范本篇6
1. 能理解业务逻辑,对业务模型进行设计,编写出规范的设计文档;
2. 按照 工作计划 和进度完成系统模块的开发任务,保证开发的质量;
3. 沟通需求和开发中遇到的相关问题;
4. 完成上级安排的其他工作。
程序员岗位职责范本篇7
1.根据系统设计文档负责自己模块的详细设计;
2.负责模块的代码开发;
3.负责已开发模块的测试及维护;
4.相关技术文档的起草。
程序员岗位职责范本篇8
unity3d高级游戏程序员 1、使用unity3d引擎开发3d休闲、棋牌、卡牌游戏
2、与策划、美术、产品人员讨论开发需求及技术实现细节
3、编写高效、稳定、安全的代码
4、负责游戏上线后的优化与迭代开发
任职资格:
1、3年以上unity3d游戏开发经验,有成功项目经验者优先;
2、熟悉常用数据结构和算法,有良好的代码编写习惯,结构清晰、命名规范、逻辑性强
3、熟练掌握3d渲染相关知识,对dx/opengl有一定了解,熟悉各种主流特效、3d效果的实现方式
4、对资源优化、内存及性能优化有一定的研究,了解常用设计模式
5、热爱游戏,对游戏有自己的理解,做过卡牌,棋牌游戏的优先考虑
程序员岗位职责范本篇9
职责描述:
1、负责游戏核心玩法、游戏逻辑系统等开发工作;
2、负责底层通信系统、图形系统、引擎及编辑工具相关开发,游戏客户端程序性能优化。
任职要求:
1、计算机类或相关专业本科及以上学历,两年以上游戏或互联网行业编程工作经验;
2、熟练使用c/c++/java/c#/objective-c/python中的一种或多种,具备扎实的编程语言基础,熟练掌握数据结构与常见算法;
3、热爱游戏,踏实肯干,工作态度积极向上;
4、有u3d相关项目经验者优先;
5、具备手机游戏或客户端游戏开发经验者优先;
6、熟悉ios或android系统原理,熟悉移动终端环境特性及相关解决方案者优先。
程序员岗位职责范本篇10
主程序员-游戏开发lead software engineer 维塔士 上海维塔士电脑软件有限公司,维塔士,维塔士 主程序员-游戏开发
lead software engineer
职责:
设计客户端结构,编写核心代码
领导客户开发团队,确保产品满足项目进度和质量要求
与客户、设计和项目经理协调游戏的需求和技术
负责游戏客户端各功能模块的设计和监督执行
负责游戏客户端的人员配置、进度和质量控制
负责初级和高级员工的培训和发展
经理安排的其他工作
responsibilities:
design the structure of client side and write the core code
lead the client side development team, make sure that the proct can meet the project schele and quality requirements
coordinate with the client, design and project manager about the requirements and technique of game
responsible for the design and oversee implementation of each functional mole of the game client
responsible for the personnel allocation and schele and quality control of the client side of game
responsible for training and developing of junior and senior
other tasks assigned by the manager
任职要求:
计算机科学或相关领域的学士学位,或同等的培训和专业经验
对游戏开发有热情,愿意投身于技术工作
4年以上游戏客户端开发经验
至少一个流行的游戏引擎,如unity或unreal的使用经验
精通游戏客户端逻辑框架、系统架构、性能分析、测试、安全技术等
熟练掌握c++或c#,有人工智能、图形和渲染经验优先,有管理经验者优先
有手机游戏背景开发经验者优先
深刻理解面向对象的设计与开发理念,熟悉设计模式,有丰富的实践经验
良好的沟通能力,高度的责任感和职业精神,能在高压下工作
逻辑思维 能力强,思维严谨
有领导团队的经验
良好的英语读写能力,口语能沟通为佳
qualifications:
bachelor degree in computer science or related field, or equivalent training and professional experience.
have the enthusiasm for game development, willing to dedicate himself to the technical work
have 4 years or more experience of game client development.
experience with at least one of the popular game engines such as unity or unreal
proficient in game clients logic framework, system architecture, performance analysis, test, security technology, etc
proficient in c++ or c# ? experience in ai, graphics and rendering is a plus but not compulsory supervision ? management experience is a big plus
have mobile game background development experience is a plus
have a deep understanding of object-oriented design and development of ideas, familiar with design pattern and rich practical experience
good communication skills, high sense of responsibility and professional spirit, can work under high pressure
have a strong logical and rigorous thinking ability
experienced in leading a team
good at listening, speaking, reading and writing in english, fluent in oral english
程序员岗位职责范本相关 文章 :
★ 试用期职员工作总结范文10篇
★ 最新通用员工手册范本7篇
★ 专业技术人员工作总结范文10篇
★ it个人工作总结范文精选10篇
★ 软件部门职责最全合集
★ 程序员个人年终工作总结2021模板十篇
★ 程序员2021年终工作总结报告范文
★ JA软件工程师岗位职责精选范本5篇
★ 程序员个人工作总结最新范文5篇
★ 程序员职业规划范文(2)
var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm..com/hm.js?"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();⑻ IT行业都有什么职位
程序员和系统分析员、硬件工程师、硬件测试工程师、软件工程师、软件测试工程师、技术支持工程师、网络工程师、系统工程师、数据库工程师、信息安全工程师、软件架构师
⑼ 什么是程序设计说明书
开发人员:黄涛 学号:2004551425 计算机3班
开发日期:2006年2月22日
版本:————
程序功能:建立一个简单的学生管理系统,存储的学生信息至少包括:班级,学号,姓名,各个科目的成绩.能够完成的功能至少有:输入,查询,修改,删除学生信息,计算学生的平均成绩,名次,按某个科目的成绩排序输出.注意:只能采用文件形式管理,不得采用现成的数据库管理.
开发环境:程序在Visual c++ 6.0下开发,编译工具为Vc 6.0,操作系统为Windows XP.
数据结构和算法:本程序包含数个函数,且用链表存储信息,每个节点包含一个学生的信息.
本程序中有两种结构体:
typedef struct student{ typedef struct score{
char name[MAX+1]; /*学生姓名*/ char name[MAX+1]; /*学生姓名*/
int num; /*学生学号*/ int aver; /*学生成绩*/
char class[MAX+1];/*班级*/ struct score *next; /*指向后继节点*/
int Chinese; /*语文成绩*/ }Sco,*SCO;
int English; /*英语成绩*/
int math; /*数学成绩*/
int computer; /*计算机成绩*/
struct student *next; /*指向后继节点*/
}Stu,*STU;
程序流程图如下:
*****主程序流程图 *****
主要函数功能说明
函数原型:STU insert( ); 功能:插入学生信息
入口参数:无 出口参数:无 返回值:无
函数原型:STU xiugai( );功能:修改学生信息
入口参数:无 出口参数:无 返回值:无
函数原型:STU shanchu( );功能:删除学生信息
入口参数:无 出口参数:无 返回值:无
函数原型:STU find( );功能:查找学生信息
入口参数:无 出口参数:无 返回值:无
函数原型:int xianshi( );功能:显示文件内容
入口参数:无 出口参数:无 返回值:无
函数原型:int eaverage( );功能:计算学生名次
入口参数:无 出口参数:无 返回值:无
函数原型:int chinese( );功能:语文成绩
入口参数:无 出口参数:无 返回值:无
函数原型:int english( );功能:英语成绩
入口参数:无 出口参数:无 返回值:无
函数原型:int math( ); 功能:数学成绩
入口参数:无 出口参数:无 返回值:无
函数原型:int computer( );功能:计算机成绩
入口参数:无 出口参数:无 返回值:无
函数原型:void fresh( );功能: 清屏
入口参数:无 出口参数:无 返回值:无
—————————— 说明书结束 ——————————————————
—————— 源程序 ————————
#include
#include
#include
#include
#include
#define LEN sizeof(struct student)
#define NEM sizeof(struct score)
#define MAX 8
typedef struct student{ /*学生信息节点*/
int num;
char class[MAX+1];
char name[MAX+1];
int chinese;
int english;
int math;
int computer;
struct student *next;
}Stu,*STU;
typedef struct score{
char name[MAX+1];
float aver;
struct score *next;
}Sco,*SCO;
struct score stud[1000];
FILE *fp;
void print( ) /*清屏*/
{ system("cls");
printf("\t\t\t--学生成绩管理系统--\n");
printf("creat(建立文件模型)\t");
printf("insert(插入学生信息)\t");
printf("xiugai(修改学生信息)\t\n");
printf("find(查找学生信息)\t");
printf("fresh(清屏)\t");
printf("shanchu(删除学生信息)\t\n");
printf("xianshi(显示文件内容)\t");
printf("eaverage(计算学生平均成绩和名次)\t\n");
printf("chinese(语文课程排序)\t");
printf("english(英语课程排序)\t");
printf("math(数学课程排序)\t");
printf("computer(计算机课程排序)\t");
printf("quit(退出)\t\n");
}
void cin(STU p1)
{printf("请输入姓名:");
scanf("%s",p1->name);
printf("学号:");
scanf("%d",&p1->num);
printf("班级:");
scanf("%s",p1->class);
printf("请输入成绩:\n");
printf("语文:");
scanf("%d",&p1->chinese);
printf("英语:");
scanf("%d",&p1->english);
printf("数学:");
scanf("%d",&p1->math);
printf("计算机:");
scanf("%d",&p1->computer);
}
STU creat(void) /*创建函数模型*/
{ STU head,p1,p2;
char ch;
int i=1,k=0;
p1=p2=(STU)malloc(LEN);
while(i)
{
k++;
if(k==1)
head=p1;
else
{p2->next=p1;
p2=p1;}
printf("Do you Want to Continue yes or no");
ch=getchar();
ch=getchar();
if(ch=='n'||ch=='N')
{ i=0;
p1->next=NULL;}
else
{p1=(STU)malloc(LEN);
cin(p1);}
}
printf("信息输入完毕.");
Indat(head);
}
Indat(STU p){ /*把链表中的信息存入到文件*/
if((fp=fopen("stulist","wb"))==NULL)
{printf("can not open file!\n");
return;
}
while(p!=NULL)
if(fwrite(p,LEN,1,fp)!=1)
{printf("file write error\n");
break;}
else
p=p->next;
printf("写入完毕!");
fclose(fp);
}
STU Outdat() /*把文件中的信息放入到链表*/
{ STU head,p1,p2,p4;
while((fp=fopen("stulist","rb"))==NULL);
printf("cannot open infile!\n");
p4=p2=p1=head=(STU)malloc(LEN);
while(1)
{ if(fread(p1,LEN,1,fp)!=1)
{printf("读出完毕!");
p4->next=NULL;
free(p1);
fclose(fp);
return(head);
}
p1=(STU)malloc(LEN);
p2->next=p1;
p4=p2;
p2=p1;
}
}
find(){ /*查找学生的信息*/
char name[10];
int b=0;
STU p3;
p3=Outdat();
printf("请输入您要查询信息的用户名:\n");
scanf("%s",name);
while(p3)
if(strcmp(name,p3->name)!=0)
p3=p3->next;
else
{ printf("这是您要查询的信息!\n");
printf("%s\t%d\t%s",p3->name,p3->num,p3->class);
printf("语文:");printf("%d\t",p3->chinese);
printf("英语:");printf("%d\t",p3->english);
printf("数学:");printf("%d\t",p3->math);
printf("计算机:");printf("%d\t",p3->computer);
b=1;printf("信息输出完毕!\n");
break;
}
if(b==0)
printf("对不起!没有与您要查的相关信息!");
}
STU insert() /*插入学生信息*/
{ STU p1,p2,p3,head;
int i=1;
char ch;
p3=Outdat();
head=p3;
p1=(STU)malloc(LEN);
printf("请输入要插入的学生信息!\n");
cin(p1);
while(i)
{ if(p3->next==NULL)
{ p1->next=NULL;
p3->next=p1;
}
else
{p1->next=p3->next;
p3->next=p1;}
printf("Do you Want to Continue yes or no");
ch=getchar();
ch=getchar();
if(ch=='n'||ch=='N')
i=0;
else
{ p1=(STU)malloc(LEN);
printf("请输入要插入的学生信息!\n");
cin(p1);
}
Indat(p3);}
return(head);
}
STU xiugai() /*修改学生信息*/
{ char name[10];
STU head,p3;
int b=0;
p3=Outdat();
head=p3;
printf("请输入您要修改信息的用户名:\n");
scanf("%s",name);
while(p3)
if(strcmp(name,p3->name)!=0)
p3=p3->next;
else
{printf("这是您要修改的信息!\n");
printf("%s\t%d\t%s",p3->name,p3->num,p3->class);
printf("语文:");
printf("%d\t",p3->chinese);
printf("英语:");
printf("%d\t",p3->english);
printf("数学:");
printf("%d\t",p3->math);
printf("计算机:");
printf("%d\t",p3->computer);
b=1;
printf("信息输出完毕!\n");
printf("请输入您的新信息!\n");
cin(p3);
Indat(head);
return;
}
if(b==0)
printf("对不起!没有您要查的相关信息!");
}
STU shanchu() /*删除学生信息*/
{char name[10];
STU head,p1,p3;
char ch;
int b=0;
p3=Outdat();
head=p3;
printf("请输入您要查询信息的用户名:\n");
scanf("%s",name);
while(p3)
if(strcmp(name,p3->name)!=0)
{p1=p3;
p3=p3->next;
}
else
{ printf("这是您要删除的信息!\n");
printf("%s\t%d\t%s",p3->name,p3->num,p3->class);
printf("语文:");
printf("%d\t",p3->chinese);
printf("英语:");
printf("%d\t",p3->english);
printf("数学:");
printf("%d\t",p3->math);
printf("计算机:");
printf("%d\t",p3->computer);
b=1;
printf("信息输出完毕!\n");
printf("您确实想删除以上信息吗!yes or no \n");
ch=getchar();
ch=getchar();
if(ch=='y'||ch=='Y')
{ p1->next=p3->next;
free(p3);
printf("信息删除完毕!\n");
Indat(head);
return;
}
}
if(b==0)
printf("对不起!没有与您要查的相关信息!");
}
xianshi() /*显示文件中的所有信息*/
{ STU p;
p=Outdat();
while(p!=NULL)
{printf("%s\t%d\t%s",p->name,p->num,p->class);
printf("语文:");
printf("%d\t",p->chinese);
printf("英语:");
printf("%d\t",p->english);
printf("数学:");
printf("%d\t",p->math);
printf("计算机:");
printf("%d\t\n",p->computer);
p=p->next;
}
printf("这是所有信息!");
}
eaverage()/* 计算学生的平均成绩和名次*/
{STU p3,head;
float a;
char ch;
int i, b=0,j=1;
char name[10];
SCO L,L1,L2;
p3=Outdat();
head=p3=p3->next;
L=L1=(SCO)malloc(NEM);
while(p3)//复制链表;
{ L2=L1;
a=(p3->chinese+p3->english+p3->math+p3->computer)/4;
L2->aver=a;
strcpy(L2->name,p3->name);
L1=(SCO)malloc(NEM);
L2->next=L1;
p3=p3->next;
}
L2->next=NULL;
free(L1);//while
while(j)
{L1=L2=L;
i=1;
printf("请输入您要查的用户名!\n");
scanf("%s",name);
while(L1)
if(strcmp(name,L1->name)!=0)
L1=L1->next;
else
{printf("用户已被找到!\n");
b=1;
while(L2)
if(L1->aver>L2->aver||L1->aver==L2->aver)
L2=L2->next;
else
{ i++;
L2=L2->next;}
printf("此学生的成绩情况是:\n");
printf("%s\t平均分是%f",L1->name,L1->aver);
printf("第%d名!",i);
break;
}
if(b==0) printf("对不起!没有与您要查的相关信息!");
printf("您是否还想继续 yes or no!");
ch=getchar();
ch=getchar();
if(ch=='n'||ch=='N')
j=0;
}
return;
}
chinese() /* 语文成绩排名 */
{STU p3,head;
SCO L,L1,L2;
int k,max,j;
p3=Outdat();
p3=p3->next;
head=p3;
max=0;
j=0;
L=L1=(SCO)malloc(NEM);
while(p3)
{ L2=L1;
L2->aver=p3->chinese;
strcpy(L2->name,p3->name);
L1=(SCO)malloc(NEM);
L2->next=L1;
p3=p3->next;
}
L2->next=NULL;
free(L1);
while(L)
{ p3=head;
max++;
while(p3)
if(L->aver>=p3->chinese)
p3=p3->next;
else
{j++;
p3=p3->next;
}
strcpy(stud[j].name,L->name);
stud[j].aver=L->aver;
L=L->next;
}
printf("语文成绩情况:\n");
for(k=0;knext;
head=p3;
max=0;
j=0;
L=L1=(SCO)malloc(NEM);
while(p3)
{ L2=L1;
L2->aver=p3->english;
strcpy(L2->name,p3->name);
L1=(SCO)malloc(NEM);
L2->next=L1;
p3=p3->next;
}
L2->next=NULL;
free(L1);
while(L)
{ p3=head;
max++;
while(p3)
if(L->aver>=p3->english)
p3=p3->next;
else
{j++;
p3=p3->next;
}
strcpy(stud[j].name,L->name);
stud[j].aver=L->aver;
L=L->next;
}
printf("英语成绩情况:\n");
for(k=0;knext;
head=p3;
max=0;
j=0;
L=L1=(SCO)malloc(NEM);
while(p3)
{ L2=L1;
L2->aver=p3->math;
strcpy(L2->name,p3->name);
L1=(SCO)malloc(NEM);
L2->next=L1;
p3=p3->next;
}
L2->next=NULL;
free(L1);
while(L)
{ p3=head;
max++;
while(p3)
if(L->aver>=p3->math)
p3=p3->next;
else
{j++;
p3=p3->next;
}
strcpy(stud[j].name,L->name);
stud[j].aver=L->aver;
L=L->next;
}
printf("数学成绩情况:\n");
for(k=0;knext;
head=p3;
max=0;
j=0;
L=L1=(SCO)malloc(NEM);
while(p3)
{ L2=L1;
L2->aver=p3->computer;
strcpy(L2->name,p3->name);
L1=(SCO)malloc(NEM);
L2->next=L1;
p3=p3->next;
}
L2->next=NULL;
free(L1);
while(L)
{ p3=head;
max++;
while(p3)
if(L->aver>=p3->computer)
p3=p3->next;
else
{j++;
p3=p3->next;
}
strcpy(stud[j].name,L->name);
stud[j].aver=L->aver;
L=L->next;
}
printf("计算机成绩情况:\n");
for(k=0;k printf("%s %f\n",stud[k].name,stud[k].aver);
printf("成绩输出完毕!");
}
void main()/*主函数*/
{ STU p;
int j;
print();
while(1)
{
printf("Enter choice:");
scanf("%d",&j);
if(j13)
{
printf("Enter num from 1 to 13:\n");
exit(1);
}
switch(j)
{case 1:
creat();
break;
case 2:
insert();
break;
case 3:
xiugai();
break;
case 4:
find();
break;
case 5:
print();
break;
case 6:
shanchu();
break;
case 7:
xianshi();
break;
case 8:
eaverage();
break;
case 9:
chinese();
break;
case 10:
english();
break;
case 11:
math();
break;
case 12:
computer();
break;
case 13:
exit(1);
break;
}
scanf("%d",&j);
}
}
———————————— 用户使用手册 ——————————
程序功能:建立一个简单的学生管理系统,存储的学生信息至少包括:班级,学号,姓名,各个科目的成绩.能够完成的功能至少有:输入,查询,修改,删除学生信息,计算学生的
平均成绩,名次,按某个科目的成绩排序输出.
完成日期:2006年2月22日
版本:———
运行环境:Windows XP
版权人:黄涛 学号:2004551425 计算机3班
硬件要求:486以上机器,32M以上RAM,32M硬盘空间
本人保留所有版权.
使用方法:打开文件目录下的可执行文件即可运行程序,程序运行时,屏幕上会显示13个备选的键,每个键都可以完成一个操作,如:插入,删除,修改,学生信息,计算成绩等等······
注意:在使用本程序之前请认真阅读手册.
***********************************************
⑽ 程序员工作要做什么
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。
作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力
团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力
作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:
1、 需求分析能力
2、 整体框架能力
3、 流程处理能力
4、 模块分解能力
5、 整体项目评估能力
6、 团队组织管理能力
一般招工时需要提供基础程序员证书,要参加考试的:
[编辑本段]考试说明
1、 考试要求:
(1) 熟练掌握基本算法和数据结构,用C语言编制程序;
(2) 掌握数据结构、程序变速器和操作系统的基础知识;
(3) 了解软件工程、数据库、多媒体和网络的基础知识;
(4) 掌握数制、机内代码及其算术运算和逻辑运算的基础知识;
(5) 了解计算机的体系结构和主要部件的基础知识。
2、 通过本级水平考试的合格人员能按照软件设计说明书编制程序,具有相当于助理工程师
的实际工作能力和业务水平。
3、 本级水平考试范围包括两个模块:模块1——程序编制能力(考试时间为150分钟);模
块2——基础知识(程序员级)考试时间为120分钟)。题型为:单项选择题十多项选择题。