Job Description
Responsibilities
- Work on large-scale, custom distributed software systems using the MEAN Stack
- Lead teams of software engineers
- Be responsible for the quality of software and resolving issues
- Be a mentor and role model to less experienced developers
- Employ Agile development including task estimation, test automation, deployment automation and Continuous Integration to improve overall execution speed and product quality
- Work within an Agile Environment, including SCRUM and/or XP (Extreme Programming)
- Develop and review architecture plans
- Coordinate with others across the organization to build fully integrated systems
- Troubleshoot and resolve varying levels of technical issues
- Add value by being current with new trends and frameworks within the developer community
- Drive adoption of modern development strategies, processes, and methods
- Set and maintain priorities in a multi-project environment
Requirements
Ideally you have either a computer science or STEM degree from a top institution and/or experience at a high-performing tech company, but we are open to strong candidates who meet the following:
- 8+ years’ experience in software development & delivery with Java, Ruby, and/or Python
- 4+ years’ experience working with MEAN Stack (MongoDB, ExpressJS, AngularJS, NodeJS)
- 2+ years’ experience working with / developing REST APIs
- Have helped lead development on large, custom-built object-oriented applications
- Excellent understanding of systems architecture, technical design, data structures, and algorithms
- Track record of leading a top-tier Agile engineering team (bonus points if you built it yourself)
- Experience working with Agile, Lean and/or Continuous Delivery approaches and best practices, such as Extreme Programming (XP) or SCRUM
- Able to understand and interact with the company’s entire technology stack, continuous integration environments, and infrastructure orchestration tools, including Heroku, AWS, Mongolabs
- Familiarity with cloud architectures, tools, and processes
- Passion for continuous improvement and evolution
- Motivated to write quality, tested, readable code
- Significant contributions to open source projects or community organizations