系统架构师

System Architect

 

汇报对象: 部门经理

工作地点: 北京

 

 

概述

系统架构师是一个最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。

 

基本职责和责任:

 

l         负责公司系统的架构设计、研发工作;

l         熟悉事务所审计业务和企业内部审计业务;

l         参与项目或产品的需求分析,协助项目经理制定项目计划;

l         根据项目要求组织开发资源和协助项目经理达成项目进度;

l         负责组织及带领公司内部员工研究与项目相关的新技术;

l         对项目交付物或产品所用技术进行验证和总结;

l         根据需求规格说明,确定系统设计方案;

l         负责辅助并指导软件设计人员开展设计工作;

l         参与系统软件在客户处的实施与升级;

l         参与软件产品的验收,将合格产品投入使用;

l         指导客服人员安装、测试和维护软件;

l         总结开发中的经验、教训,提高研发质量;

l         汇总项目的可重用成果,形成内部技术资源库;

l         参与和制定公司各种软件设计与开发规范;

l         建立和完善各种设计技巧、经验案例库和技术知识共享平台,开展技术交流和经验分享;

l         组织、协调软件的上线、升级、需求变更工作;

 

 

知识和技能:

 

  • 熟悉MVCMVVM模式以及相Web MVVM,WPF MVVM相关框架;
  • 熟悉.NET主流应用服务器的架构体系、数据库以及各种中间件技术
  • 熟悉在.NET项目中利用分布式缓存,分布式K/V存储,分布式数据层框架,数据分发总线,异步框架
  • 熟悉消息中间件的原理及应用,对RabbitMQActiveMQZeroMQMSMQ中至少一种有较深入的使用和理解;
  • .NET项目中有大型分布式、高并发、高负载、高可用系统设计、开发和调优经验
  • 精通在.NET项目中利用常用设计模式和主流设计工具,能进行系统建模、总体设计
  • 悉大规模系统的负载均衡、缓存、网络存储、网络安全、数据库高可用设计以及和高负载系统应用的关键技术,如容灾备份、负载均衡、集群、横向及纵向扩展
  • 具备良好的文档撰写能力、编写习惯,良好的抽象思维和逻辑思维能力,独立分析问题解决问题的能力
  • 熟悉Entity Framework, SOD Framework等持久层框架,熟悉一种IOC框架,熟悉AOP框架原理;
  • 熟悉SVNTFS代码管理,有持续集成经验;

 

能力:

 

  • 敏锐的技术发展洞察力;
  • 系统整体架构设计能力
  • 优秀的代码编写能力
  • 一定的项目管理能力
  • 良好的自学能力
  • 良好的问题分析能力
  • 良好中英文文字表达能力
  • 良好的沟通协作能力
  • 创新能力

 

 

行为/个性:

 

  • 认真勤勉
  • 注重工作效率
  • 注重交流与合作
  • 以用户为本

 

 

教育及经验要求

 

  • 计算机相关专业大专及以上学历
  • 年以上架构师工作经验
  • 8年以上.NET项目系统开发经验,2年以上系统架构经验

 

 

 

 

Report to: Manager, Practice Management System Department

Location: Beijing

 

Overview:

 

This role is the key technical role to finalize and evaluate the system requirements, provide development standards, build up the core architecture for system implementation, clarify technical details and solve major issues.

 

Essential Duties & Responsibilities

 

  • Responsible for the company’s software system architecture design and development;
  • Be familiar with the external audit practice of accounting firms and internal audit practice of corporate;
  • Involve in project/product requirements analysis, and assist the project manager in formulating project plan;
  • Organize development resources according to the project requirements and support the project manager to meet project schedule;
  • Organize and lead the internal team to take research of new technology for development projects;
  • Evaluate and review the project delivery and adopted development technology;
  • Define the system design framework according to the requirements specifications;
  • Coach and mentor the software engineer team on the development work;
  • Involve in the implementation and update of the system software on customer site;
  • Participate in the acceptance check of the software product and push the rollout of the qualified product;
  • Guide the customer service team on software installation, testing and maintenance;
  • Sum up the development experience and learnings to improve the future development quality;
  • Summarize the reusable experience during product development so as to build the internal knowledge database;
  • Involve in creating standards about various product design and development in the company;
  • Build and enrich the case database about different kinds of engineering technique and project experience as well as the technical knowledge sharing platform;
  • Organize and coordinate the software product rollout, update and requirements change related work.

 

Knowledge and Skill

  • Proficient with MVC, MVVM model as well as Web MVVM,WPF MVVM framework;
  • Solid knowledge about the architecture of major .NET application server, database and middleware platforms;
  • Familiar with distributed caching, distributed K / V storage, distributed data layer framework, the data distribution bus, asynchronous framework in the .NET project;
  • Great understanding about middleware principle and applications, extensive experience and knowledge about at least one of the following components: RabbitMQActiveMQZeroMQMSMQ;
  • Good engineering and upgrading experience of large distributed, high-concurrency, high-load, and high-availability systems in the .NET project;
  • Proficient in using common design patterns and mainstream design tools to make system modeling and overall design in the .NET project;
  • Familiar with load balancing, caching, network storage, network security, database high availability design, and key technologies such as disaster recovery, load balancing, clustering, horizontal and vertical scaling for high-load system applications.
  • Skillful in writing and editing documents, good at abstract thinking and logical thinking,

able to analyze and solve problems independently.

  • Familiar with the Entity Framework, SOD Framework and other persistence framework, good understanding about one IOC framework, familiar with the AOP framework principle;
  • Good knowledge about SVN, TFS code management, with continuous integration experience;

 

Abilities

  • Acute technology development insights;
  • Solid skills of whole system architecture design;
  • Excellent coding skills;
  • Good knowledge of project management;
  • Self-motivated and a proactive learner;
  • Strong problem analysis ability;
  • Good communication skills in both Chinese and English;
  • A great communicator and team player
  • Innovative and creative thinking

 

Behaviors/Personality

 

  • Responsible and diligent;
  • Highly efficient at work;
  • Active in communication and cooperation
  • Customer-oriented

 

Education and Experience Requirement

  • Associate degree or above, major in Computer Science or related subjects;
  • 8 years above .NET system development experience with 2 year above software architect working experience.