Backend Development


Docker Exec and Maven AppAssembler

Docker is a powerful tool for defining, building, deploying and running software in containers for self-contained distribution and isolation purposes. AppAssembler is a Maven plugin that is primarily ...

By Ville Koskela


Intern Project: Creating a Global Search using Solr

The Internal Systems team at Qualtrics wants to provide our clients, fellow employees, with an easy way to search through data. This data is in many different formats and has various use cases. Fo...

By Ivan Zaitsev


A Node developer’s perspective on Java promises

Transitioning from a callback-based NodeJS world into Java, I was surprised to find similar support for asynchronous computation in Java 8. Java is known for being a blocking language, so methods for ...

By Coreen Yuen


Integrating into Qualtrics: Docker Deployment

About a year ago, Qualtrics made their first acquisition of a small company called Statwing. I was a part of the Statwing team and have worked on integrating the Statwing product into the Qualtrics p...

By John Le


Building a Customizable Platform for Sentiment Analysis

Overview On May 12th we launched a brand new Sentiment Analysis tool to the world as part of the Qualtrics Experience Management Platform. We know Sentiment is important for understanding unstructure...

By Martin Mumford


Teaching Machines to Read Emails: Feature Selection

In my previous post, I laid out the design for the ticket topic prediction model used at Qualtrics. This system sorts incoming support emails into different topics which are then used to route emails ...

By Zach McDonnell

The Crystal Language: A Promising Newcomer

A brief look into the new and promising Crystal programming language. Historically, when choosing a language for a project, it seemed that one of the major questions you had to ask yourself was: D...

By Sam Eaton


Writing Emails with Machine Learning

  Although I am currently a software engineer, I started at Qualtrics helping clients as a support representative. After a year of answering hundreds of phone calls and writing thousands of em...

By Zach McDonnell


Vert.x DynamoDb Client

Introduction This post explores writing a Vert.x DynamoDb Client to leverage asynchronous and non-blocking I/O and programming style. The Java language and core library support for asynchronous progr...

By Ville Koskela


Designing a Scalable Data Platform

Qualtrics is growing rapidly both in terms of our number of clients and their volume of data. With more data we can provide more powerful insights, but we face technical challenges because of the shee...

By Peter Brown-Hayes


Characterizing your system’s behavior using design of experiments

Have you ever run into a situation where you need to predict or control an output, but don’t know where to set your system’s knobs appropriately? And you need to know how to set them before launch...

By Jeffrey Starr


Startup Software Engineering Internship… in Provo, Utah?

Let me tell you something. I did not expect to see myself taking a software engineering internship in Provo, a city many people I know don’t even recognize. I’m just a suburban boy from Illinois w...

By Berwin Xie

Help us create stronger products and better solutions for our customers

Join Us