Senior Software Engineer
Job Summary
Reports Administratively to the Scrum Master for day-to-day task allocation (What to do and When) and functionally to the Head of Engineering on technical matters (How of the work)
Job Summary:
A Senior Software Engineer is responsible for developing and maintaining software modules as part of larger application systems. Works with minimal supervision to implement functional components conduct code reviews and resolve technical issues. Collaborate with team members to ensure solutions are aligned with project requirements coding standards and system architecture. Contributes to system testing and documentation throughout the development of lifecycle.
Key Responsibilities:
- Design develop test and maintain software applications and services.
- Take ownership of features / modules development deployment and support.
- Collaborate with product managers and designers to understand requirements.
- Participate in technical design and architecture discussions.
- Review code and mentor Software Engineer I and other junior team members.
- Write unit and integration tests to ensure code quality and reliability.
- Debug issues and implement performance improvements.
- Contribute to documentation and maintain coding best practices within the team.
Requirements
Required Qualifications:
- Bachelors degree in Computer Science Software Engineering or related field.
- 35 years of professional experience in software development.
- Proficiency in one or more programming languages and frameworks (e.g. Java Springboot Angular Python).
- Solid understanding of software engineering principles data structures and algorithms.
- Experience with queuing frameworks like Kafka and RabbitMQ.
- Familiarity with relational and/or NoSQL databases.
- Understanding of RESTful APIs and microservices architecture.
Preferred Qualifications:
- Experience with CI/CD pipelines and DevOps practices.
- Familiarity with cloud platforms (AWS GCP Azure).
- Working knowledge of containerization (Docker Kubernetes).
- Experience working in Agile or Scrum teams.
- Exposure to system design and wireframing tools like Figma.
Core Competencies:
Technical Expertise
- Demonstrates solid hands-on development skills.
- Applies best practices and contributes to design decisions.
Mentorship & Collaboration
- Supports and guides junior engineers (e.g. Software Engineer I).
- Communicates effectively across engineering and product teams.
Problem Solving
- Breaks down and solves technical problems efficiently.
- Owns features and takes initiative in improving systems.
Accountability & Execution
- Delivers work with minimal supervision.
- Takes responsibility for quality performance and delivery timelines.
Communication
- Writes clear technical documentation.
- Participates actively in code reviews and project discussions.
Experience with CI/CD pipelines and DevOps practices. Familiarity with cloud platforms (AWS GCP Azure). Working knowledge of containerization (Docker Kubernetes). Experience working in Agile or Scrum teams. Exposure to system design and wireframing tools like Figma.
Required Education:
Bachelors degree in Computer Science Software Engineering or related field.35 years of professional experience in software in one or more programming languages and frameworks (e.g. Java Springboot Angular Python).Solid understanding of software engineering principles data structures and with queuing frameworks like Kafka and with relational and/or NoSQL of RESTful APIs and micro