【Software Architect】
• Define the technical and functional architecture of the overall system.
• Decide on the best technologies and languages for the project.
• Create technical solutions.
• Guide developers in the design and implementation of the solution.
• Develop the most critical components of the system.
• Make suggestions about the best alternatives, considering engineering and business aspects.
• Work with BA, PO...etc. to understand the functional requirements.
• Study industry benchmarks to formulate non-functional requirements like scalability, performance, etc.
• Provide inputs to the PM regarding the software development lifecycle and development processes.
【Development and Maintenance】
• Write code for the business logic and data layers. And refactoring and optimizing existing code.
• Study and understand users' requirements. And code the application system based on the technical requirements.
• Support implementing solutions on every architectural layer of systems.
• Provide relevant inputs to software architects and technical leads for creating the technical solutions.
• Review other developers’ code and provide inputs.
• Automate redundant and repetitive processes by writing executable scripts.
• Provision scalable and robust cloud solutions as required.
• Maintain Continuous Integration and Continuous Delivery (CI/CD) pipelines and optimize release cycles.
【System Testing and Operation】
• Write and perform unit / integration testing at the stage of system implementation to ensure good quality in line with company technical standards, and contribute to engineering wiki, and documents work.
• Install, configure, test and maintain operating systems, application software and system management tools.
• Implement processes and systems to monitor data quality, ensure production data is always accurate and available for key stakeholders and business processes that depend on it.
• Set up and monitor regular backup and restore testing including software, infrastructure, and data.
• Provide technical services and knowledge to RSC users upon request.
• Deliver support to existing business users and investigate and resolve application errors to ensure Incident resolution in line with planned SLA.
• Timely communication about incident resolution status to ensure transparency.
• Provide incident analysis and technical advice for improvement planning.
【Technical Advice and Knowledge Update and Upgrade】
• Stay up to date with the latest trends and advancements in software development.
• Learn and test modern technologies, frameworks, and languages, and share them with colleagues.
• Decide on the best technologies and languages for the project.
• Remain current on technology trends to keep our software as innovative as possible.
• Contribute to innovative and continuous improvement initiatives.
• Provide information about innovative technologies and industry trends to help improve efficiency and productivity