Bryden Fogelman: On coding agents and finding meaningful work at Imbue

September 6, 2023
For this post in our Humans of Imbue series, I sat down to chat with Bryden Fogelman, a founding member of our research team. We discussed his early days, journey to Imbue, and how he found meaningful work building coding agents.

When I first joined Imbue and met Bryden, he struck me as a real jack-of-all-trades. An impressively versatile engineer, avid surfer, white water rafting guide, design enthusiast, cook/baker, and teller of stories through intricate Dungeons & Dragons campaigns, the breadth of Bryden’s skills and interests is vast.

Growing up in Vancouver, BC, Bryden spent his days building entire cities with Legos, inventing different characters out of Play-Doh and clay, and spending time in nature as a guide at his family’s rafting company. “I was a very quiet kid who got very into his hobbies, which still tracks today.”

Bryden guiding the “Meatgrinder” for his family’s rafting company in British Columbia, Canada. He first went down this rapid when he was 7 years old.

With his broad scope of interests, Bryden decided to study Engineering Physics at the University of British Columbia, which allowed him to explore different technical topics. The highlight of his time there was building a robot from scratch, which piqued his interest in software engineering. “I wanted to build the brains of the robot—that felt like the really interesting piece to me. I began to fixate on how I could control this robot. How does it make decisions, how does it understand the world?”

Bryden explores product engineering

After graduating, Bryden joined Tesla where he built tools to help the team iterate faster on designs. After playing this supportive role for a couple of years, he decided to search for “more opportunities to learn and collaborate with others”.

His job search led him to Sourceress, the ML-driven recruiting tech startup founded by Kanjun and Josh (our co-founders) before they created Imbue. At Sourceress, he started as a product engineer but quickly realized it wasn’t where his heart was. He went to Josh and said, “’I really want to do ML’”, to which Josh responded, “’Great, that’s all we’re going to do now!’”, marking the end of Sourceress and birth of the AI research company that would become Imbue.

“I was super excited. It’s exactly what I wanted. I was a little bit over product engineering and was more excited to go back to some of the stuff that was interesting to me while I was at university, like building the brain of a robot,” Bryden explained. “I also had a similar feeling to what Josh and Kanjun felt was missing from AI models and what we needed to do. We really needed models that actually understood the world.”

Bryden explores deep learning research at Imbue

As one of the founding members of Imbue (f.k.a. Generally Intelligent), Bryden played a key role in the team’s exploration of the most impactful questions to answer. With an unpublished project called Ball World, he explored building world models that are capable of solving tasks inspired by human cognitive milestones. With Avalon, he explored reinforcement learning applied to a wider variety of tasks. With CARBS, he explored ways to accelerate DL research through hyperparameter optimization. Each project had a common theme: understanding what was missing from existing models.

“I was really dipping my toes into research. I liked it a lot more than the product-style work that I was doing before, which was very execution-focused,” Bryden reflected. “We’ve gotten so good at building web applications, whether that be front or backend. We have a pretty clear idea of what needs to get done in order to make things.

“In this initial research, it was like, ‘Okay, this is failing and I have no idea why.’ So now we needed to think really hard about the different ways that we could attack this problem and figure out why these models don’t work.”

Bryden takes a step back

From my perspective, Bryden went from wading in the shallows of product engineering to being thrown into the deep end of DL research. After the initial excitement, he still felt that something was missing from his work. “Your throughput on what you’re doing is incredibly limited, and most of the time is spent on infrastructure work. It’s incredibly slow.”

Feeling burnt out from months of this kind of research, Bryden decided to take a step back to consider what he really wanted to work on. “One thing that I appreciate a lot about Imbue is that we give space for individuals to have lives outside of work and do things that they need to do to stay healthy. We value people at the core of the company, and that was one of the reasons why I felt like I was able to take that break.”

After a period of reflection, Bryden started to realize what was missing from his work, and Imbue’s research in general. “We needed to start building tangible and usable prototypes on top of these models. We should be exploring the limits of existing systems and start building intuitions around how it feels to use these systems in the real world.”

Bryden has a bright idea at Fun Friday.

Bryden builds coding agents

With a new sense of direction, Bryden spearheaded the search for use cases that could be built on top of existing models in order to shed light on what is missing from these models. After some exploration, the team decided that building coding agents on top of LLM’s was the right problem to tackle, for a multitude of reasons:

  • Coding agents are a tractable problem. “It’s been possible to build coding agents that do a surprisingly good job.”
  • Coding agents allow us to research novel interfaces. “It’s not just what does the UI look like, or is this a chat interface that’s on the right side of our screen with the text editor on the left. It’s questions like, how do we incorporate user preferences, or what is the right design of the underlying model that will like make users trust this system, or how important is latency and synchronicity. There are a lot of open research questions in regards to what that right interface is.”
  • Coding agents can be used by our team, today. “Internally, we’ve always been working on tools to improve our own workflow.” This not only accelerates our own research but allows us to seriously use the systems we build to deepen our fundamental understanding. “As I’m messing around with these different tools in my own workflow, I’m building intuition about the underlying models from looking at the results.”
  • Coding agents shed light on the underlying models. “It’s important for us to learn from actually using these models as much as we can. As we use them, we start building up this internal database in our minds of where things are working and where they aren’t.”

Through his coding agent work, Bryden discovered the balance between research and product engineering that he had been searching for. “There’s a bit of a misconception around product-focused work not being research. People associate it with the execution-focused app development of the past, but that’s not the case at Imbue. There’s a lot of focus on experimentation, there are a lot of unknowns—you need to test your hypotheses.

“Product-focused research also has a lot of plus sides. Your iteration speed can be a lot faster so you’re able to test more hypotheses, and you’re able to make progress faster. You can build something within a couple days and then actually start using it.”

Today, Bryden is building tools that feel useful for the internal team. One example is an agent that can automatically fix errors on the most commonly failed test in our build system. The test, aptly named test_types, runs mypy and fails whenever there is a type error in the code base. “One nicety about this problem is that its difficulty can vary greatly. Easy problems are self-contained to a given function, while harder ones require changes across several different files, functions, and classes.”

Bryden in the office, working on coding agents. Photo credit: Kelly Nyland.

On his journey at Imbue, Bryden reflected, “I started as an oblivious new grad and now feel that I’m at a stage in my career where I can spearhead large, mission-critical projects. There’s been a lot of technical and personal growth to get where I am today.” He attributes much of this growth to Imbue’s unique culture. “I think the biggest thing, the thing that compounds everything else, is the ability recognize an opportunity for growth and set out a plan to grow in that area. I’ve grown the confidence and the know-how to be able to learn how to do almost anything. Another way of putting it is that Imbue has supercharged my ability to reflect, introspect, and change.”

Imbue is actively exploring coding agents and other practical agents built on top of foundation models optimized for reasoning. If you’re interested in this work, we’re hiring!