This is a conversation with Justin Johnsen, KPMG’s lead technical architect, edited and condensed for clarity.
I joined KPMG six years ago and have worked as a forward-deployed engineer for roughly a year, supporting various clients.
When I began at KPMG as a software engineer, every line of code was written manually.
I studied computer science, built my career in architecture, and later moved into consulting and client-facing work.
A forward-deployed engineer works directly alongside a client, remaining involved from identifying the business need through delivering a functioning solution. We collaborate closely with client teams, often from their offices.
A significant part of my current work involves AI. The technology is highly capable, but its quality depends heavily on the context it receives. Much of what I do is collecting the information AI needs to produce useful assets and artifacts, then applying those outputs across client deliverables and software applications.
I also coach client teams on using AI effectively, helping them combine technical expertise, business knowledge, and clear communication to strengthen and expand their work.
For one client, I was originally hired to connect several applications into a complicated software system. After months of collecting requirements and refining the context, we used AI to deliver the application in about a month.
The client wanted to know how we had progressed so quickly and why the process had been so transparent. It then asked me to help its teams adopt the AI and prompting practices that enabled the work.
AI has made it easier for me to multiply my output and, in a way, operate as my own enterprise. I can keep context across several clients and projects at the same time. Software development and coding used to be the main bottleneck; now, the challenge is gathering context and sharpening intent before development starts.
One recent application I delivered focused on risk scoring: using AI to evaluate how risky a customer or partner might be for a client to work with. We brought together the signals used to measure that risk, then had AI reason across them and generate a score. Independent reviewers could subsequently use the AI-generated score in their assessments.
I have noticed a recurring shift toward the data and integration layers of software development. Many enterprise problems come down to helping AI interpret data, combine information for monitoring and visibility, and uncover value from information scattered across legacy and cloud applications. A large part of my work involves aggregating substantial volumes of data, using AI to reason about it, and linking systems that do not naturally communicate with each other.
Working on-site has genuine benefits. Conversations happen more naturally, and it is easier to read body language and emotions in person than through Teams. Some clients work remotely, but when their teams are in the office, I am usually there as well.
A forward-deployed engineer provides more than a conventional software handoff. In a traditional implementation, a systems integrator may collect requirements, build the software, and return it to the client, which can create a “throw it over the wall” dynamic. I have seen plenty of poorly executed Salesforce implementations.
By working directly with client teams while developing, training, and coaching them, I can transfer knowledge in real time. The client receives not only the application but also the best practices, documentation, and artifacts needed to adopt it.
AI gives me more time to define problems and make important decisions instead of spending that time on repetitive, routine tasks. It lets me focus more on work that requires human judgment.

