Who are we? 🥖
The developer experience team (duh). Solving developer problems is our bread and butter.
Our Vision: A Curve where all engineers have a great experience building software, are proud to talk about our tools, and delight customers with flawless new features.
Our Mission: Equip our engineers with superpowers. We provide best-in-class tools at every stage of the development lifecycle to tackle inefficiency and frustration.
So what do we do? 🤔
We plan for, design, implement and maintain internal development tools.
We improve developer's experience by eliminating awkward processes and revamp them for the better.
We build shared codebases for common uses and push for adoption to reduce wasted effort and improve security.
We work to standardise and improve CI/CD pipelines across all codebases. As a core principle we follow a “shift left” mindset to include quality and security from the start .
We tackle technical debt and help teams move to better things.
We guide and mentor product teams on how to get the most out of the available platforms and frameworks.
What do we work on? 💻
For a taste of what DevEx does, here are some of the projects we have been working on in the last few months.
✨ Developer Platform ✨
Curve is growing fast. More microservices are being built and deployed every week, which means more codebases, APIs and documentation. This pace is amazing, but it can become unmanageable.
APIs had come into existence without tracking their use, and asking veteran developers to dig out documentation from Google Docs or Confluence doesn’t scale. New joiners were overwhelmed, but even our veteran developers struggled to keep up with a changing service landscape. Regardless of when you joined, the quality of life for a developer wasn’t great. And as the Developer Experience team, we felt that we had to do something about this.
We took on the task as digital archeologists 👷, excavating and building new tools from the remnants left behind by the generations of developers before us. We build a developer platform with a centralised service, documentation and API catalogue.
Advantages of standardisation 📚
Standardisation allows for consistency and leads to decreased complexity and better maintainability. We want to reduce the amount of time that engineers spend on repetitive tasks, so that they can concentrate on what matters.
Libraries with best practices baked in 🔥
You will never be worse off than using what the Go language provides for free. So we made libraries which let engineers spin up new services with sensible defaults and engineering best practices out of the box. From health probes to observability middleware, our drivers wrap existing implementations and provide extensions on top.
Our Go service templates equip new projects with everything they need to get started, lowering the entry barrier for new developers, and making our services more maintainable, manageable, and stable.
Templated CI/CD 🏗️
Copy and pasting is bad! With our templated pipelines we have enabled teams to get a functional CI/CD setup out of the box. Engineers no longer bash their heads against walls to get their code built, pushed, and deployed. DevEx manages this part of the SDLC for you (along with static code analysis, linting, security scanning, and more).
Troubleshooting an issue then getting a fix rolled out in production is hard. We already have first class monitoring, logging and alerting. But to complete our observability platform, DevEx have built a robust, distributed tracing system. This enables engineers to visualise API calls from end to end and catch problems before they impact our customers.
Since we already rolled out standardisation across Curve, we can ship this new functionality quickly and easily, and help teams to really understand service behaviour.
Vault Migration 🔐
DevEx migrated Curve from our old manual secret management system to HashiCorp’s Vault. Our goals:
Enable engineers to update configuration safely;
Improve our security posture by using strong encryption to store secrets;
Enable auditability to track changes to secrets.
Vault is now the new default secrets provider for all new services at Curve. Over half of our microservices have been migrated to Vault, making our engineers' lives much easier.
So that's who we are, what we get up to and what we’re trying to achieve. Over the next few months, we’ll go in-depth on how we build these features and empower our engineers 💪. Watch this space!
Until the next post you can also find us on Curve socials.
And if you’re interested in working with us, then check out our open positions at: curve.com/careers
Written by: Paul Bandha, Yoonju Choi, David Garnett-Welsh, Isabella Manghi, Ed Shelton & Minn Soe