Our Software Engineers personify the notion of constant improvement as they work with their team to build software that delivers on our mission to improve student outcomes. You’re not afraid to try new things even if they don’t work out as expected.
You are independent, self-directed, high energy and as eager to contribute to your team as you are to progress on your own path to software craftsmanship. You’ll thrive working in a fast-paced, low friction environment where you’ll be exposed to a wide range of cutting edge technologies.
Specifically you will:
- Work collaboratively as part of a software development team producing software that advances our core mission.
- Eagerly learn and apply new cutting-edge technologies like functional programming, distributed computing, machine learning, advance data engineering, and serverless computing.
- Take responsibility for critical components of our solutions.
- Contribute to our engineering culture and ever-improving concept of engineering best practices
- Successful Candidates must demonstrate an appropriate combination of:
- Logical and systematic problem-solving skills
- Ability to work collaboratively and effectively in small team and cross-functional environments
- Experience and knowledge working with technologies and concepts such:
- JVM-based languages such as Java
- UI frameworks such as Angular and React
- Development frameworks such as Spring Boot
- Architectural concepts such as microservices and separation of concerns
- Container technologies such as Docker and Kubernetes
- Development tools such as GitHub, and Jira
- Database technologies such as SQL, Aurora, and Redshift
- Cloud technologies such as AWS and Azure
- Operating frameworks such as Apache Mesos, Apache Kafka, Apache Spark, and Amazon Kinesis
Degree or Masters’ in Computer Science or relevant discipline OR relevant work experience.
- Might be in a stationary position for a considerable time (sitting and/or standing).
- The person in this position needs to move about inside the office to access file cabinets, office machinery, etc.
- Constantly operates a computer and other office productivity machinery, such as a calculator, copy machine, and computer printer.
- Must be able to collaborate with colleagues via face to face, conference calls, and online meetings.