At Pearson, we re committed to a world that s always learning and to our talented team who makes it all possible. From bringing lectures vividly to life to turning textbooks into laptop lessons, we are always re-examining the way people learn best, whether it s one child in our own backyard or an education community across the globe. We are bold thinkers and standout innovators who motivate each other to explore new frontiers in an environment that supports and inspires us to always be better. By pushing the boundaries of technology and each other to surpass these boundaries we create seeds of learning that become the catalyst for the world s innovations, personal and global, large and small.
We are looking for an experienced software engineer to help us design and implement key components of our Global Learning Platform architecture and services. The Senior Software Engineer will be a part of a team of developers responsible for building highly scalable micro-service oriented back-end solutions as well as high quality web and mobile user interfaces. Will be responsible for creating the most optimal software design that can scale and perform in a direct to consumer environment. Will be directly involved in problem solving and resolution of day-to-day technical design issues. Will collaborate with product managers, software architects, quality assurance engineers to understand requirements, recommended architectural runways, quality and operational metrics and write efficient code to deliver required functionality on time and with quality. Will closely work with DevOPS team members and instrument produced features with right tools to monitor and provide desired levels of uptime. Will collaborate to create the best in class software design, development & deployment techniques. Must be able to work across multiple facets of the project and juggle multiple responsibilities at the same time. Very strong coder with analytic capability and the ability to create innovative solutions. We are looking for a highly motivated individual who is looking to grow their career in a fast paced environment.
- Be a part of a cross-functional, full stack agile development team.
- Be a top-notch coder on the team, capable of deep diving into implementation details of components and features across the technology stacks.
- Participate in code reviews, design reviews, help establishing team s best practices, and align to technical vision.
- Jump in and help to solve the complex technical problems and design issues, initiate refactoring where it makes sense.
- Be curious, always learning, stay on top and help adoption of advanced cloud-based features and capabilities where it makes sense.
- Participate in sprint kickoffs, reviews, retrospectives, daily standups and be a part of ever moving, ever delivering, continuously improving team delivering user value end to end continuously.
- Work with product management to understand requirements, recommend best implementation approaches to maximize the use of technology and capabilities.
- Work closely with software architects and leads to understand recommended software/system architecture, technical direction and produce code aligned with the company vision.
- Partner with quality assurance engineers and collaborate on a daily basis to make sure the code produces is high quality, bug free and delivers the best user value possible in a timeframe.
- B.S. / M.S. Computer Science or equivalent, with strong fundamentals and problem-solving skills (such as data structures, computational algorithms, and operating systems).
- 5+ years of software engineering experience, a track record of building highly scalable, high-quality systems in a direct-to-consumer business. Should had played a significant role in the development of such systems.
- 5+ years of experience and expert knowledge in one of the strong typed, structural languages: C++, Java, C#
- Expertise with Java 8 or higher and JVM, knowledge of Spring Boot microservices, Spring Reactive stack, Spring WebFlux, Reactive Streams is highly desirable.
- Expertise in relational database design, practical experience of developing systems with NoSQL/MongoDB/Couchbase.
- Experience in scaling out applications and maximizing throughput through load balancing, database sharding, distributed cache systems, route optimization is highly desirable.
- Experience in developing messaging and event-based systems (Kafka is a plus).
- Experience with AWS or other public cloud provider, containerized deployments, Kubernetes, and working in DevOPS environment is a plus.
- Hands-on experience as a full stack developer, at all tiers from the front end UI to the backend data store is a plus..
- Experience being a part of Agile/Scrum environment is a plus.
- Team player, problem solver, good communicator with a desire to work hard, deliver meaningful features, get along with others, and have fun.