Senior Software Engineer
Description Senior Software Engineer
The Opportunity
Our organization is seeking a senior software engineer interested in web products and site reliability to develop and improve our award-winning educational software. As an engineer in this position, you will refactor and modularize code in order to make the system more scalable as well as implement features that support our product.
Responsibilities
• Improve the quality of a large web software application and support the move to a microservice architecture by writing new services that can gradually replace portions of the legacy Perl codebase • Implement new and support existing features while improving the quality of the current codebase • Increase the number, quality, and reach of unit and integration tests • Mentor engineers by working closely together on projects (e.g. pair programming, giving constructive feedback on code) • Investigate and address production issues • Work closely with software architects and database/operations engineers on system infrastructure and design • Identify and optimize inefficient SQL queries • Collaborate with Product and Sales Support to meet customer goals • Foster a culture of collaboration and open communication
Requirements
• 5+ years experience writing robust web/SaaS applications in one or more high-level programming languages such as Java, Python, Ruby, Perl, Golang, or Node.js • Experience with web application frameworks and software development best practices (e.g. test-driven development, ORM, object-oriented design, code profiling, debugging) • Deployment experience with containers (e.g. Docker) and the cloud (e.g. AWS) a plus • Experience using software version control systems, especially Git and GitHub • Success in mentoring and supporting other engineers • Ability to work with complicated legacy code • Experience working with Linux and SQL databases • Ability to communicate effectively with both technical and non-technical colleagues • Experience or interest in working within an Agile model (particularly Scrum) • Passion for tackling ambitious challenges and contributing business value • Contributions to open source projects a plus (include links in application)
Primary Skills 5+ years experience writing robust web/SaaS applications in one or more high-level programming languages such as Java, Python, Ruby, Perl, Golang, or Node.js
Skills
Secondary Skills Experience with web application frameworks and software development best practices (e.g. test-driven development, ORM, object-oriented design, code profiling, debugging)
Optional Skills Deployment experience with containers (e.g. Docker) and the cloud (e.g. AWS) a plus
Desired Skills and Experience
See application page for details