Job Description
At Curriculum Associates (CA), we believe a diverse team leads to diversity in thinking, making our products better for teachers and students. If you read this job description, feel energized by what you see here, and believe you could bring passion and commitment to the role, but you aren't sure you meet every qualification, please apply! Above all, we are looking for the right person!
Summary:
The Principal Software Engineer will be responsible for bringing new digital products to market and enhance existing ones by leveraging your expertise in software development with state-of-the-art industry frameworks collaborating closely with product management on engineering teams.
Required Education and Experience:
10+ years of experience in web application development.
Essential duties/responsibilities:
Deliver large software initiatives in collaboration with product owners, to deliver i-Ready experiences.
Partner with architects and senior engineers to design robust software ensuring seamless customer experience at scale.
Operate with a continuous improvement mindset, conducting code and design reviews, as well as leveraging state-of-the-art code quality and productivity tools.
Develop automated unit and integration tests to accompany all application code.
Contribute ideas and effort to improve efficiency of our software development lifecycle.
Model and champion efficiencies in software development and delivery practices.
Drive code maintainability by addressing technical debt and defects proactively.
Communicate clearly and consistently utilizing verbal and written forms, to ensure seamless progress on shared team goals.
Engage in personal and peer development through mentorship program participation.
Engage in proactive learning to improve functional as well as technical knowledge.
Required Job Skills and Abilities:
Strong communication skills.
A strong desire for self-development demonstrated by academic or industry achievements.
Experience working in an Agile environment, including experience with Scrum.
Proven experience in designing features to meet business needs
Experience In Java, Spring, Hibernate/JPA, And Related Frameworks.
Strong experience with SQL and Relational and Non-Relational databases.
Proven Experience in Database design and performance tuning.
Experience in establishing CI/CD pipelines
Experience in writing and consuming REST and JSON-RPC APIs.
Experience using AWS services (MySQL RDS, Dynamo DB, S3, etc.).
Experience with modern UI technologies such as React, Redux, Flow, Typescript, Karma, Jest, and React Testing Library.
Experience with unit testing frameworks such as Junit and/or TestNG.
Experience in Automation frameworks such as Selenium and/or Playwright.
Extensive experience delivering cloud hosted software services at scale.