In the sixteen years since he left Rice University, John Bachir (B.A. in CS ’02) has co-founded two startups and worked for three others.
He said, “I matriculated in 1998, and was hooked by the mystique of the dot com boom. I was into the idea of startups and creating new things with technology, so I followed my curiosity and went from project to project, becoming a leader with bigger and bigger teams.”
Bachir currently leads a team of web and mobile developers that is twice the size of his previous group, and his focus is now less product-related and more attuned to system design and the process of crafting the software. But he remains captivated by emerging technology applications.
He is the director of engineering for Healthie, a company that connects dietitians and other wellness professionals with their clients. Their product fills the gap between traditional healthcare workflow processes based around patient-requested visits, and nutritional healthcare that requires an ongoing, often daily, exchange of information and support between the provider and the patient.
“Healthie found impressive product-market fit early on and grew quickly,” said Bachir. “The early tech leadership team did a great job evolving the product and hiring bright talent. Then they needed someone with senior leadership experience in areas like software engineering methodologies and scaling and evolving systems over time. That’s me.
“In addition to making the day-to-day software engineering process more effective, I’m mentoring our developers in the craft of writing software, and ensuring the design of our systems is easier to change and scale. Although I am not as focused on the product level as in my previous companies, my experience in smaller startups –where I was starting teams and systems from scratch– was a big part of why I was a good match for this role.”
He spends about one-third of his time gardening the workflow and another third mentoring junior developers and reviewing their code. That leaves one-third of his week for writing code to improve the system. He enjoys the combination and derives satisfaction in keeping software quality high, but hopes to spend more time writing code as the workflow gets ironed out.
“Switching context can be challenging at times. I’ll be hunkering down and writing code, then flip over to the management side and tackle higher level tasks,” said Bachir.
“For software quality to be high and delivery to remain steady, developers have to be happy, communication has to work well, and work has to be deployed to production regularly. It’s all about the flow. Making sure that work doesn’t stop and the developers are happy is more important than trying to make development happen as fast as possible. Burnout is a much more expensive problem than lagging product development.”
One of his secrets for keeping the flow going is to ensure his team is working on the right things at the right time, using a process he calls ‘backlog management.’
“It’s a term for how we review tasks, ideas, bugs, and feature requests and go through a process to spec out each item. After reviewing its technical complexity and priority, decisions are made to determine the order of work. It’s actually very important to learn to get this right, and it’s a big win once everyone trusts the process.
“Trust develops when everyone on the team understands the process, participates in the process, and owns it because that is how each person knows what type of work is represented where in the flow.”
He has also learned to leverage the trust he earned with former co-workers. In his three most recent companies, Bachir joined people he had known in other organizations.
“Staying in touch with colleagues you enjoy working with isn’t just about finding opportunities in the future, it also helps you find positions that are a good fit. Working with people whom you already trust and respect is valuable to the workers and also to the organization,” he said.
Before joining Healthie, Bachir connected with a former colleague to scale up Freedom, a service that helps its subscribers maximize their productivity by blocking Internet access during customized blocks of time. Bachir worked with Freedom’s founder, Fred Stutzman, on a different project in 2005 until their paths diverged.
“Ten years later, Fred contacted me about being the CTO of his startup. It was an interesting product that he’d developed for his Mac, so he could get his work done in grad school. After he posted it for free on a website, it had a lot of downloads and he realized he was on to something. As the product grew, he needed more experienced leadership on the technical side and got in touch with me,” said Bachir.
Freedom’s primary product is an Internet and social media blocking service that subscribers self-schedule –for example, between 9:00 a.m. and 5:00 p.m. The symmetry of subscribers’ blocking sessions means Freedom pushes out scheduled on and off notifications in a pattern of spikes, often at the top of the hour.
“Notifying our customers’ various devices [that the block had begun or ended] generated huge spikes for us,” said Bachir. “Software engineers are accustomed to dealing with resource usage spikes of, say, 10X or 100X. At Freedom, it was more like 1,000X or 10,000X between the top of the hour and their low-traffic times. How to deal with these spikes and push out notifications effectively was something we were constantly working to improve.”
Finding new ways to improve existing services and developing new features or apps continues to fascinate Bachir. He said the nature of software engineering is to be creating something new, often with new tools and technologies and project requirements that seem to change constantly.
“Almost everything software engineers work on is something that hasn’t been done before,” said Bachir.
“Curious people are constantly exploring what’s possible, what’s good and bad about previous solutions. Because we’re working on things that haven’t been done before, it’s difficult to estimate up front how long it will take. That makes our work exciting and frustrating at the same time.”
John Bachir completed his B.A. in Computer Science at Rice University in 2006.