具备 8 年以上软件行业工作经验;
具备 4 年以上 C/S 或 B/S 体系结构软件产品开发及架构和设计经验;
具备 3 年以上的代码编写工作经验
具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验
对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握
对 .Net/JAVA 技术及整个解决方案有深刻的理解及熟练的应用,并且精通WebService/J2EE 架构和设计模式,并在此基础上设计产品框架
具有面向对象分析、设计、开发能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟练使用 Rational Rose、PowerDesigner 等工具进行设计开发;
精通大型数据库如 Oracle、Sql Server 等的开发;
Java架构师要求是很高的,除了要精通JAVA方面知识以外,还要掌握计算机所有软件方面,以及部分硬件方面的知识。
程序设计方面:JAVA、JAVA Application、JAVA EE(例如:EJB、RMI、JMS、WebService)、开源、设计模式、JavaScript、C/C++、.NET方面、VBA 。
数据库方面:SQL、ORACLE、MySQL、索引、分区、分片、主从、存储过程 。
网络及浏览器:TCP/IP协议、HTTP协议、FTP、HTML、XML、浏览器 。
操作系统:Linux系统、Shell/批处理、文件系统(各种)、SSH 。
中间件:Tomcat、Apache、Nginx、lighthttpd、JBoss、WebSphere、Weblogic、IIS。
技术和思想:各种算法、搜索、缓存、多线程、UML、OO、SOA、AOP、REST、存储、云计算等。
业务方面:论坛、博客、社交、电子商务、应用程序等 。
其它方面:计算机基础知识、计算机硬件方面 。
个人软素质:经验、问题分析、大局观、心态等 。
企业需求:
熟练使用各种框架,并知道它们实现的原理。熟练使用各种数据结构和算法,如数组、哈希、链表、排序树等;熟练使用linux操作系统;熟悉tcp协议,创建连接三次握手和断开连接四次握手的整个过程,不了解的话,无法对高并发网络应用做优化; 熟悉http协议等
除上述过硬的技术基础外,架构师还要针对业务特点、系统的性能要求提出能解决问题成本最低的设计方案。
要有根据业务发展阶段,提前预见发展到下一个阶段系统架构的解决方案的能力,并且设计当前架构时将架构的升级扩展考虑进去,做到易于升级。
架构思想、架构设计和架构哲学等系列的知识讲解