5 Ways Developer Hub Boosts Developer Productivity
Developer Hub is a single place to build, manage, and deploy software. It saves developers time and allows them to focus on building software.
There’s a surefire way to kill a developer’s speed.
As a consultant at other companies, I constantly switched between Jira for tasks, Jenkins for builds, Splunk for logs, SharePoint for "best practices", and a chat window with that one guy who knew where everything actually was.
I call it “Tool Hell”. And it adds up.
Developers are overloaded with technology. Not only does this drain productivity of existing developers, it slows down onboarding too.
This is why we use Developer Hub.
Developer Speed, Unlocked
Developer Hub is a single place to build, manage, and deploy software in your organization. It pulls together all relevant information from the tools you use and helps your teams go freaky fast.
With all your tooling, software components, and data in one place, developers don’t have to spend time context switching. They can do what they’ve always wanted to do.
Just. Write. Code.
Developer Hub is based on Backstage – an open source project from Spotify. Kudos to them for sharing their solution!
1. Software Templates are the fastest way to create anything (correctly)
We spend a lot of time configuring, asking, and waiting. What’s the correct repository structure ? What version of log4shell log4j is supported by my org? Who needs to approve this ticket ?
New hires get confused. And if we build something wrong, now Ops is pissed.
Software Templates are the fastest way to create anything. Your team defines a template with all your best practices – like repository structure, CI/CD pipeline, or tickets that need to be opened.
When you need to create something, you can do it in a few clicks.
Templates are written in yaml. They contain parameters (user inputs), steps (actions performed by the template), and outputs (the result). Here's an example of the structure.
kind: Template
metadata:
title: Create a Quarkus REST Service
spec:
type: service
parameters:
- title: Name
type: string
description: Unique name of the component
Default: my-quarkus-app
...
steps:
- id: template
name: Fetch Skeleton + Template
action: fetch:template
input:
url: ./skeleton
- id: publish
name: Publish Repo
action: publish:gitlab
input:
repoUrl: …
output:
links:
- title: Source Code Repository
url: ${{ steps.publish.output.remoteUrl }}
Templates can do things like create GitLab repos, kick off Jenkins jobs, and open ServiceNow tickets. They can create anything – from playbooks to VMs. You can see more examples here.
2. Software Catalog is the easiest way to manage your software
Software can become unmanageable. Do we have a service that does this? When was the last build run? Who owns this service? What are the dependencies?
Software Catalog centralizes all your software and its information, making it easily discoverable.
You can track anything in the catalog: APIs, services, libraries, Ansible roles. There are also integrations that pull data into the catalog from tools like Ansible Automation Platform.
3. Search is the fastest way to find information about your software
When I’m looking for something, my first thought is to google it. This is a search engine for your entire company.
Search will find anything in your catalog or documentation. You can even add stack overflow as a source and have one search to rule them all.
4. TechDocs are a simple way to create and use documentation
Speaking of documentation, TechDocs make it easy for developers to create documentation that lives with their code. And, it’ll automatically be displayed in Developer Hub in a pretty format.
Developers write their documentation in Markdown files that are stored in the repository along with the code. You can also customize the look and feel with add-ons if you choose.
5. Plugins integrate with tools you use (and will use)
A new tool is born everyday. So if your team adopts one, boom. Another tab.
Fortunately, plugins make Developer Hub very extensible. They allow Developer Hub to integrate with tools you use like Jira, GitLab, and ServiceNow.
There are 150+ community plugins and Red Hat adds supported ones with each release. You can also write your own plugins in Javascript.
Recap
Developer Hub is a single place to create, manage, and deploy all the software in your organization. It saves developers time, relieves headaches, and allows them to focus on actually building software.
Best Practices
For best results, Developer Hub should be “owned” by one team in your company. Many organizations already have a Platform Team. If shipping software quickly matters to you, assign someone to make it happen.
Useful Links