Senior Backend Software Engineer (NodeJS / AWS)
The primary focus of this role is to design, build, maintain, and expand our backend platform and data science capabilities.
Requirements:
- 8+ years software development experience.
- Experience with server-side Node.js using frameworks such as Express, Koa
- Experience with Cloud (Azure or AWS) and serverless computing (Lambda)
- Experience with Responsive Web Design and Development.
- Experience troubleshooting and debugging applications.
- Creative problem-solving including gathering and analyzing data.
- Experience with Microservices Architecture including Containerization (Docker, Kubernetes, AWS Container Services).
- Experience with data storage, NoSQL Databases (Redis, DynamoDB, Cassandra, MongoDB).
- Strong understanding of unit testing, integration testing, load testing and related tools (e.g., Jest, Junit, Artillery, JMeter, etc.).
- Experience in full life cycle system development including design, building, testing, deployment, upgrade, and support.
Responsibilities:
- Node.js and TypeScript
- Kubernetes
- Cloud platforms
- GraphQL
- Design and build scalable micro-services
- Integrate with third-party APIs and services
Be an active participant in the day-to-day Scrum activities of the team including sprint planning, daily standups, sprint reviews, and sprint retrospectives.
- Review and evaluate business requirements in the form of user stories. Lead the work breakdown and estimation of tasks based on requirements. Provide alternative solutions and negotiate with Product Management.
- Own small to mid-sized engineering projects or product areas.
- Lead technical projects; capable of defining and overseeing a technical project.
- Develop high-quality code; contribute to development standards by setting new patterns and best practices. Create architecture and design documentation.
- Review the work of teammates to ensure quality and adherence to system architecture and best practices; identify where new designs will require architectural changes.
- Troubleshoot and resolve customer/QA found issues in a timely manner.
- Support and contribute to the development build, deployment, and monitoring processes with an emphasis on security, performance and scalability.
- Design reusable components by utilizing standard frameworks. Experiment with new technologies that can enhance our tech stack.
- Participate in build vs. buy analysis and complex decision making.
- Conduct regular, self-guided study to stay current on new and existing technologies. Watch emerging technologies and practices and evaluate them for suitability at Promethean.
- Work cross-functionally with Product Management and User Experience.
Desired:
- Knowledge or experience working with AWS IoT
- Knowledge of Lucene (SOLR, Elasticsearch)
- Experience working asynchronously with offshore teams
- Knowledgeable about performance tuning, scalability, security, and reliability concepts.
- Experience with Android architecture a plus
-
- degree in computer science, software engineering, or related field/experience.