Software Engineer
Pearson.com
Office
India
Full Time
About Pearson: Our purpose: At Pearson we ‘add life to a lifetime of learning’ so everyone can realise the life they imagine. We do this by creating vibrant and enriching learning experiences designed for real-life impact. Pearson was founded in 1844 and has been built on our ability to grow with and adapt to a constantly evolving market. Our 20,000+ employees are dedicated to creating the high-quality, digital-first, accessible and sustainable resources for lifelong learning.
About ELL: We aspire to become the world's leading destination to learn and improve English language skills. Our main focus is on committed learners from around the world, who are motivated by outcomes because they want to reach their full potential through learning English.
About the role: Are you passionate about technology and eager to be part of an exciting venture? We are thrilled to announce a great opportunity to join our team as a Software Engineer. We are looking for talented individuals from all backgrounds and experiences to join us on this exciting journey as we grow our Engineering team within our ELL Division. As part of our technology hub, the Software Engineer will play a key role in shaping the future of technology and innovation in ELL. You will be part of one of the ELL digital products teams and the responsible for the delivery of great solutions to meet our customers' needs along their learning journey. You will contribute through the entire software development journey, being accountable for the technical solutions in coordination with your architect, and Software Engineer Manager. You will have the chance to collaborate with top-notch professionals, work on cutting-edge projects, and contribute to building a thriving tech community. You’ll need an AI-first mindset and expected to pursue continues AI upskilling.
Job Description: As an Experienced Software Engineer, you will play a vital role as part of a product engineering team to deliver high-quality software solutions and will be responsible of designing, implementing, and maintaining our digital products considering the best practices in software and quality engineering. Your technical expertise and product understanding will be crucial in ensuring the successful delivery of technical solutions to our customers, meeting deadlines, and fostering a collaborative and inclusive work environment.
Roles & Responsibilities
- Design and build solutions across several new and existing software domains following best practices like SOLID principles, Clean Code, DDD, BDD, KISS, DRY, YAGNI, etc.
- Keep the code and delivered solutions in good health.
- Contribute, follow our code review process and pair programming to promote collaboration, knowledge sharing and bugs reduction.
- Debug and resolve software defects and issues in a timely manner.
- Integrate our applications with external systems and third-party libraries.
- Perform unit testing and support automation, integration and system testing effort to ensure the quality and performance of our deliveries.
- Collaborate with the team to identify and implement software improvements and optimizations.
- Understands the customer and product needs to bring the best solutions considering necessary trade-offs and its corresponding technical debt.
- Stay up-to-date with emerging technologies and industry trends and apply them to current projects.
- Collaborate with the team to identify bugs, implement software improvements and optimizations.
- Document development phases, and ensure all JIRA ticket and collaboration materials are up to date.
- Master on the adoption of AI tools to accelerate the development lifecycle to support the development, pair programming, PR and CI/CD and even grooming, contributing to the maintenance of the spec and prompt library of the team.
- Keep the code and delivered solutions in good health.
- Contribute, follow our code review process and pair programming to promote collaboration, knowledge sharing and bugs reduction.
- Debug and resolve software defects and issues in a timely manner.
- Integrate our applications with external systems and third-party libraries.
- Perform unit testing and support automation, integration and system testing effort to ensure the quality and performance of our deliveries.
- Collaborate with the team to identify and implement software improvements and optimizations.
- Understands the customer and product needs to bring the best solutions considering necessary trade-offs and its corresponding technical debt.
- Stay up-to-date with emerging technologies and industry trends and apply them to current projects.
- Collaborate with the team to identify bugs, implement software improvements and optimizations.
- Document development phases, and ensure all JIRA ticket and collaboration materials are up to date.
- Master on the adoption of AI tools to accelerate the development lifecycle to support the development, pair programming, PR and CI/CD and even grooming, contributing to the maintenance of the spec and prompt library of the team.
Skills
- Solid understanding of software development lifecycle, best practices, and Agile methodologies.
- +4 years of relevant professional experience in software development, with a demonstrated progression of responsibilities and accomplishments.
- Familiarity with version control systems (e.g., Git) and build tools (e.g., Maven, Gradle).
- Proven experience in developing Java applications using frameworks such as Spring, Spring boot.
- Strong knowledge of Java and Kotlin programming language and object-oriented design principles or any backend technologies
- Strong knowledge of React programming language and front-end design principles.
- Experience with cloud platforms such as AWS, Azure, or Google Cloud Platform.
- Knowledge of microservices architecture.
- Familiarity with DevOps practices and tools for continuous integration and deployment.
- Experience with containerization technologies like Docker and orchestration frameworks like Kubernetes.
- Proficient in database technologies like MongoDB and MySQL
- Excellent problem-solving and analytical skills.
- Strong communication, collaboration abilities and continuous improvement mindset
- Ability to work both independently and as part of a team.
- Familiarity and curiosity to adopt AI tools in the daily job considering aspects like Secure usage, LLM fluency, AI enhanced testing, AI in code review and platform context for solutioning.
- Nice to have: understand the concepts behind books like Accelerate, Software Craftmanship and extreme programming.
- Nice to have: previous experience in improving CI/CD pipelines and release processes to optimize lead times.
