About the Position
Contrast is looking for a talented engineer to join our team developing instrumentation agents for NodeJS, specifically supporting ExpressJS, Sails, Koaand HapiJS. You would be joining the larger “agents organization”, which includes engineers working in Ruby, Java, PHP, Perl, GoLang, . NET, and Python.
Writing instrumentation agents is a responsibility we take very seriously at Contrast. Our customers trust us enough to run our agents directly in their applications. We’re looking for an engineer to exercise that power carefully, to help us build a quality, thoroughly tested agent that our customers run with complete confidence.
An ideal candidate has advanced experience with server side JavaScript (NodeJS). He or she likely has professionalC experience, including some experience contributing to open source frameworks and/or libraries, this could be a great opportunity for you to deepen your understanding ofNodeJS’ unique characteristics. You like to reverse engineer code, making it better with each iteration.
Please include a link to your Github or BitBucket account, as well as any links to some of your projects if available.
More About You
Love all things String relatedspecifically String Literals and String Objects
Build, ship, curate, and iterate on Contrast Security agent features.
Work with design, product, and support teams to build features.
Own your work. Whether a nasty bug or an awesome feature, you put your name on every line of code.
Be a team player. You love to work with others to find the right solutions.
You must love to code and have a strong passion for making software more secure.
You’re a true scientist and think about algorithms and regular expressions while you sleep.
You’re aNodeJS expert with a strong understanding of JavaScript, C, Linux (Ubuntu) and Apache.
Experience writingNodeJS services usingExpressJS, Koa, Sails, Meteor, DerbyJS and/or Hapi
Experience with popularNodeJS ORM frameworks likeSequalize.
Experience buildingNodeJS packagingvia NPM.
You have experience or desire to learn Lua.
Have a deep understanding of NodeJS dependencies and sub-dependencies.
You approach problems from a product perspective, thinking through how the user will interact with what you’re building.
You have strong communication skills. You ask questions, let others know when you need help, and tell others what you need.
You’re a problem solver. You believe the best work is the result of finding the simplest solution to complex challenges.
You see the big picture. You understand how the code you write interacts with systems and services, both internally and externally.

