You are not just a user but a shareholder of the platform!
Library Software Engineer
Technologies: C Programming language, Go, Hyperledger, Lua, Perl, Python, Rust
We are looking for a senior software engineer who can help push our open-source Ruby library to the next level. On top of working on the daily life of this open-source project, it includes working on the ASM integrations (HTTP, GraphQL, gRPC…) and security monitoring features such as attack attempts or code vulnerability detection. Come and join us to build amazing open-source software!
What You’ll Do:
Develop mainly in Ruby and interact with projects in C++, Rust, and Python.
Own the architecture, design and implementation of ASM for Ruby.
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 Ruby applications around the world.
Advocate for and represent Datadog in the Ruby community.
Learn more on the Ruby internals and its virtual machine.
Closely collaborate with the Datadog Ruby Guild, including the APM Tracing and Profiling teams, living in the same library.
Who You Are:
You’re a solid Ruby programmer or polyglot that would have no trouble adjusting to Ruby. For each language you know, you think idiomatically to leverage the best features of the language for a particular problem.
You have advanced 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 Ruby.
You have library packaging experience.
You have solid experience with widely used servers (like Puma or Gunicorn), web frameworks (like Rails or Django), background job processors (like Sidekiq or RQ), middlewares and muxers (such as Rack or gorilla/mux), test frameworks (like rspec or pytest), and concurrency features or libraries (like concurrent-ruby or Goroutines).
You have experience in writing code using advanced programming concepts such as metaprogramming, DSLs, monkey patching, or aspect oriented programming.
You care about performance, both in regard to time and space, and have experience in 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 are a great community ambassador and can drive hard technical conversations towards a good solution.
You want to work in a fast, high growth startup environment.
You have a BS/MS/PhD in a STEM field or equivalent experience.
You’re a master Ruby programmer: you think in blocks, you trampled GVL limitations many times; you have experience with Rails, Sinatra, Grape, Sidekiq, but you go beyond Ruby on Rails; you have packaged and published gems.
You keep yourself up-to-date regarding the Ruby language and its library ecosystem and community.
You have experience with alternative implementations such as JRuby or TruffleRuby, their benefits and tradeoffs, and how they work.
You have experience interfacing with foreign code, e.g via FFI.
You have significant experience with C, Rust, Python, Go, Perl, Lua.
You have experience with code telemetry and introspection.