The Software Engineer Principal is responsible for joining a product team and contributing to the software design, software development, and overall product lifecycle for a product that our users love.
Requirements
- Mastery of an object-oriented programming language (preferably Java)
- Mastery of a modern scripting language (preferably Python)
- Mastery of a modern web application framework such as Ruby on Rails, Spring MVC, and Node.js
- Mastery of writing SQL queries against a relational database
- Mastery of a version control system (preferably Git)
- Proficient in front-end technologies and frameworks such as HTML, CSS, JavaScript, AngularJS, ReactJS, and jQuery
- Proficient in a Linux or Unix-based environment
Responsibilities
- Collaborates and pairs with other product team members (UX, engineering, and product management) to create secure, reliable, scalable software solutions
- Documents, reviews, and ensures that all quality and change control standards are met
- Writes custom code or scripts to automate infrastructure, monitoring services, and test cases
- Writes custom code or scripts to do "destructive testing" to ensure adequate resiliency in production
- Creates meaningful dashboards, logging, alerting, and responses to ensure that issues are captured and addressed proactively
- Contributes to enterprise-wide tools to drive destructive testing, automation, or engineering empowerment
- Creates and architects foundational code elements that can be reused many times by a product
Other
- Must be eighteen years of age or older.
- Must be legally permitted to work in the United States.
- Typically requires overnight travel less than 10% of the time.
- The knowledge, skills, and abilities are typically acquired through the completion of a bachelor's degree program or equivalent degree in a field of study related to the job.