Jobs and Careers
BE
Software Engineer
BetterLessonUnited StatesRemotefull_timeVerifiedPosted 6 Mar 2024
About the role
Software Engineer
Department: Engineering
Employment Type: Full Time
Location: Westwood, MA
Description
The Software engineer applies technical knowledge and expertise to design, build, and maintain BetterLesson systems. They work cross-functionally with product managers and learning designers to define the scope of system changes and enhancements. This role is also responsible for testing software to maintain and meet established standards.Here are some things you can expect to accomplish in this role:
- Write human-readable, clean code that complies with documented Engineering Standards with an eye for test-driven development using languages/frameworks including Java and frameworks including Spring Boot, Spring, Hibernate, Python, and frameworks including Flask, Django, FastAPI, and Gruk, JavaScript and frameworks including React, SQL and database migration scripts using database migrations tools including Liquibase, Alembic, etc. and integrating Auth2.0 access controls into services and applications leveraging Java Web Tokens
- Work effectively in a cloud-hosted environment that is managed by Infrastructure as Code with knowledge of Terraform and Amazon Web Services, including S3, RDS, Athena, SQS, Lambda, and Step Functions
- Complete detailed design documentation, including data model diagrams, flow charts, and high-level task definitions using Lucidcharts
- Test software to ensure the changes meet the expectations of the team, meet required team standards, including security & accessibility, and do not introduce errors with existing software, including the creation of unit tests in Junit, Jest, and similar technologies within the stack
- Release software to production while following the expected change management procedures, including verifying changes are functioning correctly in a live environment
- Perform Manual testing that is required to verify changes using tools including Postman and custom scripts; develop, support, and maintain CICD pipelines to support other engineers with tools including CircleCI, Kubectl, and Helm
- Develop, support, and maintain micro-services that comprise the platform
- Develop and maintain React applications leveraging MUI and custom assets and active state management tools like Redux; develop and maintain Python servers and data processing systems, including server-based and serverless
- Develop and maintain legacy Linux-based EC2 server instances, monitoring system health and performing necessary system upgrades
- Support existing systems by triaging reported issues, recommending fixes to prioritized issues, and creating support documentation
- Actively contribute to agile planning and refinement meetings while maintaining scrum assignments via Jira
- Take ownership of software deliverables and communicate frequently with key stakeholders
- Support effective software delivery as a champion of Agile methodologies
About You:
- Bachelor’s degree in Computer Science, Information Science, Computer Engineering, or foreign equivalent plus internship or experience to include writing human-readable, clean code that complies with documented Engineering Standards with an eye for test-driven development using languages/frameworks including Java and frameworks including Spring Boot, Spring, Hibernate, Python, and frameworks including Flask and Django, JavaScript and frameworks including React, SQL and database migration scripts using database migrations tools including Liquibase, Alembic, etc.
- Work effectively in a cloud-hosted environment with knowledge of Amazon Web Services, including S3, RDS, SQS, and Lambda
- Complete detailed design documentation, including data model diagrams, flow charts, and high-level task definitions
- Test software to ensure the changes meet the expectations of the team, meet required team standards, including security & accessibility, and do not introduce errors with existing software, including the creation of tests in Junit, Jest, and similar technologies within the stack
- Release software to production while following the expected change management procedures, including verifying changes are functioning correctly in a live environment
- Perform manual testing that is required to verify changes using tools, including Postman and custom scripts
- Develop, support, and maintain CICD pipelines to support other engineers
- Develop and maintain React applications leveraging custom assets and active state management tools like Redux
- Support existing systems by triaging reported issues, recommending fixes to prioritized issues, and creating support documentation
- Actively contribute to agile planning and refinement meetings while maintaining scrum assignments
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s