Menu
Scroll to Top
Curriculum Associates
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: Take one of the most innovative educational technology brands to the next level by becoming part of our rapidly growing organization. We are seeking a highly qualified Principal Software Engineer with experience in Scala, Database and Big Data technologies. The role requires a proven track record of professional excellence and a high willingness to be the driving force behind developing great software to serve our customers. The Principal Software Engineer will work on the i-Ready engineering team and will be responsible for taking ownership of finding solutions for product features / use cases, analyzing architecture to spot potential improvements, working with project managers to create plans of action for creating new features, and overseeing features rollouts and updates to ensure smooth implementation paths following Agile methodologies. Essential duties/responsibilities: · Technical lead the team and project to meet deadlines. · Lead the efforts with team members to come up with software solutions. · Optimize and maintain existing software. · Recommend tech upgrades to company leaders. · Build scalable, efficient, and high-performance pipelines and workflows that are capable of processing large amounts of batch and real-time data · Multidisciplinary work supporting real time streams, ETL pipelines, data warehouses and reporting services · Design and develop microservices and data applications that interact with other microservices. · Use Big Data technologies such as Kafka, Data Lake on AWS S3, EMR, Spark, and related technologies to ingest, store, aggregate, transform, move and query data · Follow coding best practices – Unit testing, design/code reviews, code coverage, documentation etc. · Performance analysis and capacity planning for every release. · Work effectively as part of an Agile team · Bring new and innovative solutions to the table to resolve challenging software issues as they may develop throughout the product life cycle
Required job skills: · Excellence in software design skills. Strong knowledge of design patterns, including performance optimization considerations · Proficient in writing high quality, well-structured code in Java and Scala. Excellence in test driven development approach and debugging software · Proficient in writing clear, concise, and organized documentation · Knowledge of Amazon cloud computing infrastructure (Aurora MySQL, Dynamo db, EMR, Lambda, Step Functions, and S3) · Ability to excel in a team environment. Strong communication skills and the ability to discuss a solution with team members of varying technical sophistication. · Ability to perform a thoughtful and detailed code reviews, both for peers and Junior Developers. Feedback should be focused on improving code quality as well as mentorship of the code author · Familiarity with software engineering and project management tools. · Following security protocols and best data governance practices. · Able to construct KPIs and using metrics for process improvements
Minimum qualifications:
· 12+ years’ experience in designing and developing enterprise level software solutions
· 5 years’ experience developing Scala / Java applications and microservices using Spring
Boot
· 10 years’ experience with large volume data processing and big data tools such as Apache
Spark, Scala, and Hadoop technologies
· 5 years’ experience with SQL and Relational databases
· 2 year Experience working with the Agile/Scrum methodology
Preferred qualifications:
· Knowledge in MemSQL DB and SnowFlake
· Experience with Amazon cloud computing infrastructure (Aurora MySQL, Dynamo dB,
EMR, Lambda, Step Functions, etc.)
· Educational domain background