Job Description
About the job Senior Software Engineer
The Senior Software Engineer will be part of the Information Technology team who is responsible for the management, implementation and monitoring of all Software and Application systems and processes in accordance with enterprise architecture, IT Strategy and Policies. He/She will be also responsible for reporting all Software & Applications projects to the stakeholders, KPIs and oversite the needed audits.
Qualifications
- Mandatory: Bachelors degree in software or computer science (3 or 4 Years)
- Minimum 7 years of experience in all aspects of Softwares, Application Administration and management.
Skills and Competencies
- Expertise in Dynamics 365.
- Expertise in ERP & E-Commerce.
- Software Lifecycle Management.
- Standard Development Processes.
- Skilled User Experience (UX/UI).
- Expertise in DevOps & Integration
Key Accountabilities:
- Lead the design and development of complex software systems, ensuring high quality and maintainability.
- Ensure best practices in software development, architecture, and quality assurance are followed throughout the engineering process.
- Collaborate with stakeholders to collect and document technical requirements for software projects and analyze requirements to create functional specifications and design documents that guide development.
- Maintain comprehensive documentation of system requirements, design specifications, and user manuals to facilitate understanding and future maintenance.
- Develop and execute test plans and cases to validate that software meets specified requirements and quality standards.
- Analyze system issues and user feedback to identify areas for improvement, proposing solutions and enhancements.
- Manage changes in project scope or requirements, ensuring that all stakeholders are informed and aligned by the Change Management process.
- Work closely with software developers to ensure requirements are understood and implemented correctly, participating in design reviews and providing feedback.
- Ensure that engineering practices comply with industry standards and regulations, particularly regarding data security and privacy.
- Contribute to software architecture discussions, making decisions that align with business goals and technical requirements.
- Analyze and troubleshoot complex software issues, providing innovative solutions to improve system performance and reliability.
- Work closely with cross-functional teams, including product management, Technology, Security and Operations team to define project requirements and deliver solutions.
- Advocate for and implement best practices in software development, including testing, code reviews, and agile methodologies.
- Ensure documentation of systems, processes, and code to facilitate knowledge sharing and onboarding.
- Keep abreast of emerging technologies and industry trends, tools to drive innovation.
- To understand the Web and Mobile Applications requirements, prioritize features, and align technical solutions with business goals.
- To ensure that software is thoroughly tested and meets quality standards, facilitating effective testing strategies and bug fixing.
- To streamline DevOps deployment processes, maintain infrastructure, and enhance system reliability and scalability.
- To coordinate the architectural, code reviews, and technology stack and design patterns and to coordinate integration efforts and resolve cross-team dependencies.
- Stakeholders collaboration to gather feedback, discuss project progress, and ensure alignment with business needs and user expectations.
- Collaborate with the security team to implement the best practices and ensure that security measures are integrated into the software development lifecycle.
- Oversee project timelines, resource allocation, and deliverables, ensuring projects are completed on time and within budget.
- Drive innovation by exploring new technologies, tools, and methodologies that can enhance product offerings and development processes.
- Establish metrics and KPIs to evaluate performance and software quality, implementing improvements as needed.
- Act as a liaison between Stakeholder and the technical team, ensuring clear communication of requirements, progress, and feedback.
- Mentoring engineers, providing guidance on best practices, coding standards, and technical skills.
- Codebase Ownership: Responsible for specific modules or services within the codebase, including design, implementation, and maintenance.
- Technical Design, Future Developments & Enhancements and DevOps.
- Testing and Validation: Developing and maintaining unit tests, integration tests, and other testing strategies to ensure the reliability of their code.
- Documentation: Creating and maintaining technical documentation, including design documents, API specifications, and user guides for their systems.
- Integration Management: Overseeing the integration of their components with other systems and services, ensuring seamless functionality.
- Debugging: Taking ownership of resolving issues and bugs related to their systems, conducting root cause analysis, and implementing fixes.