Whether you think of it this way or not, you have an internal dev platform. Everybody has a dev platform. Some are outdated notes in a repo’s readme. Others are a collection of scripts that a few people on the team know how to run. If you’re pretty good, you might have well-documented scripts based on open source tools, maybe some ansible combined with a deploy tool like kubernetes or docker swarm. Maybe it’s a platform as a service like Heroku, or a k8s abstraction like ReleaseHub.
Even if you’ve made enough investment to get up to the better options above, it likely still has huge gaps. How code gets from someone's keyboard into a deployment isn't fully documented, and it isn't the same across different environments. Unfortunately, folks have never seen better and so your team doesn’t push for too much change. Dev uses different tools in different ways than prod, and takes a lot more “slack ops” and siloed knowledge to keep things working that you'd like. The staging environment is different from both dev and prod, either to save costs or to make some kind of integration testing work. Nobody can touch it because it is constantly breaking or in use by someone else. Want to test your feature? Get in line and wait.
Why does this matter for your business? Maybe your developers don’t know how to deploy code or test it quickly and thoroughly. This limits how fast you can move - maybe even more than you realize. Internal dev platforms take a lot of effort to maintain, and your team should be spending their time elsewhere. How much devops work is on your CEO’s roadmap? How many of your strongest backend engineers spend time on your CI pipeline or your staging servers? If you don’t have a great dev platform, it can make developing code a slow and painful process. A great dev platform will save your developers time and make them more productive.
Your dev platform is a time suck and productivity limiter, and likely still does not enforce enough best practices or structure on your workflow or code. This leads to a lot of bikeshedding and NIH syndrome. It’s made of open-source projects you cobbled together that are not tailored to your company or product. It’s not flexible and it can’t be easily changed, and it take a spurt of work every so often to keep it working, often at an inconvenient time. It’s not scalable. As your team or product grows, the platform can’t keep up. How are you going to handle multiple services or a growing team? It’s not easy to find good help when things go wrong. Who is on call tonight? Will they have to involve others to solve the incident? It would be better if your platform was actually an accelerant for your team instead of a drag.
At Coherence, we set out to make it possible for you to buy tools that give you a great developer platform, instead of having to build them yourself. Because of our background in high-compliance environments where outsourcing completely to a PaaS is off the table, we operate these resources in your own cloud accounts, minimizing vendor sprawl and giving you a cohesive set of tools that you can leverage together. Building a world-class dev platform is our job, and we promise to deliver an order-of-magnitude ROI for your team when you adopt our tools.