Job Description
Senior Software Engineer (backend) REMOTE
NOT EXCEPTING VISAS and NO CORP TO CORP.
The primary focus of this role is to design, build, maintain, and expand our backend platform and data science capabilities.
Requirements:
- 5-7+ 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
- 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
Bachelor's degree in computer science, Software Engineering, or related field/experience.