Job Description
Core competencies include:
- Strong ability to rapidly write quality back-end code. First and foremost, must be a skilled programmer.
- Knowledge of coding best practices and ability to produce highly readable and maintainable code.
- Experience as technical lead of a high-performing team working in an Agile environment.
- Solid knowledge of architectural and design patterns. Ability to both design and implement software systems.
- Ability to collaborate with, influence, and lead other development team members.
- Participate in peer code reviews and provide meaningful feedback to others to improve quality of their code, with emphasis on producing clean, maintainable code.
- Experience writing, documenting, and interfacing with 3rd party APIs, utilizing REST Web Services (familiarity with JSON, XML, API routes, tokens, secrets, etc.)
- Ability to participate in full software development lifecycle, including design, implement, test, troubleshoot, debug, and deploy code.
- Ability to identify and resolve performance and security issues.
- Ability to turn complex business requirements into reliable software that our customers love.
- Experience writing technical documentation including system architecture.
Minimum Technical Requirements:
- Expert experience in developing APIs/RESTful APIs using Typescript/Node.js components, classes and associated technologies with a KOA or ExpressJS framework and a Sequalize/Mongoose ORM.
- Ability to effectively work with both relational and non-relational databases, indexing, and performance tuning (e.g. MySQL, Elasticsearch, MongoDB,Postgres) with both structured and unrestructured data.
- Experience with code versioning tools (github/gitlab).
- Strong understanding of Docker. Especially networking between, and working within, running containers.
- Extensive experience with Linux or other Unix based operating systems
- Ability to debug javascript with breakpoints and a debugger, not just console logs.