Recently I started hearing more and more about developer experience, which to me was a bit new-ish, so seriously what is developer experience? Another buzz word? A real thing?
It’s been a while since I actually developed code … yes yes … you can laugh … a sales person that used to be a developer ????, and A LOT changed since then. The number of tools a developer should work with on a daily basis is just crazy.
Developers interact with many tools / resources during their day to day, such as git, IDE, security tools, issue tracking, different infrastructure elements (k8s, VMs, etc.)
I took some time to read more about it and talk to our customers to understand what it means for them.
TL;DR – it is all about making the developer’s lives easier from the process to the tooling they work with.
After talking to many customers, prospects, partners, I realized there are 3 key challenges they all try to solve for their developers –
- Remove bottlenecks
- Speed up ramp up time of a developer
- Document every step of the process
Together with my amazing team here in Codefresh and our customers, we realized our platform has so much in it to assist with the above 3 challenges, here you go:
Repeatability & Reliability ~ ANY manual process is error prone and time consuming. By having our app infra in code, we can easily provision those resources.
And when we DO have errors, we can just easily do a Git revert and get them back to a working state.
Productivity ~ The ability to do Kubernetes deployments through Git allows developers to work with the tools they are most familiar with: Git commits and API commands.
This all saves engineer time from managing deployment infra.
Self Service ~ Traditionally a separate ops team would be in charge of developing new app infra. This is a bottleneck when we are trying to scale
and requires devs to have some type of process to change their infra.
Since my apps are stored in Git, if I’m a developer, I can play with the CPU and memory and see how that affects the performance of my app. OR I can modify settings for my webserver and do load testing, or I can change connection string when testing applications.
Simplified On-boarding ~ Developers can quickly get up to speed and deliver value by focusing on software changes, instead of needing a deep dive from a DevOps engineer on the end-to-end CI/CD process to deliver a single feature. We help teams abstract the unnecessary complexity to focus on what drives their business
Operational Dashboards ~ Exposing the most commonly needed application and environmental information to developers so that they can troubleshoot without needing assistance from the DevOps teams; even in production
Analytical Dashboards ~ Developers often need to reach out to the DevOps team to get statistics and metrics around builds and deployments. Codefresh automatically generates DORA metrics as well as many other key indicators of build and deployment efficiency, which can be easily viewed in seconds by product owners and management alike.
Democratizing DevOps Information ~ GitOps ensures that every application and environmental change is backed by declarative configuration, which makes it second nature to identify similar use cases and produce consistent processes and results. Less one-off implementations means workflow and deployment troubleshooting is way simpler and can typically be handled by developers without the help of the DevOps team
Tools That Make You Smile ~ Utilizing tools that are fun to use and easy to learn leads to developers digging deeper than they usually would without asking for help. If it is an interesting problem and the tooling is accommodating, the learning process becomes natural as does the sharing of information with other team members. Bonus points that Argo is the fastest growing DevOps toolset and these skills will be incredibly valuable in the job market.
Flexibility ~ Developers love being creative, and when they feel constrained by software, they will toss it over the wall to the DevOps engineers. Codefresh is built to offer strong guardrails if necessary but still allow flexibility and creativity in problem solving. We integrate with best-of-breed tools to allow you to use the best tool for the job.
If you want to see any of it in action, please contact us!