对于程序员的职业进阶主要两个方向一个是项目管理,一个是技术总监或技术经理。对于项目管理主是对于项目的管控,项目管理的七大范围,个人觉得相对于项目管理来说技术总监或技术经理要求更高一些,它不仅要求有比较全面和过硬的技术能力还要要求有比较好的管理能力。
纵观各大招聘网站对于“技术总监或技术经理”的要求都大同小异。
下面就我针对于项目管理和相关技术(主要是Java方向)这两方面作一个要求汇总,你可以把它作为一个打怪升级的过程中的技能备忘录,锦囊。
一、项目管理
制订并实施工作目标和工作计划,加强技术队伍建设和管理
负责对研发团队进行有效的管理、提升和考核,能合理的工作安排和项目过程把控。
绩效考核指标,绩效考核,绩效管理,部门制度指定,激励,监督
团队员工招聘,录用,技术培训
公司发展战略,年度经营计划,月度经营计划
负责制定与技术相关的各项管理制度、技术规范及业务流程
1、参于公司战略讨论。负责信息中心整体发展方向、负责团队目标和工作计划的制定和高效执行、确保目标实现;
2、组织制定和实施重大技术决策和技术方案、制定技术发展战略、规划发展方向、全面负责公司技术层面的所有管理工作;
3、负责团队的建设和人才培养,不断提升团队的工作质量、效率和技术能力;
4、负责各项目系统总架构的(包含网站、软件、数据库、接口和应用架构、APP客户端软件、系统运维、安全运维等)设计与实现;
4、分析产品运营效果和数据、制定产品优化方案、实现提出的技术需求;
5、负责根据需求设计大数据、大并发技术解决方案;
6、负责解决重大技术问题,指导、处理、协调和解决软件产品出现的技术问题;
7、负责关注现有产品的数据并进行分析、带领团队持续完善和优化已有产品功能;
8、负责不断地快速提升核心技术、构建稳定、高效的研发团队;负责团队的建设、激励、考评、培养、持续提升团队工作热情、工作质量和工作效率;
1、制订并实施工作目标和工作计划,加强技术队伍建设和管理;
2、根据业务需求进行软件需求分析;
3、系统架构设计及模块划分和设计、进行模块接口设计;
4、参与核心代码开发并指导其他工程师完成软件代码开发;
5、负责制定团队开发规范、编码规范,并跟踪开发过程及时纠正;
6、负责对研发团队进行有效的管理、提升和考核,能合理的工作安排和项目过程把控,工作协调分配。
====================
二、相关技术
1、大专及以上学历,3年以上互联网平台
系统开发经验,具有团队管理经验尤佳;
2、精通Spring、Hibrenate、Struts等开发框架;
3、精通J2EE、XML、HTTP、WebService、json、分布式、
多线程等高性能架构相关开发技术;
4、精通
面向对象的分析和设计技术,包括
设计模式、UML建模等,精通设计模式,熟悉并能使用主要的设计模式,能在JDK,主流的开源框架中识别设计模式,做到真正理解设计模式的思想和用法;
5、精通面向对象的设计方法, 具有丰富的面向对象架构设计以及相关设计开发流程;能用主流的UML工具(Rose等)画主要的UML图,例如Class图,顺序图,状态图等。
6、熟练使用Oracle、MySql等数据库系统,有较强的数据库设计和开发能力;
7、具有高负载、高并发、大数据量、分布式网站的开发、设计优先。
8、熟悉Web后台编程环境,精通至少两种以上后台开发语言,比如:Java/PHP/.Net/Python/Ruby
、精通Java SE和Java EE技术,包括Servlet/JSP、JDBC、EJB、JMS、Web Service等技术,对各种开源的框架如Spring、Hibernate、Mybatis等有深入的了解;
、精通大型电商网站的架构设计、系统分析、软件实现、性能优化及系统安全和数据管理;
、精通java和JVM、熟悉Linux、mysql、Mssql、Oracle等常用开源软件和开源框架;
、精通jsp、Servlets、JMS、EJB、jdbc、JMX开发,熟悉J2EE规范,熟悉各种常用设计模式;
、熟悉Tomcat、Jboss等应用服务器,熟悉Linux,熟悉常用的命令,能在Linux下部署和管理Git,Nginx,Tomcat和MySQL等;
、撰写技术文档能力强;
、精通主流WEB2.0的技术,熟悉RestFul,springmvc, spring,mybatis/JPA、 分布式缓存技术,以及其他性能调优技术,对高性能、高可靠性分布式系统的设计和实现有深入理解
、精通分布式高并发系统架构设计,熟悉zookeeper,dubbo,jgroup等框架。
、精通常用的java框架,spring , mybatis,Hibernate ,netty.能够合理使用开源框架和设计模式提高软件质量。
、精通数据模型设计。了解mysql优化,高可用集群搭建,熟悉Redis,Memcache ,Mongo db等No Sql.
、能够使用SVN,GIT,管理代码。并使用一些开源工程提高代码质量,和集成速度。
、计算机基础知识扎实,熟悉多线程编程,JVM调优, 设计模式,精通Java编程基础:集合框架、多线程并发等;
、精通Spring, 理解AOP的思想,极为熟悉SpringMVC,精通Spring下的各种配置,特别是事务配置,连接池配置等。
、精通Hibernate,最好是Hibernate结合MySQL,知道常见的难点及解决方式,如批量更新和缓存的问题。熟悉JPA,能用Hibernate作为JPA的实现,结合Spring开发系统。
、精通MySQL或MariaDB,能用PowerDesigner,ERWin等建模工具规范化设计大新网站的ER模型,能编写较复杂的存储过程,掌握常用的性能调优技术,精通读写分离技术,并有实际的项目经验。
、精通SpingMVC+SpringIOC+MyBatis+MySQL的系统开发技术,成熟的Action+Service+DAO+Entity的分层开发经验和技术, 有利用上述技术开发大型网站系统的丰富经验。
、精通JSP,JSTL的表现层技术,熟悉HTTP协议,熟悉html5,Javascript、AJAX、JSON等Web2.0页面技术;必须精通 BootStrap, JQuery,因为是侧重前端的方向,所以应具备在无美工和前端设计师配合情况下,设计出采用BootStrap, JQuery,HTML5技术的具有统一的网站页面风格的静态页面,具备较高水平的页面布局和设计能力。