Principal Software Engineer - Node
The Principal Software Engineer for Platform team will create new features for both large-scale server-side web applications and local applications that require real-time interaction on a wide range of devices.
This is leading edge development in a fun and challenging atmosphere. Here you will feel like a startup with an entrepreneurial energy and spirit.
You will be responsible for:
- Create sophisticated, imaginative and efficient solutions for large-scale systems.
- Design and implement alternatives for local solutions when internet is not available.
- Create, design, code, debug, maintain, test, implement and review code. Collaborate and communicate with appropriate parties.
- Develop high-quality code, establishing development standards and practice by example.
- Design reusable components by utilizing standard frameworks. Experiment with new technologies that can enhance our tech stack.
- Evaluate requirements and initial mock-ups; make technology recommendations that support optimal construction, maintenance and performance.
The right candidate has …
- Bachelor’s degree in computer science, software engineering or related fields with 10+ years software development experience.
- Server-side Node.js with frameworks such as Express, past experience with server-side Java with Spring Framework a plus
- Experience with Microservices and Cloud, including Function as a Service such as AWS Lambda
- Familiarity with NoSQL (Redis, Cassandra, Mongo). Graph DB (TinkerPop, Amazon Neptune) and Knowledge of Lucene (SOLR, Elasticsearch) a plus.
- Must have strong understanding of unit testing, integration testing and functional/load testing (Jest, JUnit)
- Experience with Containerization (Docker, Kubernetes, AWS ECR/ECS/EKS)
- Experience with Android a plus.
- Experience with Typescript, HTML5 and CSS
- Experience NPM, Yarn and Webpack
Key Success Factors
- Self-starter, function well with minimal supervision
- Passionate and committed with strong sense of ownership and craftsmanship
- Strong problem-solving skills
- Strong communication skills (interpersonal, written and verbal)