AI Engineer Code 2025
What We Learned Deploying AI within Bloomberg’s Engineering Organization
Read the talk
Deploying AI Across Bloomberg’s Engineering Organization
AI can produce code faster than an organization can review it. Bloomberg’s deployment experience connects maintenance agents, shared infrastructure and training to the work of improving software.
From a talk by Lei Zhang
Before you start: Familiarity with pull requests, automated tests and production incident response will help; MCP and the shared platform components are introduced in the article.
Where does AI help an engineering organization this large?
How do you use AI to improve engineering when your responsibility spans data centers, connectivity, developer productivity, SRE tooling, telemetry and incident response? That is the scope of Lei Zhang’s Technology Infrastructure organization at Bloomberg. The problem extends well beyond helping someone write the next function: it includes keeping the infrastructure and software behind the Bloomberg Terminal reliable.
Zhang reports more than 9,000 engineers, mostly software engineers, and more than 500 employees focused on customer-facing AI products. Those teams build and operate the software that helps Terminal users make consequential financial decisions.
The technical estate is correspondingly varied. Zhang describes Bloomberg’s private network and JavaScript codebase as among the world’s largest. The Terminal itself supports thousands of applications, called functions: email, news, fixed-income price-to-yield and spread calculations, and trading workflows. Different functions require different technologies, so an engineering tool has to work across a heterogeneous environment.
Bloomberg also contributes to the infrastructure it uses, including KServe and Envoy AI Gateway. Against that backdrop, adopting AI internally becomes a practical question: where can these tools improve the work of building and maintaining a large software estate?
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Early gains, then the limits of generating more code
Bloomberg began exploring AI coding tools roughly two years before the talk. The number of available products made choosing a direction difficult, and the team did not yet know which capabilities would improve productivity and stability. It formed a dedicated team, released an initial set of capabilities and let engineers iterate with them. Deployment was a way to learn what the tools could actually contribute.
Developer-productivity surveys revealed a useful boundary. Engineers reported faster proofs of concept, test creation and one-time scripts, but the reported gains fell off beyond greenfield work. Generating something new was an obvious strength; improving an existing system was a harder problem.
Speed is both the benefit and the risk. In an estate containing hundreds of millions of lines of code, faster generation also makes it easier to accumulate software that someone must understand and maintain. Zhang tentatively describes complexity as growing polynomially or exponentially with software assets—a warning about compounding interactions, rather than a measured scaling law. The accompanying joke about vibe coding makes the same point: the ability to create more code does not establish that the additional code is worth owning.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
A patch ticket with a proposed fix attached
The next step was to broaden the target from coding to software engineering, including maintenance and migrations that developers often prefer not to do. Consider a patch ticket: instead of receiving only a request to update a piece of software, the engineer also receives a pull request containing the proposed fix and an explanation of why the patch takes that form. That is the workflow Bloomberg wants its uplift agents to support.
The agents scan the codebase, identify applicable patches and produce changes. Zhang describes broader deployment as an ongoing effort. Bloomberg previously used a regex-based refactoring tool, which worked within limits; he reports better results with LLM-based tooling, without giving a quantified comparison. The intended improvement is not simply more generated code, but a maintenance task arriving with much of its implementation work already done.
That proposal still needs deterministic verification. Tests and good linters provide checks independent of the model’s explanation. Where those checks are missing, a plausible patch can be difficult to apply with confidence. The rationale helps a reviewer understand the change, but it does not replace verification.
Zhang reports that average open pull requests and time to merge increased after AI-tool deployment. His explanation is that code production accelerated while people still had to review and merge the changes; he supplies no effect size or observation window. This exposes a bottleneck downstream of generation: producing a proposed fix is not the same as completing the maintenance work. It also shifts the engineer’s attention toward specifying what the change must achieve, rather than prescribing every implementation step.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Incident response needs connected evidence
Incident handling offers another way to improve both productivity and stability. Bloomberg is developing and deploying incident-response agents that can inspect code, telemetry, feature flags and call traces quickly. Zhang contrasts this broad inspection with a human responder becoming attached to an initial explanation. His description of an unbiased lens concerns that contrast with human fixation; it is not evidence that models are free of bias.
The organizational problem appears as soon as many teams pursue the same opportunity. Zhang offers an illustrative scenario: ten teams want to build pull-request review bots, while twenty want to build incident-response agents. Without coordination, each team can recreate integrations and solve overlapping problems.
For incident response, those integrations are central to the system. Model Context Protocol (MCP) servers connect agents to metrics and log dashboards, network topology, service dependencies, alarms, triggers and service-level objectives. These sources provide the operational context needed to investigate a failure. Bloomberg’s infrastructure and AI organizations therefore partnered on a paved path for building MCP servers, rather than leaving every team to construct its own approach.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Make experimentation easy and production deliberate
The platform model sits between two familiar organizational choices. At one end, business units can build their own infrastructure and accept responsibility for it. At the other, teams must use a tightly abstracted central platform. Bloomberg takes an intermediate approach: enablement teams provide a preferred path that makes the right actions easy and the wrong ones difficult.
The paved path separates three needs: choosing a model, finding an existing integration and shipping a tool.
| Component | What it provides |
|---|---|
| Model gateway | Quick experiments, usage visibility and model-selection guidance |
| MCP directory or hub | Discovery of existing servers and potential collaborators |
| Platform as a service | Tool development, deployment and runtime hosting |
The gateway lets teams explore which model fits a problem while giving the platform organization visibility into usage. The directory makes duplication easier to avoid: a team can discover an existing MCP server and partner with its owners. The PaaS supports the software development lifecycle and runtime, including authentication and cybersecurity responsibilities. Those security capabilities belong to Bloomberg’s platform; they are not automatic guarantees of MCP. Zhang does not identify the complete internal platform implementation with the open-source gateway project mentioned earlier.
A proof of concept and a production service should face different requirements. Bloomberg wants demonstrations to be easy because freedom to try ideas encourages creativity. Production requires quality controls because stability and reliability are core business requirements. Zhang describes this paved path as deployed for the broader engineering organization: a shared way to experiment and operate tools, not a requirement that every team build the same agent.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
New hires carry new practices into existing teams
Tools and infrastructure address only part of adoption. Bloomberg also used an established organizational strength: an onboarding program that Zhang says has operated for more than twenty years. It prepares both entry-level and senior hires before they join their teams. AI coding instruction was added to that program, alongside guidance on using the tools with Bloomberg’s principles and technologies.
The mechanism is social as well as educational. New hires learn a practice before inheriting a team’s existing habits. When they join, they can ask why the team is not using the approach they just learned, prompting even senior colleagues to reconsider their workflow. Zhang describes onboarding as an effective change mechanism and reports greater familiarity and comfort with the tools, along with a more nuanced understanding of where they add value.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Coordinate across teams, then close the leadership gap
Bloomberg’s champ and guild programs provide another existing route for adoption. These communities bring together people with shared technical interests across organizational boundaries. Zhang says the programs have existed for more than ten years; Bloomberg used them to bootstrap an engineering AI productivity community roughly two years before the talk. Bringing interested engineers together supports shared learning and helps teams discover overlapping efforts organically.
The communities also help turn shared interests into completed work when team priorities differ. A requesting team may need a capability that a platform team cannot prioritize immediately. Bloomberg uses two approaches:
- InnerSource contributions: Engineers contribute to another team’s software to help deliver the needed capability.
- Visiting engineers: An engineer temporarily joins the other team, potentially for six months or a year, to complete the work.
Both approaches give a team a way to help build what it needs instead of depending entirely on another team’s backlog.
Adoption is not evenly distributed through the organization. Zhang reports that internal data shows stronger AI adoption among individual contributors than among leadership. He gives no numerical rates. Technical leads and managers may therefore be guiding teams without enough practical experience of the tools those teams use. Their existing engineering knowledge remains valuable, but Bloomberg is rolling out leadership workshops to fill the missing experience and help leaders guide development effectively.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Revisit which engineering work is worth doing
Generative AI changes the cost function of software engineering. Some work becomes cheaper, while other work becomes more expensive, changing the decision about whether a task is worth undertaking at all. That is the opportunity Zhang finds most exciting: engineers and engineering leaders can revisit decisions whose economics have changed, rather than merely accelerate the workflows they already have.
The deciding criterion remains the quality of the resulting engineering. Cheaper implementation creates room to reconsider what should be built, maintained or improved, but it does not choose those goals. Zhang closes by asking engineers to return to basic principles: what constitutes high-quality software engineering, and how can these tools serve that purpose?
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
Source code and documentation for deploying machine-learning inference services on Kubernetes.
An Envoy Gateway-based project for unified access to generative AI services, with documentation and quickstart links.
The June 2025 protocol revision explains how applications connect to external context and tools, including implementation responsibilities for consent and access control.
Further reading
- From KFServing to KServeArticle
The project’s renaming announcement explains its origins, including Bloomberg’s participation, and its model-serving goals.
A project partner explains shared LLM routing, authentication, token limits, and usage visibility.
Read the complete timestamped transcript
- 0:00
[upbeat electronic music] I don't have a joke about the dog.
- 0:22
I only have a joke about the, uh, hot dog data, so I would just jump to the topic right away. Um, so my name is Lei. Um, I lead the, uh, Department of Technology Infrastructure in Bloomberg.
- 0:33
So we're basically a group of technologists focused on global infrastructure. Think data centers, connectivities, um, developer productivities, uh, think SRE tooling, and also our reliability solutions.
- 0:48
Think telemetry and incident responses, right? So, um, depends on the audience. Sometimes, uh, you know, you're familiar with what Bloomberg is, sometimes you don't. So I thought it might be a good idea to talk a little bit about, about our company.
- 1:03
Um, so there's no better way to talk about our company by sharing some numbers. I wanna highlight a few numbers. We have more than nine thousand engineers, and most of them are software engineers.
- 1:14
Uh, we handle a lot of market ticks, uh, which in the billions and six hundred billions, I believe. And, um, we also have tons of fo-folks, uh, focused on AI research and engineering.
- 1:27
So we have, uh, more than, uh, really today's five hundred plus em-employees focused on AI products, uh, for, um, sort of our customers. So takeaway here is we are, I guess, you know, building a lot of software and use a lot of data to empower our flagship product, which is called the Bloomberg Terminal, and to really support
- 1:50
our users to make the most important fi- decisions for them to do their job, uh, the best.
- 1:59
Um, in the technical lens, um, a lot of time kind of need to explain that we actually have one of the largest private network, uh, in the whole world.
- 2:09
We also have one of the largest JavaScript code base, um, in the world. Um, we-- Because the domain we're in, uh, so the Bloomberg Terminal is really, you can think of a, um, software that supports thousands of different applications.
- 2:26
Uh, we call them functions, right? Um, email is a function. Uh, news is a group of functions. Um, let's say fixed income, price to yield calculation to spread calculation is another function.
- 2:41
Um, trading workflows is another group of functions. So there's many, many, many different type of functions. As you can imagine, we kind of have to utilize different technologies to really support those, uh, functionalities.
- 2:54
Uh, we also been s- increasingly more than use, but also contribute to open source communities. Um, for this audience, I guess I wanna call out, you know, we've kind of helped creation of the KServe, En-Envoy AI Gateways, and among many, many other things that, that we deploy in-house and support the communities.
- 3:14
Again, in summary, there's a lot of software, there's a lot of data. Uh, we kind of have to, um, figure out how to make the best of AI tooling to support us to do our engineering work.
- 3:26
All right, so get to what is AI for coding. Um, we start about two years ago, maybe a little bit more than that, um, and as I guess the rest of the world, we look at the toolings provided and, you know, I apologize if your, if your logos are not here.
- 3:46
Um, but I-- as you can imagine, it's kind of, like, overwhelming, right? There's so many things, and every day there's news about this is great, this is great. Um, so at the time, we actually didn't know what
- 3:58
all the AI solutions can help us to, uh, boost our productivities as well as stability. But one thing we knew at the time is, um, unless we deploy and try, we wouldn't know what's the best way to benefit from all the awesome work and, and, you know, a lot of folks are contributing to.
- 4:21
So at the time, uh, we quickly formed a team, people start
- 4:26
kind of like release, um, kind... a, a set of capabilities so that people start iterating on, um, utilizing the toolings. And then, of course, you know, we are a data company, so kind of wanna get a sense of how we measure the impact and, um, what we can do from the capability we provide, right?
- 4:46
So we look at the typical developer productivity measurements. We ran a few survey. Uh, it was very obvious that people felt like there's much quicker, uh, proof of concept.
- 4:59
People roll out tests. Um, there's a lot of one-time use scripts being generated. And then the measurements dropped actually pretty quickly when you
- 5:09
go beyond all the greenfield type of thing, right? And then, then we start thinking like, okay, so what are the things that we should really be doing using all these wonderful things so that we can really make a dent, um, in the, in, in the space?
- 5:27
And then at the same time, we also kind of like also be thoughtful of, um, unleash a very powerful tooling, right? Uh, the, the benefits is, it's very fast.
- 5:40
The challenge is also it's very fast, right? Um, for any of you who actually dealt with hundreds of millions of lines code, you probably understand the system complexity is a at least, um, exponential or at least polynomial, I guess, function of your line of code or software assets, right?
- 6:04
So at some point, you kind of want to be very careful, uh, what you do with your software assets.
- 6:10
And what we thought, so maybe we should look at some of the basics. One idea we had is, um, all right, so AI for coding, there's a narrow definition of what coding is, but there's also a broader definition of what software engineering, right?
- 6:24
And then maybe we can also look into some of the work our developers don't really prefer to do. For instance, um, some maintenance work, some of the migration work, some of the, I don't know, maintenance work and stuff like that.
- 6:41
So I want to give some examples of the things that we've been trying and we think there's pretty good return on investment.
- 6:48
So the question we ask ourselves is how do we evolve our code base, right? Uh, the first one is, all right, wouldn't it be cool, uh, the day you get a ticket saying, "Hey, you know what?
- 6:58
This piece of software needs to be patched," and at the same time you have a pull request with the fix, with a patch, and also with the thinking of why the patch happened that way, right?
- 7:09
So it's kind of like we're trying to, uh, broadly deploy something called uplift agents. Um, broadly scan through our code base and figure out what patch would be applicable and be able to apply this patch.
- 7:23
Step back a little bit, we did have a regex-based refactoring tool. Um, it works to some extent, but it's limited. Right now with, um, our LLMs and the other tooling, so we are able to, uh, see very much better results from the, um, uplift agents.
- 7:39
So there are a few challenges in case you also plan to deploy such capabilities. The first one is,
- 7:46
I guess, any AI or ML, it would be really nice if there's some deterministic verification capability. Uh, oftentimes it's not so easy, especially if you don't have test cases, you don't have good linter.
- 7:56
If you don't have good verification, the, the, the patch can sometimes be, uh, uh, difficult to, to, to be applied.
- 8:05
And, uh, one thing we also realized when we deploy AI tooling is the average open pull requests increased and time to merge also increased, uh, because you're spinning a lot of new code and then still we have to review the code and merge the code, right?
- 8:21
So time to merge become a challenge sometimes. And the last one is, um, I think it applies to any gen AI thing is the shift becomes what do we want to achieve rather than how we want to achieve, right?
- 8:33
So, the second example that I, I wanna share is, uh, the other area that people kind of like sometimes im- really impact our productivity in a negative way or impact our stability in a negative way is how we handle instance.
- 8:49
So we're trying to develop and then deploy, um, instance response agents. Um, now
- 8:58
the importance of this is if you really think about gen AI tools, it's really, really fast and it's also unbiased, right? In my instance, it can go through your code base really quickly.
- 9:11
It can go through your telemetry system very quickly. It can go through your feature flags very quickly. It can go through your, um, I don't know, call traces very quickly and in an unbiased lens.
- 9:22
When we do troubleshooting, sometimes we have this biased view. It's like, "Okay, it must be this." It turns out to be not the case. So there's many, many interesting benefits, um, by, uh, deploying agents from this perspective.
- 9:37
And then the second question is, become interesting is imagine you have organization of ten thousand pe- um, let's say nine thousand people as I described. A lot of people are trying to fix those problems, right?
- 9:49
And you have ten teams who wants to build a pull request review bots. You have twenty teams who wants to build a incident response agents, right? They become very quickly chaotic and sometimes can have duplications.
- 10:05
So before I talk about the paved paths, I'm gonna give the example of the, uh, incident response agent. So basically this is what, you know, a incident response agent will look like.
- 10:17
Um, the key part is we're gonna need to build a lot of MCP servers to connect to the, um, the metrics and logs dashboards you have, connect to the topology you have, whether it's network topology or it's the, um, your service dependency topology, uh, your alarms, your triggers, right, your SLOs.
- 10:37
And then we kind of don't want people just start building MCP servers, uh, without a paved path. So we created a paved path in partnership with our AI organization, and I will talk a little bit what that means.
- 10:52
Before that, um, I do want to explain a little bit some of the platform principles.
- 10:59
Some company allow teams to be, have a lot of freedom as at, at the same time responsibility. In a sense, a business unit can build whatever infrastructure, whatever platform.
- 11:10
Um, some organization have a very, very strong, tight abstraction of the service infrastructure and typically kind of have to use their platforms, right? So Bloomberg is kind of in the middle.
- 11:22
If you look at the golden ones, we kind of believe in provide a golden path, um, with enablement teams. So, so my team is really a enbal- enabling team.
- 11:35
And one of the guiding principle for us is we want to make easy things extremely easy to do. Uh, sorry, the right things extremely easy to do, and we wanna make sure the wrong thing is ridiculous hard to do.
- 11:47
So that's the guiding principle here. Now, move on. So what is the paved path here? So the paved path is, uh, we have a gateway so that teams can easily figure out which model works the best.
- 12:00
They can do quick experiments. They can, um, we can have visibility of what kind of models are being used, and we can also guide through teams which model should, is a better fit for the s- for the problem they want to solve.
- 12:12
Uh, we have a tool discovery, uh, basically MCP directory via hub so that y- let's say team A wants to do something, they will go to the hub, they will, okay, someone's building an MCP server already, maybe I should partner with them to build it together, right?
- 12:26
Uh, tool creation and deployment is via a pass. Uh, it's basically a, um, you know, a, a standard platform of service where you can do your SDLC and, and we provide runtime environment for you as well, taking care of all auth and cyber things as well.
- 12:41
So it really reduce the friction of, for, for teams to, to deploy, um, their MCP, MCP servers.
- 12:48
And then the, this is kind of in- interesting is we want to make demo very easy so that, or actually we say proof of concept very easy so that people can try have idea generation, uh, because we believe in creativity come from some freedom of try different new things.
- 13:05
But we also want to make sure the production requires some quality of the control, um,
- 13:12
because at the end of the day, stability and system reliability is, is at the core of our business. This is sort of the pay path that we deployed, um, and enabled the rest of engineering, really the nine thousand software engineers, to do their job.
- 13:27
Okay. And, um, with all this, and then we start maybe, okay, yes, we've got pa- uh, pay path, we have some good ideas of how to evolve our code base.
- 13:39
How about our people? Right. Um, now this is where I find that
- 13:47
any new things, any adoption of new things provide opportunity to leverage the strengths you have and also identify the, some of the weakness that you may have. So, um, in Bloomberg, we have a well-established training program.
- 14:01
Uh, it's more than twenty years. So there's onboarding training, depends on entry level, it depends on senior level. Um, so we have this whole training program to prepare folks to, uh, before they join a team.
- 14:12
And what we did is we just incorporate AI coding in onboarding training program and also show them how to best utilize them with our principles and our technologies, right?
- 14:23
There's a huge benefits here because, um, if any of you run into the challenge of adoption somehow run into a chasm, right, the rest of org is not, uh, adopt as quick as possible.
- 14:34
Whenever we have folks join a company, they learn how to do things in new way that when they go back to their team, they were like, "Hey, why don't we do that?"
- 14:41
Right? They're gonna challenge the, some of the senior folks as well to say, "Hey, there's a new way to do this type of things, so why don't we do that?"
- 14:47
So we actually find this program extremely effective, uh, to be a change agent for anything we want to push out.
- 14:55
And then bunch of results. There's a lot more famili- familiarity and comfort with the tooling. Um, and also the, the important part is there's a lot more nuanced insights of where it's add value, right?
- 15:08
The second one is, um, oftentimes we run organization to push, uh, new initiatives. So within Bloomberg, we have something called, um, a champ program and a guild program. That's basically across organizational tech communities where people have similar interests and similar passion.
- 15:27
They get together and get stuff done. So, um, we had this for more than ten years now. Uh, we sort of bootstrapped engineer AI productivity community two years back, leveraged the, the community we have already, and then have some few results.
- 15:44
Um, because we have this, pretty much everyone passionate about this and will be in that community, so
- 15:50
organically it deduplicates efforts and there's shared learning, uh, shared learning happening.
- 15:57
And it also helps to boost inner source contributions and the viz engineer idea, right? Oftentimes team A wants to do something, team B, let's say a platform team, have different prioritization, and the way we solve this is via inner source or via visit engineer, which is move someone over the team, work for six months, a year, get
- 16:15
it done, and then we can move on. Um, the last one is interesting. So our data shows individual contributors have a much better, stronger adoption than our leadership team.
- 16:28
Now, if you think about this, a lot of software TLs and managers,
- 16:34
in the age of AI, they kind of don't really have, um, enough experience to truly guide their teams to build software, right? So oftentimes the stuff that they learned before might not be exactly applicable.
- 16:49
It's still very valuable, but there's some missing piece there to make sure they can continue to guide the team to do the right thing. So we're rolling out leadership workshops to make sure our leaders are equipped with whatever knowledge they need to have to drive the technol- um, innovation.
- 17:05
So, um, I'm going to close my part and to share with you what, uh, the, the part I'm, I feel most excited about. The part I feel most exci- uh, most excited about is that with a lot of, um, creativity and innovation in the gen AI space, it actually changes the cost function of software engineering,
- 17:29
meaning the trade-off decision of whether we do something versus we don't do something actually changes because some of the work become a lot cheaper to do and some work become a lot more ex- expensive to do.
- 17:41
I tend to think it is a great opportunity for engineers and engineering leaders to get back to some of the, uh, basic principles and sort of ask a soul-searching question, "What is a high-quality software engineering and how can we use a tool for that purpose?"
- 18:00
So that's it. Thank you very much. [audience applauding] [upbeat music]