Senior Software Engineer
Summary
Designs and develops web applications (C#, AngularJS, MySQL, Elasticsearch, AWS/Azure, Docker) to spec and on deadline, while leading, mentoring, and quality-assuring a team of junior developers in agile sprints. On-site in Qatar, Sunday–Thursday 8 AM–5 PM GMT+3, building AI-driven RegTech/OpsTech solutions.
Senior Software Engineer Job Purpose: The Senior Software Engineer is responsible for designing and writing software or solutions according to requirements within specified timeframes. They will update source code repositories, create unit test documents, and ensure that their work is accepted by testers. The engineer will also provide guidance to junior developers, fix defects, and actively participate in project meetings. Additionally, the Senior Software Engineer will lead a team of developers to ensure software quality and mentor junior members of the team.
Qualifications:
Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field
Minimum of 5 years of experience in developing web applications
Strong proficiency in C#, Angular JS, My SQL, and Elasticsearch
Experience with cloud platforms such as AWS and Azure
Knowledge of containerization technologies like Docker
Certification in ITIL4 foundation is a plus
Skills:
Strong analytical and problem-solving skills
Excellent communication and collaboration skills
Ability to design and write software solutions based on requirements
Proficient in updating source code repositories and creating unit test documents
Ability to explain designs and provide guidance to junior developers
Strong knowledge of programming best practices and ability to advise on programming issues
Familiarity with agile methodologies and sprint planning
Detail-oriented and able to meet deadlines
Ability to document user manuals and design documents
Ability to lead a team of developers and ensure software quality
Key Responsibilities:
Design web applications based on project requirements and customization needs.
Explain designs and delegate tasks to junior developers.
Advise and support junior developers in resolving programming issues.
Develop software using specified programming languages and structures.
Complete assigned work within the given time limit.
Maintain and update the source code repository regularly.
Create unit test documents to facilitate tester’s work.
Document user manuals for software or solutions developed.
Fix defects identified by testers and ensure software quality.
Attend stand-up meetings to provide updates on completed work.
Plan and understand the work to be done in each sprint.
Lead a team of developers and ensure software quality.
Mentor junior members of the team and provide technical guidance.
Innovating Reg Tech and Ops Tech solutions driven by AI