Advice for support engineers handling customer escalations

Advice for support engineers handling customer escalations

In my role as a technical support engineer, I have seen all manner of escalations. They can come in the form of; A performance bug in the productA corner case issue you wouldn't consider a user hitting a service being offline that the product depends onA third party library the product depends on being upgraded many more! From a support engineer's perspective, here are a few tips I have learned over the years on how to approach an escalation.

Traps to avoid when dealing with time critical issues

Traps to avoid when dealing with time critical issues

All Developers/Operations team members know the pressure and stress of finding and fixing a critical issue in their code or infrastructure. When dealing with issues, they often enter panic mode to try and get the issue resolved as soon as possible. While this can yield positive results, it can also lead to mistakes. Two frequent traps we fall into when in panic mode are: The quick fix - you cut some corners so that everything starts working again, promising to fix those tests or perform that extra step laterMaking too many changes - you implement several fixes at once, then have to figure out what change fixed the issue

Multithreading and Multiprocessing

Multithreading and Multiprocessing

Many programming languages allow for multithreading and multiprocessing as a means of parallel execution of code. This form of programming allows for tasks to be split into groups of tasks that can be executed concurrently. This can lead to faster execution times for tasks that are not blocked by other operations. There are however several advantages and disadvantages to this form of programming.Multithreading and Multiprocessing can allow for better performance when executing certain operations. There are many different forms of multithreading and multiprocessing implementations, it is important to know the limitations of each implementation and to consider such things as: number of processors (or threads) that are available when the code is runningthe duration and number of tasks that are being executed

Getting started with nerd.vision in Python

Getting started with nerd.vision in Python

The python agent for nerd.vision has left early access, version 1.0.0 is officially released!‍In this blog, we are going to guide you through setting up and using nerd.vision with your python application.

Debugging local projects with nerd.vision

Debugging local projects with nerd.vision

I've found an issue in development. Let’s use the nerd.vision debugger with the project on my computer to see what could be wrong.

Python vs. Java: When to use which

Python vs. Java: When to use which

Java and Python are high-level programming languages based on Object-oriented paradigm. But which is better for each situation?

Developer issues when working in containers

Developer issues when working in containers

Containers are fast becoming an adapted technology in computing today. But they aren't a magical fix for all issues.

How to get the best results when working with a product support team

How to get the best results when working with a product support team

Technical support engineers see all manner of issues in support. While support engineers always try to get to the route of any issue, there are certain things you can do to help.

Traps to avoid when dealing with time critical issues

Traps to avoid when dealing with time critical issues

All Developers/Operations team members know the pressure and stress of finding and fixing a critical issue in their code or infrastructure. When dealing with issues, they often enter panic mode to try and get the issue resolved as soon as possible. While this can yield positive results, it can also lead to mistakes. Two frequent traps we fall into when in panic mode are: The quick fix - you cut some corners so that everything starts working again, promising to fix those tests or perform that extra step laterMaking too many changes - you implement several fixes at once, then have to figure out what change fixed the issue

Why debug in production?

Why debug in production?

A selection of common question about debugging in production.

The future of nerd.vision

The future of nerd.vision

What is happening next in nerd.vision? You decide.

Configuring nerd.vision to automatically run in Docker

Configuring nerd.vision to automatically run in Docker

A guide to configuring nerd.vision to automatically run when your Docker container starts.

Using conditional breakpoints to fix a bug

Using conditional breakpoints to fix a bug

An example using conditional breakpoints to find a corner case in our test application.

Getting started with nerd.vision for Java applications

Getting started with nerd.vision for Java applications

By following the steps in this blog post you will be able to install and configure nerd.vision so you are able to debug your Java application.

Configuring nerd.vision to automatically run in Docker

Configuring nerd.vision to automatically run in Docker

A guide to configuring nerd.vision to automatically run when your Docker container starts.

Installation and configuration instruction video for nerd.vision

Installation and configuration instruction video for nerd.vision

You can see how to install and configure nerd.vision in our useful video we also have details and code in our getting started with nerd.vision blog.

Debugging local projects with nerd.vision

Debugging local projects with nerd.vision

I've found an issue in development. Let’s use the nerd.vision debugger with the project on my computer to see what could be wrong.

Getting started with nerd.vision in Node.js applications

Getting started with nerd.vision in Node.js applications

A quick guide to getting nerv.vision up and running in Node.js

Getting started with Node.js? How to debug your first Node.js application

Getting started with Node.js? How to debug your first Node.js application

Are you getting started with Node.js? What is the best way to debug your node apps?

Getting started with nerd.vision for Java applications

Getting started with nerd.vision for Java applications

By following the steps in this blog post you will be able to install and configure nerd.vision so you are able to debug your Java application.

Advice for support engineers handling customer escalations

Advice for support engineers handling customer escalations

In my role as a technical support engineer, I have seen all manner of escalations. They can come in the form of; A performance bug in the productA corner case issue you wouldn't consider a user hitting a service being offline that the product depends onA third party library the product depends on being upgraded many more! From a support engineer's perspective, here are a few tips I have learned over the years on how to approach an escalation.

Using conditional breakpoints to fix a bug

Using conditional breakpoints to fix a bug

An example using conditional breakpoints to find a corner case in our test application.

Separating schema definitions in Avro

Separating schema definitions in Avro

How we separated our Avro schemas using the Maven Avro plugin.

mikey flewitt
Daniel
Onboarding and guiding users through nerd.vision

Onboarding and guiding users through nerd.vision

UI/UX strategies for guiding users through nerd.vision

Some peculiarities of Avro that are worth knowing

Some peculiarities of Avro that are worth knowing

Some important information to know when using Avro with Maven and Java.

Easy way to convert Json to Avro

Easy way to convert Json to Avro

Converting Json to Avro while only maintaining a single definition of a model used in the REST API and Kafka streams.

Jacoco Coverage of Utility Classes

Jacoco Coverage of Utility Classes

When using Jacoco for test coverage, there are some circumstances where code is not covered unexpectedly. This blog covers Jacocos interaction with constant utility classes in Java.

mikey flewitt
Daniel
How we solved a case where IndexedDB did not connect

How we solved a case where IndexedDB did not connect

We encountered an issue where IndexedDB did not connect, this is how we solved it.

Multithreading and Multiprocessing

Multithreading and Multiprocessing

Many programming languages allow for multithreading and multiprocessing as a means of parallel execution of code. This form of programming allows for tasks to be split into groups of tasks that can be executed concurrently. This can lead to faster execution times for tasks that are not blocked by other operations. There are however several advantages and disadvantages to this form of programming.Multithreading and Multiprocessing can allow for better performance when executing certain operations. There are many different forms of multithreading and multiprocessing implementations, it is important to know the limitations of each implementation and to consider such things as: number of processors (or threads) that are available when the code is runningthe duration and number of tasks that are being executed

Python vs. Java: When to use which

Python vs. Java: When to use which

Java and Python are high-level programming languages based on Object-oriented paradigm. But which is better for each situation?

Developer issues when working in containers

Developer issues when working in containers

Containers are fast becoming an adapted technology in computing today. But they aren't a magical fix for all issues.

X-Real-IP with docker swarm and TCP LB

X-Real-IP with docker swarm and TCP LB

Recently we changed to use an AWS NLB so we could use gRPC and HTTP/2 all the way to the microservices that answer the requests. X-Real-IP was missing though.

NoSuchAlgorithmException when using PowerMockito

NoSuchAlgorithmException when using PowerMockito

Today I encounter an issue with PowerMockito, this is how I fixed it.

MonogDB replication loop

MonogDB replication loop

After adding some new nodes to our MongoDB sharded cluster, the replication got stuck in the Startup2 phase. This is the simple fix.

The Importance of Monitoring Entropy

The Importance of Monitoring Entropy

Why entropy is important and how we solved the issue of our servers not having enough.

Why is technical debt becoming increasingly important?

Why is technical debt becoming increasingly important?

Technical debt is very similar to financial debt in that software developer’s use when talking about the extra costs associated with changing a system’s codebase and architecture. It can involve debugging code or revising requirements for a weak design or aging third-party library. Technical debt is significant to most organizations using software to run their business as it costs time as well as money. Gartner estimated that the sum amount of technical debt worldwide reached $1 trillion in 2015 and could double its figure in the coming years. With this in mind, let’s look at what technical debt is and a few reasons why technical debt is becoming increasingly important. 

Debugging in containerized environments

Debugging in containerized environments

Debugging in a containerized environment is entirely safe with few exceptions in production environments.

Why debug in production?

Why debug in production?

A selection of common question about debugging in production.

Missing Python.h file when installing nerd.vision

Missing Python.h file when installing nerd.vision

Python.h: No such file or directory. Install python-dev via apt or yum.

Non-intrusive debugging for any environment

Debug applications throughout the development lifecycle with a single tool, wherever they are hosted