Library Software Engineer - Node.js (Portugal)
Datadog
- Portugal
- Permanente
- Horário completo
- Develop mainly in Node.js and interact with components written in C++, Rust and Python.
- Help define the architecture, design and implementation of ASM for Node.js with the help of the rest of the team.
- Work closely with the other six ASM library teams through working groups and RFCs.
- Collaborate with the ASM platform teams to make new product ideas happen.
- Ensure that your quality criterias are met thanks to our shared testing platform, health metrics, performance monitoring metrics, etc.
- Write code that instruments thousands of Node.js applications around the world.
- Advocate for and represent Datadog in the Node.js community.
- Learn more on the Node.js internals and its engine.
- Closely collaborate with the Datadog Node.js Guild, including the APM Tracing and Profiling teams, living in the same library.
- You're a solid Node.js programmer or polyglot that would have no trouble adjusting to Node.js. For each language you know, you think idiomatically to leverage the best features of the language for a particular problem.
- You have some knowledge of garbage collectors, language interpreters and virtual machines, and you've dealt with concurrency and parallelism.
- You have a knack for readable, robust, reliable code and put that in practice by writing piles of clean, correct, well-tested, performant, idiomatic code, and you are prepared to do so in Node.js.
- You have Node.js library packaging experience.
- You have experience with widely used web frameworks (like expressjs, nextjs), and test frameworks (like mocha).
- You have experience in writing code using advanced programming concepts such as metaprogramming and monkey patching.
- You care about performance, both in regard to time and space, and have experience in measuring and optimizing code to that end.
- You keep yourself up to date in library ecosystems and language communities, and you frequently dive into the code of your dependencies to get the best understanding of their behavior.
- You want to work in a fast, high growth startup environment.
- You communicate about your work efficiently, and without guidance.
- You have a BS/MS/PhD in a STEM field or equivalent experience.
- You're a master Node.js programmer: you avoid pitfalls and quirks of the language like callback hell, object mutation, and tricky asynchronous code; you dived into some of the Node.js and v8 internals; you use modern syntax and language features.
- You have experience with tracing features of Node.js, like AsyncLocalStorage and diagnostics_channels.
- You keep yourself up-to-date regarding the Node.js language and its library ecosystem and community.
- You have experience interfacing Node.js with foreign code, e.g via N-API/NAN bindings.
- You have experience with C/C++, Rust or Python.
- You have experience with GitHub Actions.
- You have experience with code telemetry and introspection.
- You have experience in maintaining open source projects, you have public Node.js projects on GitHub, you own npm libraries.
- You have experience with customer support.