Senior Software Engineer – Node.js
Primary Responsibilities
Contribute to the ongoing design, development and maintenance of runtime security agent-based products and proof of concept prototypes
Investigate, perform root cause analysis, and solve complex issues identified in the field
Perform all the tasks required of a software developer within an Agile SDLC
Prioritize code quality with comprehensive and effective code reviews, and targeted unit and integration test coverage
Collaborate with a cross-functional team of developers, product managers and quality engineers, pre-sales engineers and field support engineers
Qualifications
7+ years of software development within the Node.js ecosystem
Natural curiosity, initiative and creativity in problem solving
Solid grasp of both fundamental and advanced software development concepts in Node.js, including module handling (ECMAScript, CommonJS), concurrency (worker threads), asynchronous development (including asynchronous context tracking, async-hooks) and application packaging (npm, yarn, etc.)
Experience with Express, Next.js, and other commonly used server-side web application frameworks
Proficient at profiling, optimizing, and debugging server-side JavaScript code
Experience with Jest or other JavaScript unit testing framework
Experience working with containerized environments (e.g. Docker, Kubernetes)
Knowledge of design patterns and an understanding of software development best practices
Understanding of git best practices
Ability to communicate complex concepts clearly and effectively to both technical and non-technical audiences
B.Tech or Masters (M.Tech/M.E) in Computer science or related degree
Preferred experience
Experience with C++ addons, Node-API, and other techniques to achieve interoperability with native applications and libraries
Understanding how software security exploits work and experience building software that mitigates them
Significant experience with at least one other development language (Python, PHP, Java, C/C++, Go, etc.)
Experience with performance testing tools and techniques
Experience with penetration testing tools and techniques