After working for early-stage startups with engineering teams of less than 20 people his entire career, Quang-Minh Hoang made a leap that surprised even himself.
Last year, he joined Optimizely’s 100-plus person engineering organization, which is split between Austin and the company’s San Francisco headquarters.
Despite the miles of separation and a noticeably larger team, Hoang said he’s felt more heard at Optimizely than at previous companies he’s worked for.
“I’ve worked at companies where even though teams are located in the same building, they don’t talk to each other,” said Hoang, a senior software engineer. “Here, everyone’s involved with the communication in the beginning and people step up. No one goes unheard.”
Optimizely employees said the company encourages collaboration by keeping everyone connected and up-to-date by using Slack, video conferencing and technical design documents that go out to all engineers regardless of their affiliation to the project.
“I’ve been here for about three months now and our Austin office doesn’t feel like a satellite office,” said Lauren Wyne, another senior software engineer at Optimizely. “It really does feel like we are part of the same company and no one is kept in the dark.”
For a deeper look into Optimizely’s collaborative engineering environment, Hoang, Wyne and their colleague Derek Hammond, also a senior software engineer, cited how the two offices worked together for their new authentication tool.
Respecting the domain
In its current state, Optimizely’s solution, called Full Stack, provides businesses with software development kits (SDKs) for product experimentation and feature flags to improve website and app outcomes. Alaska Airlines, for example, used Optimizely’s experimentation tools to test messaging of its loyalty program and increased user signups by 18 percent, according to Optimizely’s website.
Part of Full Stack’s services includes an Optimizely-supplied data file, or configuration data, to use with different SDKs that clients can access via a key code.
When clients requested more security so that only trusted users could download and search sources, Optimizely’s developer experience pod drew up plans for an additional protected access token.
Soon after, a detailed design document went out to the entire engineering department.
“That’s when another engineering pod, our account services team which Lauren and Quang sit on, stood up and said this is actually something their pod should own and execute,” Hammond said.
Optimizely leaders re-evaluated and, in agreement, reassigned the project to the account services pod.
“I think a lot of companies would see that as encroachment, but that wasn’t the case here,” Hammond said.
Collaboration over coffee
The two pods split across San Francisco and Austin spent the next few weeks collaborating over conference calls, Slack and the design document to finalize the details and transition the project from one team to the other.
Initially, Wyne said opinions clashed on how to develop and establish distinct domain lines between teams. The rift was short-lived, however, after an engineering manager and product manager intervened to champion ownership and define domains.
“When they stepped up and put ownership to particular pieces of the project, we were able to move the project forward,” Wyne said.
Hammond said that the scenario speaks to the hierarchy of ideas at Optimizely. “There’s not a lot of ego in suggestions and people are willing to take that journey, switch ownership and accept changes,” he said.
A month after production began, the team finalized the API’s back-end infrastructure, which enabled an access token that validated and returned the protected data file request.
With milestone one in the books, the team is looking to check off the second milestone later this year when they launch an internal beta testing for clients.
The access tokens aim to increase security and privacy for Optimizely’s clients, which Hammond said will be a huge benefit for their Fortune 100 customers that conduct large scale testing.
Internally, Optimizely also has a lot to gain from this specific project, Wyne said. At the start of 2020, Optimizely’s engineering organization, comprised of more than 100 engineers, launched an effort toward creating solutions outside the company’s main monolith infrastructure.
Hoang’s and Wyne’s authentication project marks one of Optimizely’s first few services to live outside the monolith.
“The questions we’re answering now to create this will empower other teams to build out future services faster,” Wyne said.
The project uses new technologies, including the adoption of Cloudflare Workers, a content delivery network, and an internal auto-deploy tool to launch new services. “Our auto-deploy tool has simplified the steps it takes to set up new services,” Wyne said. “It’s now easy to create a developer and production environment and have an easy command to deploy.”
While the tools and technologies have been changing, Hoang said so has the engineering team’s mindset.
“There’s this collective direction to make things easier for everyone,” Hoang said. “We’re creating a blueprint on how to build new services so that the next engineer only has to spend 30 minutes on something instead of hours, days or even weeks.”
While 30 minutes might be the current goal, Hoang said Optimizely hopes to get to a point when that’s taken down to seconds, at the touch of a button.