We are looking for a highly motivated, self-driven software developer to join our Big Data Streaming Platform team. A new member of the team will have the opportunity to work with some of the largest education datasets in the world gathered through Pearson’s online learning products.
The core mission of the Streaming Platform team is the extraction of actionable information from the data to improve Pearson products and learning content; thus, the position provides the opportunity to engage in cutting-edge development and to make a substantial contribution to learning and instruction. Our systems are cutting-edge, REST-based services, written in Java and Python that utilize near real-time analytics, all deployed in an AWS cloud infrastructure. Sound interesting?
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 pushing each other to surpass them, we create an environment that leads not only the education industry, but creates seeds of learning that become the catalyst for the world’s innovations, personal and global, large and small.
- Designs and implements new, unit tested, software as well as maintains and enhances existing software.
- Actively participates in requirements, architecture, and design meetings.
- Enjoys a healthy technical debate but knows how to collaboratively solve problems that move everyone forward.
- Uses logical analysis, theoretical deduction, and sound reasoning to troubleshoot challenging technical and business problems.
- Contributes to the continuous integration pipeline deploying into AWS Cloud/EC2 Architecture.
- Works efficiently and collaboratively in an Agile (Scrum or Kanban) team environment.
- Follows DevOps practices - Own software application(s) and code from development through deployment.
- Works with Big Data technologies (Kinesis, SQS) that deal with large-scale distributed data processing.
- The ideal candidate will be detail-oriented, self-directed, self-motivated, with a strong capacity for working successfully and flexible with members across the organization.
- Willingness and ability to quickly learn complex information systems.
- Stays current on industry trends and formulates an opinion on the pros and cons of each.
- Easy to work with, stays confident and optimistic in the face of resistance and challenges.
- Experienced with software performance, scalability, maintainability, reusability, and security.
- A good foundation in computer science, with strong competencies in basic data structure, JVM concurrency, thread-safe design, OO design and architecture for solving day-to-day problems.
- Ability to independently learn and actively seek new skills and knowledge to advance the development capabilities of the organization.
- Strong communication skills and the ability to communicate technical concepts to non-technical people and work with a variety of internal and external development groups.
- Willingness to pivot technologies and solutions as the mission dictates.
Education and/or Experience
- Bachelor’s or Master’s degree in Computer Science / MIS
- Minimum three (3) years of experience in software engineering and design.
- Willingness to learn new technologies
- Experience with Java
- Experience with REST-based web services
- Database Design experience (SQL or NoSQL)
- Experience with Maven or similar build tool
- Experience with unit testing and mock frameworks
- AWS or other Cloud experience
- Practice with Git or similar source control system
- Strong foundation in Linux
Preferred (Nice to have)
- AWS Cloud experience in Kinesis, Aurora, SQS, EC2, and/or Lambda
- Use of any functional language (Scala, Python, etc).
- Experience with high-volume systems.
- Understanding of best practices in security (SSL, TLS, SSH, Public Key Encryption, etc).
- Understanding of TCP/IP-based computer networking.