Role Overview
We are seeking a talented and passionate Senior Software Engineer to join our dynamic team. In this role, you will be responsible for designing, developing, and maintaining software applications that meet our business needs and delight our users. You will collaborate with cross-functional teams to deliver high-quality solutions while keeping performance, scalability, and security in mind.
Responsibilities
- Develop, test, and maintain robust, scalable, and efficient software applications
- Collaborate with product managers, designers, and other engineers to define technical requirements and deliver solutions
- Write clean, maintainable, and well-documented code following best practices
- Debug, troubleshoot, and resolve software defects and performance issues
- Participate in code reviews to ensure adherence to quality and coding standards
- Stay up to date with emerging technologies and propose innovative solutions to improve processes and applications
- Contribute to the continuous improvement of development tools, workflows, and team practices
Senior Responsibilities
- Leading the design and architecture of complex systems, ensuring scalability, reliability, and maintainability.
- Tackling challenging technical issues and finding innovative solutions.
- Setting high standards for code quality, conducting code reviews, and establishing best practices
- Making informed, strategic technical decisions that align with business goals
- Providing mentorship to less experienced software engineers, helping them grow their technical and problem-solving skills
- Leading knowledge-sharing sessions or workshops to upskill the team
- Offering constructive feedback on both technical and professional aspects of development
- Acting as a bridge between technical and non-technical stakeholders, translating complex concepts into understandable terms
- Helping resolve disagreements within the team by facilitating productive discussions
- Estimating time, resources, and risks for projects, ensuring timely delivery
- Identifying inefficiencies in workflows and suggesting or implementing improvements
- Leading the development of key features or components in a project
- Troubleshooting difficult issues in the system and optimizing performance
- Ensuring that critical knowledge is documented for maintainability and onboarding
- Taking responsibility for the success and failures of their tasks and projects
- Making choices that ensure the sustainability of the system and its future development
- Demonstrating professionalism, diligence, and a growth mindset
Technical Skills
- Expert to mastery experience with
- Swift
- Objective-C
- Core iOS Frameworks
- XCode
- GitHub
Education and Experience
- Bachelor’s degree in Computer Science, Software Engineering, or a related field, or equivalent experience
- 8 to 10 years of professional software development experience