科技公司科技公司员工手册(EHB).docx
Hand BookXX员工手册版人力资源部致新员工:您已成为xx的一员,就说明我们认可了你所具备的能力,你也认同了xx。我们希望你能给xx带来新的活力,也希望xx能成为你梦想起飞的平台。2008年的时候,西门子研究院的一帮“聪明人”出于对网络安全的敏感,提出了一个防御构想,于是这几个人大胆的带着这个构想去了国家安全中心,专家认为很新颖,这个构想就成为了产品的原型。他们怀揣梦想放弃西门子研究院的高薪职位,成立了xx。如今,那帮“聪明人”早已成为公司的栋梁,而他们大多是80后。他们身上的品质成就了今天的xx,我希望这样的品质能传承下去,也希望这些能对你们有所启发。首先要说的是行动。现在的中国不缺想法,尤其在网络上,“晚上想想千条路,早上起来走原路”。如果当初我们仅止步于一个构想,而没提出原型,做出demo,去努力争取,那自然不会有xx。或许会有其他的公司,但那一定由将想法付诸行动的人创立。xx目前还是一个小的互联网创业公司,我们需要想法,但更需要将想法落地的行动,“去做,去做得更好”,才能让我们前进。其次,一帮80后,不知天高地厚地跑到关公面前耍起大刀,需要多大勇气?如果到现在,就当作是去了一次“赢在中国”的现场,还有专家给你点评,所以“没有失败者,只有幸运者”,“面对失败和挫折,一笑而过是一种乐观自信,重振旗鼓,这是一种勇气。“无论多优秀的人,谁还不曾失败过,但永远不要因为害怕失败而失去敢于面对困难的勇气。xx还很年轻,我们的客户都是大的运营商和管局,我们包容工作的失误,但一定要具备敢于“在关公面前耍大刀”的勇气!马云说,“阿里巴巴在路上发现小金子,如果不断捡起来,身上装满的时候就会走不动,永远到不了金矿的山顶;还是不管小金子直奔山顶”。“舍与得实在是一种哲学,也是一种艺术。会活的人,或者说取得成功的人,其实就是读懂了两个字:舍得”。我感谢为了xx放弃西门子研究院优厚待遇的这些伙伴,为了追求,先舍后得。最后要说的是坚持。回想xx创业初的那几年,从四个人的规模一路走来,资金、人才、办公场地什么坎没有遇过,但最后我们都坚持了下来,坚持的不仅是激情,更是责任。既然我们已经选择了信息安全产业,那就要对安全负责,对企业负责;我也相信大家都有这样的责任心,对工作负责,对职业负责,面对任何困难都可以坚持下去。xx就是由这些有行动力,有勇气,具备舍得智慧,又能坚持到底的一帮人做起来的,希望你也加速成长,融入“恒安帮”,一起做大做强,实现共同成功!年2月目录1.公司简介72.组织与岗位71公司组织架构72公司岗位结构83岗位职责9管理岗位9产品研发中心10安全研究中心12互联网产品运营中心14解决方案咨询产品中心16工程运维服务中心19市场营销中心203.任职资格201研发体系21JAVA21C23Android & IOS26漏洞292综合体系31测试31安服34运维343管理体系35人员管理35业务管理394.绩效体系441组织绩效44制定对象:44制定时间:44流程与分工:44绩效计算:45组织绩效修正46组织绩效影响:462个人绩效46制定时间:47制定对象:47流程与分工:47绩效计算:48个人绩效影响:515.人事政策521薪酬政策52薪酬管理原则52薪酬体系53薪酬结构53补助规定54薪酬计算55薪酬发放55薪酬调整552奖励政策56优秀的意义56突出贡献奖57优秀员工奖58优秀主管奖58风雨同舟奖59总经理奖593培训培养政策60原则60培训60职业认证61继任计划62导师制634申诉管理64申诉渠道64适用范围64申诉要求65处理流程65结果处理656.雇佣关系651招聘面试65招聘渠道65招聘流程66入职审批662劳动关系建立66劳动关系分类66入职者要求67合同的签订67档案管理68试用期683合同续签694合同变更695劳动合同解除69解除条件69离职流程707.考勤休假711考勤管理71正常工作时间与休息时间71考勤弹性71工作特殊性71考勤不等于绩效712休假管理72假期类型72请假流程74审批权限748.保密原则759.附录:751名词解释752常用表单77请假单77转正申请79绩效承诺书80离职手续办理表821. 公司简介xx(北京)科技有限公司 成立于2008年8月,是一家专注于网络空间安全的服务和产品提供商,是国家高新技术企业、北京市软件企业和中关村高新技术企业,核心业务定位于移动互联网安全。公司拥有国内领先的互联网安全评估、移动互联网安全监控、手机恶意程序检测与防护、IDC/ISP安全监测、安全增值产品的解决方案并提供相关服务。业务涉及工信部、中国移动、中国联通、中国电信等主要客户。养正气,立正见,怀正念,行正道。xx将继续秉承“支持国家、服务企业、合作创新”的公司理念,与国内广大互联网、移动互联网安全企业一道为创造安全、绿色、公平的移动互联网环境而共同努力。公司网站:公司地址:北京市海淀区花园路2号院3号楼3层邮 编:100191电 话:010-62387759传 真:010-62384566技术热线:400-08639882. 组织与岗位1 公司组织架构公司组织架构设计的目的是为了合理配置资源,支撑战略目标的达成,因此组织架构并非固定的,根据市场的导向和公司的规模会及时调整。目前公司采取直线职能制,限制为三层,第一层为中心层,第二层为部门层,第三层为小组层。根据职能的不同,业务部门分为工程运维、市场营销、解决方案咨询、互联网产品研发、产品研发和安全研究六个业务中心。公司目前组织结构如下:2 公司岗位结构岗位是组织为了达成其目标或使命而设立的组织结构的最小单元,员工通过岗位与组织结构挂钩。xx(北京)科技有限公司目前的岗位结构按照工岗位职能差异,分为人员管理、产品/项目、专业技术和市场营销四类岗位,每类岗位分为专业、主管、经理、总监四层。公司的岗位类型和层级就是员工的职业晋升通道,除了在同类岗位中直线晋升外,主管层以上的专业技术类在满足管理职务级别的要求下可转其他三类。公司的岗位任职要求与员工的职务级别相互对应.如TL岗位需要中级4等到高级2等的职务级别,若高级3等任TL岗位属于高职低就,若中级3等任TL岗位属于低职高就,职务与岗位的匹配,就是将合适的人放到合适的岗位上,以便于岗位职责的履行,达成公司设立岗位的目的。岗位和组织结构一样,根据公司的发展随时增减变化,连同岗位职责一样,也会根据公司业务和规模的不同而赋予新的要求,目前公司的岗位结构如下:3 岗位职责岗位职责指一个岗位所要求的需要去完成的工作内容以及应当承担的责任范围,岗位的职责与员工个人能力无关。换言之,不论能力高低与否,岗位所要求的工作内容必须完成;无论是哪个环节的过失,岗位所需要承担的责任必须承担。公司将岗位结构与组织架构结合,将岗位具体到每个中心层且分别进行了职责描述。管理岗位岗位职责中心总监1. 参与公司政策、目标制定,负责公司文化的沟通与传承2. 负责中心目标(包含项目、产品、效益等)的制定与向下的分解3. 在公司管理体制下制定部门内部要求并内部颁布执行4. 合理布局部门结构,做到资源合理分配,配套打通内部部门的协作流程,提升内部效率5. 对部门费用、人力结构、整体绩效、人力成本等行使审核权,对个体薪酬、评优、激励等行使建议权6. 对部门经理的能力培养进行辅导,确保其适合部门发展需求中心副总监部门经理1. 负责承接中心目标并向下分解到Team2. 及时把控部门内目标达成情况,对部门内组间工作进行协调、人力需求进行调配3. 负责部门人力成本、行政费用的预算与控制4. 建立部门内部技术梯队,完善部门内部培训培养体系5. 负责部门内部活动组织、跨小组交流,活跃部门氛围6. 对Team Leader的能力培养进行辅导,确保其适合团队发展需求部门副经理TL1. 根据下属特点设置角色分工,明确工作目标,分解工作任务2. 跟踪任务执行进度和质量,及时对任务与人力进行调整,保障部门人力效能3. 对下属工作结果、能力态度及潜力做出评价,为人员晋升培养给出建议4. 优化内部开发流程与代码规范,保持组内效率与风格一致5. 组织团队活动,了解下属动态,保持团队活跃的氛围6. 对外接口,支撑项目或其他工作需求副TL产品研发中心岗位职责高级架构师1. 领导与协调整个项目中的技术活动(分析、设计和实施等)2. 为技术决策提供规则,平衡各类涉众的不同关注点,化解技术风险,并保证相关决定被有效的传达和贯彻3. 评价和确认软件架构的实现副总工程师1. 副总工程师是了解行业技术,并在技术上对所有重要事情做出决定的人2. 对核心技术预研并考虑可实现性3. 协调跨部门技术冲突,协助周边部门解决技术难题系统架构师1. 架构师是软件项目/产品的总体设计师,是软件组织新产品的开发与集成、新技术体系的构建者2. 确定和文档化系统的相对构架而言意义重大的方面,包括系统的需求、设计、实施和部署等“视图” 3. 确定设计元素的分组以及这些主要分组之间的接口技术专家1. 评估技术难度并确定研发进度2. 分析涉及技术,评定技术难度,考虑技术实现3. 负责部门内部技术体系架构,并实现部门内部技术积累到文档主任工程师1. 根据需求分析、业务功能及流程设计,按照项目计划,完成概要设计、总体设计、详细设计、系统框架、模块原型设计及接口设计2. 给出研发计划并进行进度评估,把握项目流程和进度,进行微调3. 在产品或项目设计、开发、测试和实施过程中,准确、灵活地分析和解决遇到各类疑难技术问题4. 负责部门内部技术培训体系架构及组织课程资料的编纂软件/测试工程师高级1. 参加软件产品或研发项目系统的需求调研和需求分析工作,并对评审需求文档2. 根据应用系统运行状况问题报告,进行分析,提出解决问题或改善性能的建议3. 培训、指导新进工程师工作1. 按照研发计划独立完成所负责模块的的编码工作2. 对项目实施进行支持,确保系统安全可靠见习工程师1. 在文档或导师指导下按照研发计划完成编码工作2. 对工作质量负责,独立完成单元测试并通过3. 负责代码维护与备份,按照要求输出研发文档安全研究中心岗位职责引擎专家1. 了解行业技术发展方向,对相关技术进行预研,进行产品化2. 了解同行产品竞争优劣势,对自身引擎类产品从架构上持续优化,维持产品竞争优势,深刻理解用户需求,引导客户需求带领团队完成产品开发引擎工程师高级1. 参与行业标准制定,进行产品级培训和交流。2. 针对手机多平台(Symbian、Android、WinMobile、J2ME)能够进行相关的技术研究和开发。3. 负责引擎核心模块的开发与维护,能够将预言的成果4. 能够指导中级开发工程师解决技术难题并对代码质量把关。1. 能够独立负责引擎模块开发与维护。2. 具有良好的代码风格和安全编码意识,能够独立快速定位程序Bug。协议专家1. 跟踪研究网络应用技术的发展方向2. 精通多平台各类网络协议,提出具体业务的识别、内容解析和还原的技术方案,根据客户需求完成相关技术的预言与实现。协议工程师高级1. 对加密数据、私钥进行破解,还原及呈现数据2. 研究分析网络业务的分类方法,积累到文档,指导协议工程师工作,培训新员工、客户1. 通过网络协议工具进行抓包,并对包内特征进行分析定位到程序2. 对数据进行逆向分析,定位到数据产生的行为特征3. 对不涉及加密数据进行识别计算病毒分析师高级1. 参与黑白名单标准制定2. 必要时承担项目经理职责,响应项目需求1. 进行病毒精准分析,负责病毒样本的处理与分类,编写病毒分析报告2. 协助和参与引擎前沿技术研究工作。3. 对客户应急响应,挖掘并定位可能存在的安全隐患及代码漏洞分析师高级1. 及时响应应急事件,针对突发的漏洞攻击行为进行分析,保障客户安全2. 对目标网站或系统进行渗透测试1. 跟踪黑客与病毒等网络攻击技术,手机系统与web漏洞进行整理、分类2. 对发现的漏洞进行验证,及时发布3. 维护客户网站运营见习工程师1. 能够较熟练使用第三方工具静态和动态分析手机病毒。2. 能够使用工具对网络协议实现基本抓包。3. 在指导下完成病毒分析、样本处理与分析报告的编写。互联网产品运营中心岗位职责系统架构师1. 了解行业内产品实现架构与原理,对现有产品合理架构优化产品2. 确定产品整体的架构设计,考虑后期功能扩充、模块化拆分等3. 与产品经理共同对产品版本进行规划主任工程师1. 对产品新功能点的实现进行研究,给出技术实现的思路与方法2. 解答产品/项目中出现的问题,对Android/IOS工程师进行指导3. 参与内部文档、流程规范的评审与整理4. 熟练使用C语言优化底层算法,提高产品性能开发工程师高级1. 参与产品/项目的需求评审环节,给出意见2. 分析系统底层原理与实现,优化现有产品的稳定性1. 参与产品/项目的需求设计环节2. 负责产品/项目开发,保障功能的实现与完整3. 对质量负责,独立完成单元测试4. 按组内规范整理数据库设计文档与逻辑流程图5. 维护所分配的业务模块,发现bug并修正,维护性能稳定UI设计师1. 理解用户对产品的需求,确认产品风格、界面的布局、关键界面的设计、文字、及其他的设计,并通过GUI评审2. 支撑原型设计部分的绘制、制作、评审,修改仿真原型满足用户需求3. 根据市场主流风格,对UI设计提出改进建议并实现4. 承接公司内部宣传、印刷品的设计与制作测试工程师1. 负责准备不同版本不同系统的测试环境2. 对产品分类测试并按照规范给出测试报告见习工程师1. 在指导下完成独立小开发项目或实验项目2. 遵守开发规范与文档规范,熟悉产品与项目产品经理高级1. 对所负责产品进行市场调研,了解市场需求与竞争产品优缺点2. 盘活关联资源,进行整合,承担合作洽谈3. 必要时承担项目经理职责,保障产品实现4. 进行产品生命周期管理,及时做好下一代产品功能规划1. 了解用户需求的基础上进行进行归纳、分析,完成产品定义2. 负责产品推广、协助合同竞标,签订项目合同3. 负责产品的实现,关注产品研发与测试进度,进行产品风险管控4. 对产品进行版本管理,检查产品质量与功能实现,参与系统集成测试,在公司平台进行产品发布5. 做好产品文档管理,包括但不局限于白皮书、销售培训手册、价格体系等6. 对产品盈利状况与市场竞争力做出分析,做好对产品的循环改进项目经理高级1. 维护客户关系,挖掘并引导客户需求,拓展新的市场机会2. 协具备项目成本意识,从前期规划到项目实施中能发现问题,提高效率,节约成本3. 总结项目经验,对工程实施、常见问题等形成经验积累,指导项目经理工作开展4. 主导与工程部间的工作流程,及时解决跨部门冲突,保障合作效率1. 完成用户需求确认,项目现场情况勘探,在协助下完成项目计划指定,项目实施方案编制,跟踪到货情况。2. 保证项目部署进度,在部门支持下协调工程实施,参与布线、设备上架、割接等3. 协调软件安装,负责项目系统演示、客户培训,负责项目上线测试。4. 向研发报告运维过程中发现的系统BUG和隐患,按要求对项目进行终止。运营经理高级1. 承担具体利润指标,并负责实现2. 服务客户,对业务范围现状及趋势进行分析统计,协助达成客户满意3. 根据所负责业务范围探寻合作机会,完成商务洽谈及达成合作协议4. 负责产品推广、活动策划、促销排程等具体工作1. 独立完成业务搜索、关键字等具体信息的分析统计,形成趋势报告2. 维护客户关系,维护产品稳定3. 支撑活动策划、推广促销等工作4. 对运营过程中出现的问题反馈给产品经理与研发,维护产品/项目的稳定解决方案咨询产品中心岗位职责产品管理专家1. 熟悉负责产品所在领域知识,能与客户技术人员深入交流并引导客户需求。2. 熟悉所负责产品及行业内产品关键原理及架构,能指导产品经理进行产品设计3. 参与到架构设计环节,在架构阶段考虑好后续性能与版本的扩展性。4. 负责产品经理层技术积累与内部技术传承。产品经理高级1. 对所负责产品进行市场调研,了解市场需求与竞争产品优缺点2. 从项目中提炼产品需求,将项目进行产品化,提高研发效能3. 必要时承担项目经理职责,保障产品实现4. 进行产品生命周期管理,及时做好下一代产品功能规划1. 了解用户需求的基础上进行进行归纳、分析,做出合理的产品规划图2. 负责产品的实现,关注产品研发与测试进度,进行产品风险管控3. 对产品进行版本管理,检查产品质量与功能实现,参与系统集成测试,在公司平台进行产品发布4. 做好产品文档管理,包括但不局限于白皮书、销售培训手册、价格体系等5. 对产品盈利状况与市场竞争力做出分析,做好对产品的循环改进项目管理专家1. 掌握所负责项目范围内所需要的技术、知识,指导项目实施中所遇到的技术难点2. 负责内部技术积累,对内部项目实施流程持续优化,提高运作效率,避免项目风险3. 能独立且柔和地解决与客户及与内部的矛盾冲突,引导工作向解决问题的方向努力项目经理高级1. 熟悉公司的产品与解决方案,挖掘新的用户需求和销售机会2. 了解公司组织与研发流程,独立完成项目中的沟通协调工作,保障项目前期到后期的运行3. 具备项目成本意识,从前期规划到项目实施中能发现问题,提高效率,节约成本4. 总结项目经验,尤其是对客户需求的描述,能做到系统化、结构化,并形成规范,指导项目经理工作1. 熟悉项目及产品,协助完成售前项目测试、招投标2. 完成用户需求确认,项目现场情况勘探,在协助下完成项目计划指定,项目实施方案编制,跟踪到货情况。3. 保证项目部署进度,在部门支持下协调工程实施,参与布线、设备上架、割接等过程4. 协调软件安装,负责项目系统演示、客户培训,负责项目初验。5. 负责项目终验,独立或者协助完成本地项目的日常运维,及时反馈和处理客户在系统运行过程中的问题6. 向研发中心报告运维过程中发现的系统BUG和隐患,按要求对项目进行终止。安服专家1. 对常见安全问题形成课题化研究,产生业界影响力,提升安服的核心竞争力2. 对行业技术发展具备前瞻性,能够与安全领域相互结合,推动产品进行预研3. 对组织发展与业务形态进行重塑与整合,以自动化代替手工,集中资源开展服务转型安服工程师资深1. 独立面对客户完成安全咨询体系规划,引导客户需求,导入研发项目2. 对项目进行评估,负责项目规划与报价3. 对安全服务领域内所涉及的技术和知识进行归类整理,在部门内部形成技术规范与经验指导,建立健全部门内部经验传承4. 短时间快速定位项目中安全事故,协调资源及时解决高级1. 独立承担项目管理职能,针对客户需求制定安全解决方案2. 协助销售完成项目招标、投标工作3. 负责项目目标分解,人员工作工作分配与协调,在项目周期内达成项目质量要求1. 独立完成系统的漏洞扫描、应用的安全扫描2. 对扫描结果进行分析,验证扫描结果的准确性3. 独立完成安全分析报告的撰写,符合文档规范,交给项目经理见习工程师1. 在指导下使用扫描软件发现系统及应用软件的安全漏洞2. 基于扫描结果,在指导下撰写安全评估报告,提供给项目经理工程运维服务中心岗位职责工程专家1. 对项目实施过程中的问题快速定位,解决并指导运维工程师及时排除问题2. 对项目实施与运维提供技术指导与支撑,主持并扩散经验与信息分享3. 针对工程中出现的施工、运维方面的技术问题,对内与研发专家、架构师协作,推动产品改进与完善实施工程师资深1. 了解项目和业务架构,熟悉系统架构,指导工程师完善与排查项目实施中的问题2. 对运维中重大事件总结成案例,编写部门checklist与实施规范,做好内部总结培训与经验传承高级1. 项目实施中自行解决设备本身、系统架构与业务架构方面的问题2. 独立负责项目实施,并指导实施工程师与见习工程师快速上手1. 协调到货,独立完成项目实施工作2. 寻找当地施工队资源,进行商务谈判报价,独立完成审批流程3. 与客户沟通,加电联网调测4. 对内沟通研发、测试进行软件部署,配合完成初验测试5. 按照约定时间请求并完成终验,收取尾款见习工程师1. 能够在导师指导下协助完成项目实施工作2. 做好加电联网调测、软件部署等支撑工作市场营销中心岗位职责市场总监1. 负责承接中心层KPI指标并向下分解到具体任务2. 编写内部费用计划,负责内部行政流程审核,进行成本管控3. 负责团队内成员指导与评价,员工推荐与评优4. 团队内价值观传承与氛围塑造市场副总监1. 所负责业务范围内的团队管理与业务划分2. 所负责范围内的市场拓展、新销售机会及合作机会的挖掘3. 负责对内对外的冲突处理与整体资源协调4. 负责经验传承,指导客户经理及以下人员快速上岗客户经理1. 进行市场调研工作,分析竞争对手动态2. 维护客户关系,定期拜访客户,发现客户需求3. 承担销售指标,负责销售机会的挖掘与产品营销4. 协调售前、产品等内部资源,负责销售夺标市场专员1. 支撑市场调研工作,对调研结果进行基础的统计分析2. 协助完成标书打印、制作等工作3. 按照内部行政流程完成行权、会签等工作3. 任职资格任职资格是指为了保证工作目标的实现,任职者必须具备的知识、技能、能力和个性等方面的要求。公司根据岗位分类所需具备的素质,分为研发、综合与管理三个体系的任职资格,除管理体系外,其他体系都分为初、中、高、资深四个级别,初级中分为两等,中级和高级分为四等,分别从技术、素质与交付三个要求来进行描述。1 研发体系研发体系任职资格分为Java、C、Android&IOS、漏洞、病毒共五项来进行描述。JAVA技术要求专业能力初级中级高级资深Servlet容器类:Tomcat熟悉掌握精通精通版本控制类:SVN熟悉掌握精通精通 IDE类:Eclipse熟悉掌握精通精通关系型数据库类:MySql、ORACLE了解一项掌握一项精通一项精通两项非关系型数据库:redis,mongodb、Hbase等了解一项精通一项精通两项数据仓库类:InfiniDB、Hive,infobright等了解一项精通一项精通两项搜索引擎:lucene/solr熟悉一项精通一项Web基础知识: servlet/jsp html/div/css/js熟悉掌握精通精通Web框架知识:struts/spring/hibernate/freemaker/velocity/jquery/ExtJs/bootstrap/dwz/jqueryUI/熟悉三项掌握三项掌握六项精通六项Java基础知识: 数据结构、算法、接口/抽象类/类,封装/继承/多态,JDBC,XML熟悉掌握精通精通Java高级知识:多线程/SOCKET/IO了解熟悉精通精通操作系统基础知识:linux、Shell脚本了解熟悉精通精通素质要求专业能力初级中级高级资深需求调研阶段需求理解能力:程序员需要理解一个模块的需求,性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。需求分析能力:程序设计者必须正确理解用户需求所处的环境,并针对性做出需求的分析。系统设计阶段复用设计和模块化分解能力:对整体系统按照一种模块化的分析能力分解为很多可复用的功能模块和函数,并针对每一模块形成一个独立的设计需求。项目设计方法和流程处理能力:掌握不少于两到三种的项目设计方法(比如自顶至下的设计方法,比如快速原型法等等),并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的整体设计。系统开发阶段规范化,标准化的代码编写习惯:代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作复用性:复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作整体项目评估能力:必须能够从全局出发,对项目又整体的清醒认识,比如公司的资源配置是否合理和到位,比如工程进度安排是否能最大化体现效率又不至于无法按期完成。评估项目整体和各个模块的工作量,评估项目所需的资源,评估项目可能遇到的困难,都需要大量的经验积累。测试阶段测试习惯:软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证技术积累文档习惯:良好的文档是正规研发流程中非常重要的环节。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。学习和总结的能力:每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高。人员培养团队组织管理:工作的量化,而程序量化又不是简单的代码行数可以计算的,因此要求技术管理人员需要能真正评估一个模块的复杂性和工作量。团队组织管理:团队协作模式的调整,根据程序员之间的能力水平差距,以及根据项目研发的需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,这样才能最大发挥组队的效率交付要求需求调研需求分析文档需求分析文档技术评估报告系统设计技术方案设计书,任务分配文档代码编程规范系统开发开发文档开发文档开发文档开发文档集成测试集成测试说明集成测试说明集成测试说明集成测试说明技术积累项目总结项目总结项目总结项目总结C技术要求专业能力初级中级高级资深开发环境:gcc/g+,gdb,makefile熟悉掌握精通精通操作系统基础:linux系统管理和操作熟悉掌握精通精通数据结构:树(二叉树、N叉树、RB tree、 radix tree、B/B+ tree等),List(单链、双链、环形链、有序链等),队列(MPMC、MPSC、SPMC、SPSC等),Heap,Hash map熟悉掌握四项精通三项精通算法:广度优先,深度优先等熟悉掌握精通精通模式匹配:正则表达式,pcre,BM,AC,WuManber等熟悉两项掌握两项精通四项精通多线程/进程:pthread,spin-lock,mutex,条件变量,原子操作,non-block 算法,进程间通讯,共享内存等熟悉三项掌握四项精通五项精通网络通讯:Socket,select,epoll,reactor模式等熟悉两项掌握三项精通三项精通网络协议:TCP/UDP、IP、GRE、HTTP、FTP、SMTP、POP3、IMAP4等熟悉四项掌握三项精通四项精通数据库:mysql、redis、sqlite、bdb等,数据库切分熟悉两项掌握两项精通两项精通脚本语言:python、perl 、shell脚本等熟悉一项掌握一项掌握两项掌握两项移动互联核心网知识:GPRS网络体系结构,CDMA2000数据核心网体系结构,GGSN、SGSN、PDSN相关基础知识,GTP协议、A10/A11、Radius、WAP1.x/2.x熟悉两项掌握两项精通内存管理:内存分配原理、多线程内存分配原理、内存池技术熟悉掌握精通Linux内核:内存管理、进程调度、文件系统管理、网络协议栈等熟悉掌握掌握Linux 网络驱动:Linux 驱动模型、pcie驱动模型、igb、ixgbe、零拷贝技术熟悉掌握精通高级技术:协议识别原理,IDS实现原理等熟悉掌握精通素质要求专业能力初级中级高级资深需求调研需求理解能力:程序员需要理解一个模块的需求,性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。需求分析能力:程序设计者必须正确理解用户需求所处的环境,并针对性做出需求的分析。系统设计复用设计和模块化分解能力:对整体系统按照一种模块化的分析能力分解为很多可复用的功能模块和函数,并针对每一模块形成一个独立的设计需求。项目设计方法和流程处理能力:掌握不少于两到三种的项目设计方法(比如自顶至下的设计方法,比如快速原型法等等),并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的整体设计。系统开发规范化,标准化的代码编写习惯:代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作复用性:复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作整体项目评估能力:必须能够从全局出发,对项目又整体的清醒认识,比如公司的资源配置是否合理和到位,比如工程进度安排是否能最大化体现效率又不至于无法按期完成。评估项目整体和各个模块的工作量,评估项目所需的资源,评估项目可能遇到的困难,都需要大量的经验积累。测试阶段测试习惯:软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证技术积累文档习惯:良好的文档是正规研发流程中非常重要的环节。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。学习和总结的能力:每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高。人员培养团队组织管理:工作的量化,而程序量化又不是简单的代码行数可以计算的,因此要求技术管理人员需要能真正评估一个模块的复杂性和工作量。团队组织管理:团队协作模式的调整,根据程序员之间的能力水平差距,以及根据项目研发的需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,这样才能最大发挥组队的效率交付要求需求调研需求分析文档需求分析文档技术评估报告系统设计技术方案设计书,任务分配文档代码编程规范系统开发开发文档开发文档开发文档开发文档集成测试集成测试说明集成测试说明集成测试说明集成测试说明技术积累项目总结项目总结项目总结项目总结Android & IOS技术要求专业能力初级中级高级资深Android四大组件:Activity, Service, Content Provider, Broadcast Reciever熟悉掌握精通精通IOS框架:Cocoa Touch, Media, Core Services, Core OS熟悉掌握精通精通数据存储:Content Provider, Shared Preference, 文件存储,数据库存储,网络存储等熟悉掌握精通精通数据库:建表建库流程,常用Sql语句,事务处理熟悉掌握精通精通网络通信协议:HTTP,Socket熟悉掌握掌握精通加密算法:MD5,DES,AES,Hash等了解熟悉掌握一项精通一项测试工具:Monkey测试,Track View,DDMS等了解熟悉掌握一项精通一项调试工具:LOGCAT, Debug,第三方调试工具等了解熟悉掌握两项精通一项Java语言熟悉掌握掌握精通C/C+语言了解熟悉掌握操作系统基础:linux系统管理和操作了解熟悉掌握设计模式:观察者、单例、工厂等了解掌握掌握精通素质要求专业能力初级中级高级资深需求调研阶段需求理解能力:程序员需要理解一个模块的需求,性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险