Our engineering teams are looking for experienced, smart, and adaptable people. We like problem solving. You must exhibit independent creativity while functioning cooperatively on a team. You have a sense of personal accountability, a curiosity to research new technologies and methodologies, and a pervasive desire to dig into complex issues while respecting timelines and team commitments.
We are seeking a Senior Software Engineer for our Enabling Services Abstraction Services Team. This team has stewardship over our abstraction services within our EdTech Platform-as-a-Service (ePaaS), such as Product, Roster, Entitlements, Search, etc. The team mission is to accelerate time to market by proactively solving common and complex repeatable business problems that our platform teams don’t have to reinvent.
This role will partner with leaders, peers, and teams across the organization to deliver on the ePaaS mission to provide easy-to-use, fast, reliable, cost-effective, secure, and scalable services. This role will participate in development and implementation of the vision for the team, spanning architecture, dependencies, engineering process, and technology decisions. This role will be be responsible for end-to-end delivery (tech design, development, and testing) and maintenance of our services, and ensure our services have highest quality, performance, and availability.
We are seeking the desire for personal growth, good communication, and commitment to delivering value for real users, not just shipping features. The ability to learn and adapt along with the belief in providing value to our teachers and students is more important than knowing every technology of our stack in great depth. If you feel you would help our team, our teachers, and our students, and believe in building solutions for modern learning experiences, we want you to apply!
What You’ll Do:
• Design, develop, implement, test and maintain complex software systems and applications.
• Optimize software performance and scalability.
• Perform code reviews and ensure adherence to coding standards and best practices.
• Demonstrate progress on project with clear emphasis on the value.
• Collaborate with your partner product and program leaders to push projects forward by removing obstacles, think beyond the MVP, and clearly communicate status to stakeholders.
• Balance the need to solve deep technical problems with the larger macro goal of delivering software expediently and efficiently across a distributed microservice architecture.
• Analyze business requirements and identify possible gaps, ambiguities, missing scenarios, etc.
• Design and implement sound engineering solutions that meet the business need.
• Solve problems quickly and collaboratively.
• Present a passion for the ePaaS mission.
• Advocate for processes, either by maintaining existing ones, modifying them, adding new ones, or even eliminating processes, to improve the efficacy, quality, and morale of your team.
• Work with product, engineering, SRE, and other leadership to understand how your solutions will be planned, developed, implemented, and supported.
• Contribute to CI/CD processes to allow for smoother releases and increasing team confidence.
• Understand the business requirements of products, tasks, and stores, and if you identify possible gaps, ambiguities, missing scenarios, opportunities, etc., raise them with the team and with leadership so we can all improve them.
• Work with a distributed team to solve problems quickly and collaboratively.
• Consider the full lifecycle of solutions when building them from initial conception to launch then maintenance all the way to sunsetting.
About You:
• You have demonstrated delivering value in a modern engineering environment, working across the full tech stack.
• You design APIs that are meant to be consumed by others, so ease of use, simplistic design, and other attributes that benefit interoperability are key.
• You believe in understanding why work is being done and empathizing with the users, not just implementing code and moving onto the next task.
• You are outspoken in your beliefs and seek out and use data to drive decisions to help your team and project succeed.
• You have demonstrated software delivery experience with a distributed product & engineering team.
• You enjoy researching new technologies and methodologies and have a keen desire to dig into complex technical issues.
• You can work in a fast-paced software release environment, where you continuously deliver production-grade software daily for a system with millions of users around the world.
• You have contributed to the full software development life cycle, including writing application code, unit/integration/automation tests, documentation, and performance and security engineering.
We have a very diverse stack that can vary across teams and projects. Some of the technologies we use include:
• Languages: Go, NodeJS, Java, TypeScript,
• Frameworks: Angular, Spring Boot
• Containerization: Docker
• Cloud: Amazon Web Services (AWS): ECS, RDS, Lambda, and many other services
• Tools: Github, NewRelic, DataDog, JIRA, Confluence, Zoom, Slack, and Office 365
• Databases: MySQL, PostgreSQL, DynamoDB
Candidate will work on tickets assigned to them for a variety of different applications. Depending on their strengths they might be assigned to work on one or two applications at time. With Languages they are familiar with. Also, will involve in fair amount of writing tickets. Senior Engineers will be expected to with the TPM and potentially people from other teams within our organization to identify the problems, writing tickets to address the problems, and potentially writing the code to implement them. Writing actual code to infrastructure code.
Must haves: