From the perspective of the team at Alteryx, there is one thing enterprises need to stay competitive: quick access to critical knowledge.
That’s what excites them about their newly released product, Alteryx Analytics Cloud. “The more quickly users gain access to key business insights, the more quickly they can react and pivot their businesses,” said Software Engineering Manager Tom Lee. “Knowledge is power, and I consider that the biggest impact this product has on customers.”
Alteryx has helped data professionals simplify business processes since its inception in 1997. After beginning work on the end-to-end offering three years ago, the company rolled Analytics Cloud out to customers earlier this year, enabling users to access their data from anywhere: on-premise, in the cloud or a combination of both.
Using automated analytics, cloud data engineering, auto-insights and automated machine learning, Analytics Cloud has been used to perform important data-driven tasks, such as tracking the spread of Covid-19. Yet the solution’s impact extends beyond its outcomes. The fact that the product is simple and convenient to use makes it a major win for users.
“Rather than installing desktop software on 1,500 laptops in their organization, our customers can simply flip a switch and roll out our product to 1,500 employees,” Lee said. “That’s really powerful.”
AUTONOMY MEETS EQUITY
Analytics Cloud’s simplicity doesn’t simply stem from its cloud-based nature. Lead Product Manager Michelle Klaer emphasized the fact that the solution — along with the platforms within the suite, such as Designer Cloud — is device-agnostic. In her mind, this inherent accessibility, coupled with high-level data capabilities, makes scaling and empowering analysts a real asset to customers.
“Designer Cloud empowers organizations to go through their analytical journeys and make breakthroughs,” Klaer said. “The product ultimately enables organizations to connect to their data, gather insights, and make quick changes and propel their businesses forward.”
Ultimately, all of the hard work and process changes that went into developing Alteryx’s latest solution will make it even easier to innovate in the future. Lee noted that creating Designer Cloud compelled the company to forge new technical paths. He and the engineering team dove headfirst into the nuances of cloud-based software, which entailed learning more about DevOps and embracing continuous integration and continuous delivery.
According to Klaer, the offering that the company’s cloud teams have built also serves as a strong foundation upon which new features and products can be introduced. “This gives us a launching pad as we enhance our technology and offerings down the line,” she said.
This thought process is emblematic of the focus that Alteryx’s leaders place on internal growth. While technologists who join the company have ample opportunities to pursue exciting technical work, they also have the chance to develop new skills in the process, which is a characteristic of the company Lee cherishes: “We help position individuals in a place where they can grow.”
Below, Lee and Klaer describe the development of Alteryx Designer Cloud, the lessons they learned throughout the process and the growth opportunities available to tech professionals who join their teams.
Walk me through the engineering work that went into creating the Alteryx Analytics Cloud.
Lee: Alteryx Analytics Cloud is a suite of products that share a common platform and infrastructure. We built those platform microservices using Node.js and other technologies and deployed them in a typical multicloud architecture powered by Docker and Kubernetes. We use Helm and Argo CD for infrastructures, code and deployment management. I spend most of my time working on Designer Cloud, which is one of the platforms within the Analytics Cloud suite. Our customers use it for their end-to-end analytical journey, which ranges from data prep and blend to analysis and reporting. We built it as a single-page React application with TypeScript. It talks to our platform services over HTTP on a REST API in order to perform actions, such as authentication, file management and data processing. We use Redux and the Saga design pattern for state management, and we leverage a component library, which is based on Material UI.
We’ve also taken automated testing very seriously since we first started developing the product. We have about 90 percent test coverage and additional layers of automated testing on top of that. In terms of technical debt, we’re always addressing it without letting it build up, which makes our entire code base very resilient. This enables us to refactor with confidence and gives us time to follow the best practices that most developers wish they could follow. At a lot of companies, engineers aren’t given enough time to follow best practices. Here, we prioritize getting things right.
Describe the product team’s approach to building solutions. How does this strategy benefit users?
Klaer: We ensure we’re aligned on our priorities and tasks as we move forward. We continually test and validate that our customers’ requirements are being met. Additionally, we constantly aim to understand and articulate our requirements, which means we’re continually innovating and trying to understand market needs and how they may change in the cloud. We’re working to understand where we need to grow and evolve using that data, which enables us to make the best decisions going forward. We pair these insights with our experienced research and UX groups that help decide on the best surveys and prototyping tools to use to receive the most effective feedback. We do all of this to get closer to our customers and gain empathy, because we want to create products that solve their biggest problems. We adhere to Agile methodology and CI/CD, yet we also focus heavily on user-centered design and ensure we’re using pragmatic marketing principles as we bring this product to market.
POWERING PRODUCT VISION
What challenges did your teams face throughout the process of creating Designer Cloud?
Lee: I consider myself lucky to work alongside engineers who make hard work look easy. We had our fair share of small speed bumps, but we never encountered any major roadblocks. Our biggest challenge has simply been the fact that Designer Cloud is a very complex application with a lot of surface area. Given all the different user interactions, theres a lot of complex orchestration of events and side effects happening below the surface. We had to approach that complexity by being very intentional about our architecture. Most of our complex state management is within one specific area of the application. As a team, we realized it needed to be that complex, so we invested in documentation and automated testing.
Klaer: I agree; with the many experienced, talented individuals collaborating on this project, we didn’t have too many challenges. The fact that our customers love our products energizes us and fosters a focus on teamwork. We continuously work on strengthening communication, as we want to ensure transparency and iteration. Technology is always changing, and we’re continually adapting.
What engineering processes changed due to the development of Designer Cloud?
Lee: When we began this project more than three years ago, we were forging some new paths. Alteryx had been primarily focused on building desktop software. Developing cloud-based software is quite different. Adopting a CI/CD mindset has transformed most aspects of the business. Being able to release features whenever we want, rather than quarterly, enables us to identify and remove process bottlenecks. This creates better outcomes for our customers, because they’re receiving our software more quickly. The technology landscape in the cloud space changes quickly, so we never stop learning lessons.
In addition to driving technological transformation, what other growth opportunities are available to technologists at Alteryx?
Lee: Alteryx focuses on career mobility more than most companies do. Engineers take part in “lightning talks,” which allows each team to be autonomous and dig deeper on technical topics. The company also hosts quarterly “innovation days,” which allow developers to spend five days working on side projects, which they will then demonstrate to the senior leadership team. Employees can take their careers in almost any direction.
In terms of engineering, Alteryx doesn’t silo developers into arbitrary delineations. We hire a lot of full-stack engineers, and we allow them to choose to focus on the front end or back end, depending on their interest and the needs of the team. Our engineering teams are flexible and make a point to allow team members to stretch their skills and leverage different technologies. There’s a lot of movement between the teams, so engineers can start out working on the front end and eventually begin leveraging Kubernetes if desired.
“At a lot of companies, engineers aren’t given enough time to follow best practices. Here, we prioritize getting things right.”
Klaer: The product department offers similar flexibility and movement. Leaders are very supportive and partner with employees throughout their career growth journeys, whether that entails learning to demo products to customers or venturing into different product areas to learn about a new domain. Stretch opportunities exist everywhere, and I’ve never seen a team member shy away from taking them on. Employees feel really comfortable asking to take on new assignments and are empowered to move about and explore new tasks and domains. Given the company’s employee-centric culture, team members can talk to anyone within the organization. We aim to foster collaboration and alignment across our product teams, which meet on a weekly basis to share insights, best practices, lessons learned or new concepts being explored. It’s been amazing to connect across our teams, share ideas and move our department forward.