
Senior Software Engineer
- Vadodara, Gujarat
- Permanent
- Full-time
- Develop, build end to end test Automation, and maintain mobile applications for various platforms like Android and iOS.
- Write clean and efficient code using programming languages like Java, Swift, or Kotlin.
- Collaborate with cross-functional teams, including Architecture, development, and other quality Engineering teams to ensure timely delivery of projects primarily focused on E2E Automation and functional testing and test framework development.
- Conduct code reviews and mentor junior developers to ensure adherence to coding standards and best practices.
- Utilize agile methodologies to manage projects effectively and efficiently.
- Stay current with emerging trends and technologies in mobile application development and apply them in current projects.
- Debug and troubleshoot technical issues to ensure seamless performance and user experience.
- Create technical documentation for applications to facilitate future maintenance and updates.
- Participate in team meetings and contribute to discussions on project requirements, design, and implementation.
- 6+ years of experience in mobile test automation and developing and delivering high-quality iOS, Android applications
- Solid understanding of android and iOS application architecture and design patterns
- Experience with automated testing frameworks such as XCTest or Swift Testing and Junit5
- Familiarity with CI/CD pipelines, tools, and best practices
- Experience in working with RESTful APIs and JSON data formats
- Well versed with database and related tools & technologies
- Experience with iOS architecture patterns (MVVM, Clean Architecture) and modern concurrency paradigms
- Hands-on experience with Appium for mobile automation testing (iOS and Android).
- Experience with Allure or similar tools for test reporting.
- Experience with the creation of complex pipelines to execute mobile tests using simulators.
- Experience with integration of API requests into the mobile automation framework.
- Excellent analytical and problem-solving skills.
- Strong attention to detail and commitment to quality.
- Collaborate with cross-functional teams to design and develop complex iOS, Android applications
- Identify and address End to end testing needs and dependencies
- Participate in code reviews and contribute to the development of coding standards
- Stay up-to-date with the latest iOS and android technologies and trends and apply them to development as appropriate
- Be an active advocate of the mobile platform through both internal and external developer communities
- Remain an active learner in all technologies related to mobile development (Kotlin, Swift 3rd party libraries, etc.)
- Influence and contribute to group discussions and incorporate feedback/communication from the broader team
- Mentor junior to mid-level members of the team
- Actively engage with developers outside of the local sprint team across various disciplines (Android, iOS, APIs, Web, etc.)
- Own and lead delivery of major components and platform needs in partnership with Senior Engineers and Architects
- Consistently share best practices and improve processes within and across sprint teams
- Identify technical obstacles early and work closely with the team to find creative solutions
- Bachelor's degree in Information Systems, Information Technology, Computer Science or Engineering or equivalent experience.
- Experience in related field, Experience in delivering secure solutions in Financial Services Sector is preferred.
- Hands on experience of writing Test scenario & Test cases for Enterprise applications
- Advanced knowledge and understanding of Software Engineering Concepts and Methodologies is required.
- Demonstrate MC Core Competencies.
- Advantage if you have payments expertise and experience/proficiency with cloud technologies (IaaS, PaaS, serverless technology, NoSQL databases), micro-service design understanding, API design, and distributed systems
- Experience with Mobile SDK Development, TDD, BDD in the software development processes and architecture patterns
- Ability to be high-energy, detail-oriented, proactive, and able to function under pressure in an independent environment along with a high degree of initiative and self-motivation to drive results.
- Strong communication skills -- both verbal and written – and strong relationship, collaboration skills and organizational skills.
- Ability to quickly learn and implement new technologies, frameworks and tools and support multiple concurrent activities and to interface with external / internal resources, working as a member of a matrix based diverse and geographically distributed project team.