SDK, Go - Senior Software Engineer

Madrid, Spain
Engineering – SDK
Full-time
Are you always curious about how the internals of Go work? Are you proud of your ability to write extremely efficient code? Do you often feel underwhelmed by software development opportunities and want to do more if given the opportunity?

At Undefined Labs’ we are empowering developers to do more, faster. Our first product to market gives engineering teams unprecedented visibility into their CI process to quickly identify, troubleshoot and fix failed builds. To accomplish this, we need you to design and develop an efficient and robust agent library for Go that is able to collect and send test and tracing data to our backend in real time without affecting the underlying application, as well as implement a new set of tools to help developers write better, more comprehensive tests. Are you up for the challenge?

What you’ll do

    • Design our agent library for Go with performance, robustness and simplicity in mind.
    • Follow best practices for software development that consistently results in high quality code.
    • Write powerful distributed tracing instrumentation libraries for popular frameworks and libraries for Go, leveraging OpenTracing/OpenCensus.
    • Develop a asynchronous, low-footprint, lightweight process for continuously sending tracing data to our backend in near real time.
    • Design a very developer-friendly interface for the agent that minimizes implementation effort for our Go users.
    • You code it, you ship it, you own it - from development to production.
    • Be a role model for your team, inspiring your colleagues with a drive for excellence.

What we’re looking for

    • You are an absolute Go wizard and have developed for it for several years.
    • You write efficient asynchronous thread-safe code and are an expert on concurrency patterns.
    • You have written Go libraries before and can design elegant interfaces that reduce cognitive load for its users.
    • You know the internals of Go so well that you apply appropriate design patterns to minimize memory footprint and CPU load to the extreme.
    • You write code that is easily testable, have extensively used at least one testing framework for Go and understand the complexities of testing libraries that are to be used in heterogeneous environments.
    • You want to work in high growth startup environment where ownership and accountability is a given.

What we’d prefer to see

    • You have discovered OpenTracing and wonder how people debugged in production without it.
    • You are familiar with distributed systems and microservice-based architectures.
    • You have contributed to the source of Go or to a popular framework or tool written for it.

What we offer

    • A company culture that values passion, integrity and excellence.
    • An engineering culture that values development agility, automation, high quality code, ownership and continuous learning.
    • Weekly team lunches, monthly get-togethers, and bi-annual company retreats.
    • Yearly tech conference sponsorships.
    • Quarterly team hackathons (with prizes!).
    • Linux or Mac? Dual monitors? Trackpad or mouse? Headphones? Make your work setup the perfect setup.
    • An opportunity to share our collective success by owning a piece of the company.