Description

Software architect is person who design system architecture. Software Architect not only analyzes customer requirements (inside or outside the company) and then makes a system design but must closely monitor the Developer team when building the system, operating the system as well as when maintaining and expanding the system to ensure they follow the design correctly. Software Architect’s work goes with project from start to the end.

Where it works

ICT enterprises/ Technical Departments/ Software Development Departments/R&D Department

Activities

  • Work with the product manager and other stakeholders to clarify and document platform requirements/specs (functional and non-functional).
  • Defining and create platform architecture models using modern software architecture, design patterns and solutions for high performance, high scalability, high availability, security, integrability and maintainability.
  • Work with the development team to implement platform core services/base framework.
  • Provide and monitor platform architecture design documentation, coding standards, implementation guidelines as well as ensure high quality implementation/code quality for the development team.
  • Ensures that all relevant project teams follow a common set of principles and patterns and utilize a standard set of technology frameworks and libraries.
  • Participate in technical reviews and lead the team in solving technical issues, contribute and maintain software architecture design standards, base frameworks, coding standards, best practices, common libraries at company level.

Qualifications

  • Bachelor’s degree or equivalent in Computer Science, Information Technology. Master degree is an advantage.
  • Experience in software development and a minimum of 3 years of experience in system architecture design or technical team leader.
  • Experience establishing legacy modernization and migration roadmaps for large-scale applications

Technical skills and knowledge

  • Extensive hand-on experiences in defining software architecture models of large-scale software systems from scratch using UML, 4+1 Model, C4 Model
  • Deep knowledge of common architectural patterns and service design (SOA, microservices, messaging, twelve-factor methodology, integration patterns…)
  • Experience with programming languages: Php, Python, JavaScript, node.js, C#, Java…, coding in RDBMS, NoSQL (MySql/MariaDB, PostgreSql, SQL Server, Redis, MongoDB, Cassandra, ES.
  • Knowledge of statistics, data mining, machine learning and operational excellence of production systems is a plus

Linguistic  knowledge

  • Communication in English at basic level

Soft skills and personalities

  • Teamwork and cooperation skills
  • Communication skills
  • Goal management skills
  • Problem solving skills
  • Personalities: intitiave, dependability, integrity, stress tolerance, persistance, and attentive to details