- Contribute to an agile team that solves complex challenges and improves the scalability, security, and performance of existing products.
- Architects and designs performant, scalable, and secure software to a high degree of quality – not simply focusing on meeting functional requirements.
- Improves the software development process by recommending and instituting changes in policies and procedures.
- Provides technical guidance to team members through education and coaching of best practice principles.
- Germinates and drives new ideas and encourages innovative practices among peers.
- Participate in code reviews and quality assurance testing as a shared responsibility with the team.
- Perform on-call duties on a rotating schedule.
- Helps to mentor more junior team members on development best practices and standards.
- Experience writing unit tests.
- Experience and knowledge of object-oriented design.
- Experience and knowledge of the concepts of relational databases.
- Knowledge of HTML5 and CSS3.
- Knowledge of agile processes and milestones.
- Interest and ability to learn other coding languages as needed.
- Bachelor's degree in Computer Science, Math or other equivalent experience
- Ability to speak and write English fluently and idiomatically.
- Knowledge of JIRA, Bitbucket, and other project and code management software.
- Knowledge or experience in WCAG and accessibility best practices.
- Experience writing build scripts and plugins.
- Knowledge of CSS extensions (SASS, LESS, etc).
- Knowledge of package managers, bundlers, and task runners.
- Experience with one or more JS framework(s) (Aurelia, Angular, React, etc).
- Experience using at least one other general programming language (C#/Java/C++/VB.NET, for example).