Blog
/
/
Top 10 developer productivity tools
General

Top 10 developer productivity tools

Feb 5, 2024
Zohar Einy
General

Introduction to Cutting-Edge Development Tools

At Port, we have a Slack channel called TIL for ‘today I learned’ - where anyone from any department can share anything they’ve found interesting. One of the key themes that we’ve seen in this channel is our engineering team actively sharing the numerous tools that they’ve come across that they think could benefit others in the company.

As a developer, this is interesting for me because of the many routines I have to follow. Developers participate in dailies, prepare estimates for sprints, code, perform code reviews, handle tests, deliver to production and handle incidents. We have to juggle so many different tasks and this can have a detrimental domino effect on our productivity. For instance, if software development teams have to review huge PRs, they may struggle to deliver features on time, and this can cause bottlenecks which derails the entire team and project. Sometimes, developers just want a way to remove barriers that are preventing us from doing what we do best: code.
So if there are any tools that can help me with any of these tasks and aid my productivity, I’m always open to hear about them - and my guess is that other developers would be the same. But I’m also conscious that these tools shouldn’t be about this obsession in the industry of developer productivity measurement. Instead, these tools should be focused on improving developer experience; if developers are happy with the tools and frameworks they use to build software, then they will ultimately be more productive. 

In this blog, I’d like to pay forward the developer productivity tool recommendations from our R&D team at Port, so that you too can benefit. 
The list of software developer productivity tools includes products related to: coding, security, cost, planning, measuring, delivering features to production. 

Top 10 Developer Productivity Tools

Selecting the tools that can deliver maximum value is crucial for keeping software development teams on track.

Here are ten of our top picks (in no particular order):

1. Infracost VS Code Extension

Credit: infracost https://www.infracost.io/blog/jul-2022-update/

https://github.com/infracost/vscode-infracost 

Do away with the AWS/Azure/Google cost calculators and the need to read through tedious pricing pages. This handy plugin prevents costly infrastructure changes before they get into production. It installs directly into your VSCode editor, and as you write Infrastructure Code, you’ll find out the cost impact of what you’re writing. It will also enable you to compare configs, instance types, regions, etc and catch costly typos. All in all, this is a huge time saver for engineers. 

2. Port

According to Gartner, 75% of organizations with platform engineering teams will provide internal developer portals to their engineers and developers. The need for a portal is clear; internal developer platforms centralize everything DevOps but they’re not sufficient in abstracting away complexity for developers. Without easy access (and the guardrails to go with that access) to the resources they need, developers can’t get on with their tasks as they’ll always need to learn something new (increasing cognitive load) or ask for assistance.

Port’s internal developer portal enables developer self-service so developers can work independently, reinforces golden paths and provides the relevant guardrails. Developers can use the portal to gain visibility and understand what’s actually going on in the platform - with information such as who owns a service, where it’s deployed as well as the quality and standards with regards to anything in the SDLC. What’s unique about Port is that it is un-opinionated - allowing platform engineers to customize the data model to reflect the way the tech stack and use cases are in the specific organization.

3. GetDX

Credit: DX's Linkedin https://www.linkedin.com/company/developer-experience/product/

https://getdx.com/ 

When you think about developer productivity measurement, you often think about DORA and SPACE. But metrics only tell you part of the story - and in keeping with our consideration of DevEx - engineering teams need qualitative data to go along with the quantitative data. GetDX’s DevEx360 is survey-based tool designed by Nicole Forsgren and Margaret-Anne Storey, who have led previous efforts like DORA and SPACE. The tool helps to unearth the pain points developers may have been facing in their day-to-day work, whether that's the time taken for DevOps to be able to look at a ticket, the code review process, or code quality. The tool can break down results based on personas, and can therefore help engineering teams make improvements for directors, managers, engineers, developers, DevOps, SREs, and more. 

4. Vimium

https://chromewebstore.google.com/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb 

Some call it working lazy, but I prefer to call it working smart. Vimium is a browser extension which provides keyboard shortcuts for navigation and control with the essence of the Vim editor. It enables users to navigate the web without touching the mouse, use smart highlighting to click on links, customize keyboard shortcuts, and view all your personalized shortcuts on an in-page help dialog. 

5. GitFluence

https://www.gitfluence.com/

For those of you looking for AI tools for developer productivity, GitFluence is a good place to start. Trying to remember specific Git commands and syntax can be exhausting - GitFluence is an AI-driven git command generator that helps developers quickly find the right Git command they need. All you have to do is describe what you want to do in Git, and it will suggest the most relevant Git commands to accomplish that task. This easy-to-use tool will save your developers time and therefore increase productivity - all while improving DevEx. 

6. VS Code PR Assistant 

Credit: Visual Studio Code https://code.visualstudio.com/blogs/2018/09/10/introducing-github-pullrequests
https://github.com/microsoft/vscode-pull-request-github

When reviewing source code, we’re often forced to leave our editors to use a simple web interface or a third party review tool that presents changes in a different editor. While it gives us an overview of the changes, we lose out on the context of where the changes were made and the impact they have on the surrounding source code. This pull request extension means you can create and review pull requests integrated directly into Visual Studio Code - enabling you to navigate the source code and validate that the changes you’re reviewing actually work as you’d expert. 

7. CodeGuru

Credit: TechTarget https://www.techtarget.com/searchcloudcomputing/tutorial/Get-started-with-Amazon-CodeGuru-with-this-tutorial

https://aws.amazon.com/codeguru/

Code quality is a growing concern for teams building cloud-native applications. This is where Amazon CodeGuru comes in. The tool lets developers identify an application’s most expensive lines of code and then provides them with intelligent recommendations for remediation, so that developers can increase efficiency and optimize costs. CodeGuru also monitors and provides recommendations to improve application performance in production. 

8. GitHub Copilot

Credit: GitHub https://github.com/features/copilot

This generative AI productivity tool is brought to you by GitHub and OpenAI and is described as an ‘AI pair programmer’. GitHub Copilot is a plugin to Visual Studio Code that offers autocomplete-style suggestions as you code. Suggestions are provided by writing the code you want to use or by writing a natural language comment describing what you want to do. It works by analyzing the context in the file you’re editing, as well as related files, and offers suggestions within your text editor. The result? Helping developers to code much faster. GitHub has plans to go even further with GitHub Copilot X, which will incorporate chat and voice, use Copilot for pull requests, the command line and docs to answer questions on projects. 

9. Codeium

Credit: Codeium https://codeium.com/blog/changelist-feb23

https://codeium.com/ 

Another AI tool for developer productivity; Codeium produces output and automates code completion to save developers time and effort in coming up with lines of code. Developers can type out the changes they want to make in natural language and Codeium gets the job done.  Rather than copying, pasting and modifying boilerplate code over and over again, Codeium can help generate code quickly. 

10. Butterfish Shell

Credit: butterfi https://butterfi.sh/

 https://butterfi.sh/ 

For developers who work from the command line that are looking at ways to improve their efficiency, you can use Butterfish Shell to add AI promoting to your shell (bash, zsh). When you execute Butterfish Shell, it wraps around your existing shell transparently, then lets you run prompts by starting with a capital letter. The AI sees the shell history, so you can ask contextual questions like ‘Why did that command fail?’ or you can ask for an improvement of a previous answer, or for it to debug a failed command. 

Developer Productivity and Developer Experience

At Port, we’ve certainly found that using some of these developer productivity tools has changed the way our developers work. Measuring developer productivity is a hot topic right now, but in our 2024 State of Internal Developer Portals report we found that surveys and custom reports were the most common way of measuring productivity, rather than frameworks such as DevEx, DORA metrics and SPACE. This suggests that these frameworks are difficult to implement or that surveys and custom reports provide valuable insights that aren’t necessarily captured by the frameworks. One of those key insights is how the developer may feel when using a certain tool - in other words - developer experience. When compiling this list we’ve made sure that these tools don’t just make developers more productive, but also provide them with a great experience.

{{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