At GoHealth, we are doing our best to provide our members with the most suitable insurance plans and offer our assistance both before they enroll, and as well as after their plan becomes effective. We’re working on optimizing and maintaining their insurance plans and products.

It means keeping on top of multiple aspects at the same time:

  • Keeping track of our member’s needs
  • Keeping our agents well trained
  • Providing our members and agents with reliable and accurate tools

The IT sector is evolving and so are the business requirements based on our customers’ needs. That’s why we’re trying to balance focus towards quality and high flexibility.

Software is just a tool

In recent years our own team has grown rapidly and that has been a driver of another evolution. We have applied various strategies and patterns to keep our business working efficiently and our customers satisfied.

We’ve evolved from a software company supporting our business to a service provider and member-care company supported by software systems. In short, we changed our view on how to develop software from the “starters” to the “finishers”.

From technologies to customer needs

Before we start working on solution implementations we always ask WHAT and WHY. Only after we understand this, we can design HOW. Eventually, this makes the lives of technology developers easier. It also makes our customers and business partners more satisfied.

Two developers discussing work.

Before and now

In the past, we would take a look at what competencies our teams had (Java or backend developers, Frontend developers, etc.) and we start implementing software that enabled business but was likely built without aiming to succeed/optimize our results in a particular objective. We would use the technology we understand or liked to work with and would not focus on how effective it was for our business.

But now, we are primarily focusing on our business. We are not trying to fit implementation to a certain technology of our technology stack, rather we’re trying to use tools and technology to cover requirements with our future plans in mind. Our software engineers are guided towards fully understanding business requirements and designing final or preliminary solutions to fit our needs.

To be a software engineer in GoHealth

The most important piece of software development is our engineering team. With software engineers, we do not distinguish between frontend or backend developers, nor between architects or designers of the software.

Software engineers as the base contributors of our teams are responsible for the full lifecycle of software development.

  • Analyzing business requirements — definition of WHAT and WHY
  • Defining architecture and developing design — definition of HOW
  • Implementation and collaboration with quality assurance
  • Delivery and maintenance

This creates the best environment they flourish in, which eliminates the risk of stereotypes. It also enables knowledge transfer between the teams. People do have their specialty and others should be able to learn from them. Really effective engineers are the ones with T-shaped competencies, having an excellent knowledge of any skill in a specific area, but also being good at working with others in a collaborative way. From time to time, we can change focus based on technology, specific service or application, or even business domain.

Important thing is that every software engineer of each stack in GoHealth, is also the owner of parts, services, or applications produced by the stack. So everybody is engaged.

A group of colleagues playing board games.

As mentioned earlier, our company has evolved a lot, so we have to coach and mentor our engineers as well. Not only because of the changes but because quality software engineers will produce quality software as a result. This leads to reliable and stable products supporting our business.

Everybody is involved

It is important to understand that such modification is not easy and takes some time, and we need to use proper mechanisms and new communication channels to be as apt in enabling it as possible.

Working and communicating more closely with the business, it’s necessary to always start with an analysis to better understand the WHAT and WHY aspects.

Continuing with finding an optimal way of HOW to achieve our goals. By creating architecture and design documents, receiving and providing critical feedback, and implementing. And by our technical leadership guiding software engineers on how to achieve the best results.

Software Engineer giving a presentation using a flipchart.

We are partners to our business providing feedback allowing flexible change of requirements based on shared knowledge and technical coaching. Both parties are fully involved and collaborate together.

To provide the best results, we need to listen and watch carefully. Listen to stakeholders to understand the WHATs and WHYs. And develop the teams so they can provide HOW.

Authors

Peter Sokolík - Principal Engineer

Peter Sokolík

Principal Engineer