Blog
/
/
Top ten developer experience tools
General
General

Top ten developer experience tools

Apr 8, 2024
Netta Borowitsh

Developer experience or developer productivity?

Developer experience, developer productivity  - which comes first and which comes second? We’re in the camp that argues that developer experience comes first. When developers can just code and worry less about the rest, everything should fall into place, productivity too.

Get the basics first

Tools come second - first you need to line up some basics. 

  • Ensuring swift builds and easy visibility into code changes, whether local or remote, is key. Investing in tools that streamline building, testing, merging, and deployment without configuration headaches is essential for quick feedback loops, fostering better productivity. 
  • Minimizing technical debt is vital to avoid surprise dependencies and maintainable codebases. 
  • Centralized collaboration tools are also invaluable, facilitating teamwork and access to up-to-date documentation and requirements. 
  • Simplifying infrastructure management is equally important, as complex setups can hinder development and frustrate managers. Here, platform engineering and internal developer portals play a crucial role, providing solutions to streamline workflows and ensure standards compliance. Ultimately, prioritizing these aspects can greatly enhance the developer experience and overall productivity.

Now it’s time for the tools that make the developer experience better

Postman

Postman stands out as an indispensable tool for driving a better developer experience across the board. Its intuitive interface and robust features streamline the process of API development, testing, and collaboration, making it an essential asset for developers. With Postman, developers can effortlessly create and share API requests, collaborate with team members on collections, and automate testing workflows, thereby reducing manual effort and accelerating the development cycle. Its extensive documentation capabilities also ensure that developers have access to clear, concise documentation, facilitating seamless integration of APIs into their projects. Overall, by leveraging Postman, teams can enhance collaboration, improve efficiency, and deliver high-quality APIs, ultimately leading to a superior developer experience.

Credit: Microsoft learn

GitHub Copilot

GitHub Copilot leverages AI to provide real-time code suggestions and completions directly within the code editor. By analyzing context and patterns from millions of lines of code, Copilot offers developers instant assistance in writing code snippets, speeding up development workflows and reducing cognitive load. Its ability to generate accurate and contextually relevant code significantly boosts productivity and helps developers focus on solving higher-level problems rather than getting bogged down in syntax details. With GitHub Copilot, teams can iterate faster, collaborate more efficiently, and ultimately deliver better-quality code, making it an invaluable tool for enhancing the developer experience.

Credit: Github

Sourcegraph

Sourcegraph offers a unified platform for code search, navigation, and intelligence. Its powerful code search capabilities enable developers to quickly find relevant code snippets across repositories, eliminating the need to sift through multiple codebases manually. Additionally, Sourcegraph provides advanced code navigation features, such as jump-to-definition and find-references, which streamline code exploration and understanding. With intelligent code suggestions and contextual documentation, developers can accelerate their workflows and make informed decisions while writing code. Furthermore, Sourcegraph integrates seamlessly with popular version control systems and code hosting platforms, fostering collaboration and enabling teams to work more efficiently. By empowering developers with enhanced visibility and productivity tools, Sourcegraph significantly enhances the developer experience and drives innovation within software development projects.

Credit: infoWorld

Toggl Track

Toggl Track proves invaluable in safeguarding developers from unproductive meetings by offering precise time tracking capabilities. With Toggl Track, developers can meticulously monitor their time allocations, allowing them to discern how much time they spend in meetings versus actual productive work. Armed with these insights, developers can make informed decisions about which meetings are essential and where their time is best utilized. By providing visibility into time usage, Toggl Track empowers developers to prioritize their tasks effectively, thereby minimizing wasteful meetings and maximizing productivity within their workflow.

Credit: Zentik

DevDocs

Missing documentation is a huge problem. DevDocs is a comprehensive and accessible documentation hub. By consolidating documentation from a vast array of programming languages, libraries, and frameworks into a single, searchable platform, DevDocs eliminates the need for developers to navigate through multiple documentation sources. Its intuitive interface and lightning-fast search functionality streamline the process of finding relevant information, allowing developers to quickly access the resources they need without disruption. Furthermore, DevDocs offers offline access and customization options, catering to individual preferences and ensuring accessibility even in offline environments. Ultimately, by providing a centralized and user-friendly documentation solution, DevDocs significantly improves developers' efficiency, productivity, and overall satisfaction with their development process.

Credit: Freecodecamp

GetDX

How can you improve the developer experience if you can’t measure it or understand what developers are actually doing? GetDX is a comprehensive insights platform. Developed by the researchers behind DORA and SPACE, GetDX offers both qualitative and quantitative measures to help leaders understand and enhance developer productivity effectively. By focusing on the intricacies of developer experience, GetDX provides a suite of tools that capture data from surveys and systems in real-time, allowing leaders to pinpoint areas of friction and drive tangible improvements. With a strong focus on strategy, implementation, and ongoing support, GetDX empowers organizations to adapt to changing environments and achieve significant business impact. Leveraging expertise from previous successful ventures and partnerships with renowned researchers, GetDX redefines the landscape of developer productivity measurement, propelling companies toward remarkable outcomes such as drastically reduced lead times and accelerated software delivery rates. Through features like DevEx 360, PlatformX, and Data Cloud, GetDX offers a holistic view of developer experience, enabling organizations to optimize productivity and drive continuous improvement.

DX | LinkedIn
Credit: DX's LinkedIn

Confluence

Confluence offers robust collaboration and documentation features tailored to the needs of software development teams. With Confluence, developers can easily create, organize, and share project documentation, including specifications, design documents, and technical requirements. Its intuitive interface and customizable templates streamline the process of capturing and disseminating crucial information, ensuring that developers have easy access to the resources they need. Furthermore, Confluence's integration with popular development tools such as Jira, Bitbucket, and GitHub fosters seamless collaboration and alignment across teams, enabling developers to work more efficiently and effectively. By centralizing documentation and facilitating collaboration, Confluence significantly improves developer productivity, knowledge sharing, and overall satisfaction with the development process.

Credit: Atlassian

Grafana

Grafana significantly enhances the developer experience by providing a powerful platform for monitoring and observability. With its intuitive interface and customizable dashboards, Grafana empowers developers to visualize metrics and gain insights into the performance and health of their applications in real-time. By centralizing data from various sources and enabling developers to create dynamic visualizations, Grafana facilitates proactive monitoring and troubleshooting, allowing developers to identify and address issues quickly. Additionally, Grafana's extensibility through plugins and integrations with popular data sources further enhances its versatility, enabling developers to tailor monitoring solutions to their specific needs and workflows. Overall, Grafana streamlines the monitoring and observability process, enabling developers to make informed decisions, improve application reliability, and deliver better user experiences.

Credit: Grafana

CircleCI

CircleCI automates the continuous integration and delivery (CI/CD) process, thereby streamlining development workflows and reducing manual effort. With CircleCI, developers can set up automated pipelines to build, test, and deploy code changes quickly and reliably. Its intuitive interface, coupled with robust configuration options, allows developers to define complex workflows and customize build environments to suit their project requirements. CircleCI's integration with version control systems, such as GitHub and Bitbucket, enables seamless collaboration and ensures that every code change undergoes automated testing before being merged, thus maintaining code quality and reducing the risk of introducing bugs. By automating repetitive tasks and providing real-time feedback on code changes, CircleCI empowers developers to iterate faster, release updates with confidence, and focus on building innovative solutions, ultimately enhancing the developer experience.

Credit: CircleCI

Port

Time for giving ourselves some credit. An internal developer portal significantly enhances the developer experience by centralizing access to essential resources, tools, and documentation within an organization. By providing a single point of entry for developers to discover and access APIs, libraries, SDKs, and other services, an internal developer portal reduces the time and effort spent searching for information across disparate systems. Furthermore, it fosters collaboration and knowledge sharing by enabling developers to share best practices, code samples, and tutorials, facilitating faster onboarding and skill development for new team members. Additionally, an internal developer portal can streamline the process of requesting and provisioning access to resources, improving developer productivity and accelerating time-to-market for new projects. Overall, by providing a cohesive and organized environment for developers to access resources and collaborate effectively, an internal developer portal significantly enhances the developer experience within an organization.

{{cta}}

Book a demo right now to check out Port's developer portal yourself

Book a demo
{{jenkins}}

It's a Trap - Jenkins as Self service UI

Read more
{{gitops}}

How do GitOps affect developer experience?

Read more
{{ebook}}

It's a Trap - Jenkins as Self service UI. Click her to download the eBook

Download eBook
{{cyberark}}

Learning from CyberArk - building an internal developer platform in-house

Read more
{{dropdown}}

Example JSON block

{
  "foo": "bar"
}

Order Domain

{
  "properties": {},
  "relations": {},
  "title": "Orders",
  "identifier": "Orders"
}

Cart System

{
  "properties": {},
  "relations": {
    "domain": "Orders"
  },
  "identifier": "Cart",
  "title": "Cart"
}

Products System

{
  "properties": {},
  "relations": {
    "domain": "Orders"
  },
  "identifier": "Products",
  "title": "Products"
}

Cart Resource

{
  "properties": {
    "type": "postgress"
  },
  "relations": {},
  "icon": "GPU",
  "title": "Cart SQL database",
  "identifier": "cart-sql-sb"
}

Cart API

{
 "identifier": "CartAPI",
 "title": "Cart API",
 "blueprint": "API",
 "properties": {
   "type": "Open API"
 },
 "relations": {
   "provider": "CartService"
 },
 "icon": "Link"
}

Core Kafka Library

{
  "properties": {
    "type": "library"
  },
  "relations": {
    "system": "Cart"
  },
  "title": "Core Kafka Library",
  "identifier": "CoreKafkaLibrary"
}

Core Payment Library

{
  "properties": {
    "type": "library"
  },
  "relations": {
    "system": "Cart"
  },
  "title": "Core Payment Library",
  "identifier": "CorePaymentLibrary"
}

Cart Service JSON

{
 "identifier": "CartService",
 "title": "Cart Service",
 "blueprint": "Component",
 "properties": {
   "type": "service"
 },
 "relations": {
   "system": "Cart",
   "resources": [
     "cart-sql-sb"
   ],
   "consumesApi": [],
   "components": [
     "CorePaymentLibrary",
     "CoreKafkaLibrary"
   ]
 },
 "icon": "Cloud"
}

Products Service JSON

{
  "identifier": "ProductsService",
  "title": "Products Service",
  "blueprint": "Component",
  "properties": {
    "type": "service"
  },
  "relations": {
    "system": "Products",
    "consumesApi": [
      "CartAPI"
    ],
    "components": []
  }
}

Component Blueprint

{
 "identifier": "Component",
 "title": "Component",
 "icon": "Cloud",
 "schema": {
   "properties": {
     "type": {
       "enum": [
         "service",
         "library"
       ],
       "icon": "Docs",
       "type": "string",
       "enumColors": {
         "service": "blue",
         "library": "green"
       }
     }
   },
   "required": []
 },
 "mirrorProperties": {},
 "formulaProperties": {},
 "calculationProperties": {},
 "relations": {
   "system": {
     "target": "System",
     "required": false,
     "many": false
   },
   "resources": {
     "target": "Resource",
     "required": false,
     "many": true
   },
   "consumesApi": {
     "target": "API",
     "required": false,
     "many": true
   },
   "components": {
     "target": "Component",
     "required": false,
     "many": true
   },
   "providesApi": {
     "target": "API",
     "required": false,
     "many": false
   }
 }
}

Resource Blueprint

{
 “identifier”: “Resource”,
 “title”: “Resource”,
 “icon”: “DevopsTool”,
 “schema”: {
   “properties”: {
     “type”: {
       “enum”: [
         “postgress”,
         “kafka-topic”,
         “rabbit-queue”,
         “s3-bucket”
       ],
       “icon”: “Docs”,
       “type”: “string”
     }
   },
   “required”: []
 },
 “mirrorProperties”: {},
 “formulaProperties”: {},
 “calculationProperties”: {},
 “relations”: {}
}

API Blueprint

{
 "identifier": "API",
 "title": "API",
 "icon": "Link",
 "schema": {
   "properties": {
     "type": {
       "type": "string",
       "enum": [
         "Open API",
         "grpc"
       ]
     }
   },
   "required": []
 },
 "mirrorProperties": {},
 "formulaProperties": {},
 "calculationProperties": {},
 "relations": {
   "provider": {
     "target": "Component",
     "required": true,
     "many": false
   }
 }
}

Domain Blueprint

{
 "identifier": "Domain",
 "title": "Domain",
 "icon": "Server",
 "schema": {
   "properties": {},
   "required": []
 },
 "mirrorProperties": {},
 "formulaProperties": {},
 "calculationProperties": {},
 "relations": {}
}

System Blueprint

{
 "identifier": "System",
 "title": "System",
 "icon": "DevopsTool",
 "schema": {
   "properties": {},
   "required": []
 },
 "mirrorProperties": {},
 "formulaProperties": {},
 "calculationProperties": {},
 "relations": {
   "domain": {
     "target": "Domain",
     "required": true,
     "many": false
   }
 }
}
{{tabel-1}}

Microservices SDLC

  • Scaffold a new microservice

  • Deploy (canary or blue-green)

  • Feature flagging

  • Revert

  • Lock deployments

  • Add Secret

  • Force merge pull request (skip tests on crises)

  • Add environment variable to service

  • Add IaC to the service

  • Upgrade package version

Development environments

  • Spin up a developer environment for 5 days

  • ETL mock data to environment

  • Invite developer to the environment

  • Extend TTL by 3 days

Cloud resources

  • Provision a cloud resource

  • Modify a cloud resource

  • Get permissions to access cloud resource

SRE actions

  • Update pod count

  • Update auto-scaling group

  • Execute incident response runbook automation

Data Engineering

  • Add / Remove / Update Column to table

  • Run Airflow DAG

  • Duplicate table

Backoffice

  • Change customer configuration

  • Update customer software version

  • Upgrade - Downgrade plan tier

  • Create - Delete customer

Machine learning actions

  • Train model

  • Pre-process dataset

  • Deploy

  • A/B testing traffic route

  • Revert

  • Spin up remote Jupyter notebook

{{tabel-2}}

Engineering tools

  • Observability

  • Tasks management

  • CI/CD

  • On-Call management

  • Troubleshooting tools

  • DevSecOps

  • Runbooks

Infrastructure

  • Cloud Resources

  • K8S

  • Containers & Serverless

  • IaC

  • Databases

  • Environments

  • Regions

Software and more

  • Microservices

  • Docker Images

  • Docs

  • APIs

  • 3rd parties

  • Runbooks

  • Cron jobs

Check out Port's pre-populated demo and see what it's all about.

Check live demo

No email required

Contact sales for a technical product walkthrough

Let’s start

Open a free Port account. No credit card required

Let’s start

Watch Port live coding videos - setting up an internal developer portal & platform

Let’s start

Check out Port's pre-populated demo and see what it's all about.

(no email required)

Let’s start

Contact sales for a technical product walkthrough

Let’s start

Open a free Port account. No credit card required

Let’s start

Watch Port live coding videos - setting up an internal developer portal & platform

Let’s start

Let us walk you through the platform and catalog the assets of your choice.

I’m ready, let’s start