Hey, I'm Phillip. I'm a Software Engineer living in Victoria, Australia.
I work for Red Hat on the Quarkus team, where I spend most of my time on developer tooling: the Dev UI, Chappie, Dev MCP and the Quarkus Agent MCP. I also work on MicroProfile and SmallRye.
I am a fan of technology, coffee and programming. I love dogs and music. To keep active I play squash. I was lucky enough to marry my best friend, Charmaine. She is also a geek.
I am an INTJ Myers-Briggs psychological type and have the following strengths:
- Strategic
- Analytical
- Deliberative
- Achiever
- Relator
My professional skills
I am an accomplished software developer and architect with experience in creating systems in various industries, ranging from banking, insurance, rewards programs, retail and mobile. I have extensive experience in full stack development, and prefer to be active in all parts of the SDLC, from conceptualising to running in production. I have a passion for clean code and evolutionary architecture. I love Java, Linux and open source.
Experience
Quarkus developer tooling
At Red Hat I am part of the Quarkus team. I work on the tools you use while a Quarkus application runs in dev mode. They started as tools for developers and now also serve AI coding agents.
Dev UI
The Dev UI is the web console for a Quarkus application in dev mode. It shows the extensions, configuration and runtime data of the running application and lets you act on it without a restart. Extensions add their own pages using web components and talk to the running application over JSON-RPC. I lead the development of the Dev UI.
Chappie
Chappie is the Quarkus Assistant. It adds AI to dev mode through the Dev UI and the CLI: help when an exception occurs, generated tests and JavaDoc, and explanations of your code. It works with OpenAI compatible services or a local Ollama, and it loads the Quarkus documentation for the version you are running so the answers have context. I started the Chappie working group in January 2025.
Dev MCP
Dev MCP is a Model Context Protocol server that runs inside a Quarkus application in dev mode. The Dev UI and MCP both use JSON-RPC, so the same tools and data the Dev UI shows can be offered to an AI agent as MCP tools and resources. Extension authors mark the methods they want to expose, and the agent can then inspect the running application or change things like log levels.
Quarkus Agent MCP
The Quarkus Agent MCP is a standalone MCP server for AI coding agents such as Claude Code, GitHub Copilot, Cursor and JetBrains AI. It runs as a separate process, so it keeps working when the application crashes. An agent can use it to create a project, start, stop and restart the application, read the logs, search the Quarkus documentation, learn extension patterns from skills, and reach the Dev MCP tools of the running application. I introduced it in May 2026 as part of the DevStar working group on the Quarkus developer experience for AI coding agents.
Java, Java EE and MicroProfile
I have been writing Java since the beginning of Java and still love it. I stay up to date with the language and specifications. I have extensive experience in Enterprise Java, including JAX-RS, JAX-WS, CDI, JAXB, JAXP, XML, JSON-P, JSON, JPA, JDBC, EJB, JTA, JCA, JMS, JSF, JSP, Servlets, WebSockets, Bean Validation, Portlets, Spring, Swagger, Lombok, GraphQL and much more.
When appropriate, I use Eclipse MicroProfile APIs to build more cloud-friendly applications, including Config, Fault Tolerance, Health, Metrics, OpenAPI, REST Client, JWT RBAC, OpenTracing and GraphQL.
Open source
Everything I do at Red Hat is open source and my work is visible on GitHub. Besides the Quarkus tooling above, I contribute to Eclipse MicroProfile and SmallRye, where I mostly work on MicroProfile GraphQL and MicroProfile Extensions.
I previously also contributed to JSR 371, the Model-View-Controller Specification, and Ozark, the reference implementation.
Linux
I have been running Linux on my personal PC since 1999, starting with Mandrake, and then went through many distributions including Red Hat, OpenSUSE, Debian and PCLinuxOS. I then discovered Gentoo Linux, and went from a basic desktop user to being comfortable with building my own OS on my PC. I also used Ubuntu and Mint. For the past few years I have been using Arch Linux and loving it. At work I am running a nice stable Fedora distro with KDE. I am comfortable running and managing Linux servers and Docker containers.
Communication
I enjoy talking and debating about technical concerns. I blog about technical topics and session feedback from conferences. I also enjoy presenting technical topics in forums. I am comfortable running technical meetings and finding solutions around a whiteboard.
Talks
- 1 June 2026: Using Coding Agents with Quarkus at Quarkus Insights, online (video).
- February 2026: Quarkus AI and Chappie at JoziJUG.
- Q4 2025: AI Assisted Development with Quarkus Dev MCP at Quarkus Insights, online.
- December 2025: Quarkus AI and Chappie at BrisJVM in Brisbane, Australia.
- December 2025: Quarkus AI at YOW! Melbourne in Melbourne, Australia.
- November 2025: Quarkus AI at IBM TechX Auckland in Auckland, New Zealand.
- November 2025: Quarkus AI at ChurConf.
- October 2025: Quarkus AI at IBM TechX Sydney in Sydney, Australia.
- October 2025: GraphQL in Quarkus at API Days Melbourne in Melbourne, Australia.
- 21 July 2025: What's new with Chappie and the Quarkus Assistant at Quarkus Insights, online.
- December 2024: GraphQL in Quarkus at JakartaOne Live.
- November 2024: AI in Quarkus (Chappie) at the Melbourne OpenShift Meetup in Melbourne, Australia.
- November 2024: Web development in Quarkus at the Melbourne Java and JVM Users Group in Melbourne, Australia.
- Q3 2024: Developer Experience Improvements (including Chappie) at Quarkus Insights, online.
- May 2024: Web development in Quarkus at JCon Slovenia.
- Q3 2023: Quarkus Web Bundler at Quarkus Insights, online.
- Q3 2023: The Quarkus Frontend Rainbow at Quarkus Insights, online.
- Q2 2023: Quarkus Dev UI at Quarkus Insights, online.
- March 2023: Intro to Quarkus at the Brisbane Java Meetup Group in Brisbane, Australia.
- 22 June 2022: Intro to Quarkus at the Melbourne Java and JVM Users Group in Melbourne, Australia.
- 7 June 2022: Writing Queryable APIs with GraphQL at JNation 2022 in Portugal.
- 25 October 2021: Micro frontends using WebComponents and MicroProfile GraphQL at EclipseCon 2021 (video).
- 12 October 2021: Micro frontends using WebComponents and MicroProfile GraphQL at Java Africa 2021.
- 2 September 2021: Writing queryable APIs with MicroProfile GraphQL at DevConf.US 2021 (video, code and more code).
- 5 May 2021: Writing queryable APIs with MicroProfile GraphQL at Conf42 Enterprise 2021 (video, code and more code).
- 1 March 2021: MicroProfile OpenAPI at Quarkus Insights, online.
- 1 August 2020: Building queryable APIs with MicroProfile GraphQL at Global Summit for Java devs '20 (video).
- 29 June 2020: Wonders of GraphQL at Quarkus Insights, online.
- 27 April 2020: Building queryable APIs with MicroProfile GraphQL at JoziJUG, online (slides, video, code).
- 21 April 2020: Building queryable APIs with MicroProfile GraphQL at SouJava, online (slides, video, code).
- 25 January 2020: Writing better APIs with MicroProfile GraphQL at DevConf.CZ in Brno, Czech Republic (slides, video, code).
- 28 November 2019: Quarkus on OpenShift and Azure Functions with Saurabh Agrawal at the Microsoft Open Cloud Summit in Johannesburg, South Africa (slides).
- 16 September 2019: Jakarta EE, a quick overview at Oracle Code One in San Francisco, USA (slides, video, code).
- 25 July 2019: Writing better APIs with MicroProfile GraphQL at the Java Cloud Conference in Johannesburg, South Africa (slides, code).
- 24 July 2019: Implementing Microservices with Eclipse MicroProfile with Ivar Grimstad at the Java Cloud Conference in Johannesburg, South Africa.
- 26 March 2019: Modern application services with OpenShift at DevConf in Cape Town, South Africa.
- 17 September 2018: Distributed services with MicroProfile at the Jozi-JUG in Sandton, South Africa.
- 12 July 2018: Keynote: Distributed services with MicroProfile at the Java Cloud Conference in Johannesburg, South Africa (slides, video, code).
- 16 May 2018: Writing better APIs with GraphQL at the Developer User Group in Pretoria, South Africa (slides, code).
Published blog articles
Some of my posts were also published on Quarkus.io, Java Code Geeks and DZone.
- Introducing Quarkus Agent MCP: teaching AI agents to speak Quarkus
- Stylish API
- Experimental GraphQL
- MicroProfile OpenAPI for everyone
- Supersonic Subatomic GraphQL
- When using JAXB
- A configurable JAX-RS ExceptionMapper with MicroProfile Config
- Your own MicroProfile Config source
- GraphQL on Wildfly swarm
- Hollowjars, Deployment scanner and why Wildfly swarm is cool
- Fatjars, Thinwars and why OpenLiberty is cool
- Some factory examples
- Continuous integration to Maven Central
- Apiee: an easy way to get Swagger on Java EE
- WebSockets example and the birth of Stompee
- Your own Swagger UI on Liberty
- Monkey methodology
- Google might be wrong
Infrastructure
I enjoy setting up and automating the environments that my systems need to run: MySQL, PostgreSQL, DB2, OpenRDF, Elasticsearch, WildFly, GlassFish and Payara, TomEE, WAS Liberty, Pluto and more.
Tools
I have been using many tools through the years. Currently these are some of my favourites: Git, Gogs, Jenkins, Travis CI, Nexus, SonarQube, Maven, Ansible, NetBeans, Atom, Hugo, Jekyll, Eclipse and Docker.
Other
I have knowledge of many other languages, frameworks and libraries. I believe in using the right tool for the job and can learn a new specification, language or framework quickly and easily. Some of these include HTML5, CSS3, Sass and Less, Markdown, JavaScript, Semantic UI, Bootstrap, Foundation, PHP, SVG, XSLT, SQL, RDF, SPARQL, Webjars, OPML, Atom and RSS, Apache Cordova and more.
Conferences I attended
- DevConf.CZ 2020, Brno, Czech Republic
- Oracle Code One 2019, San Francisco, USA
- Java Cloud Conference 2019, Johannesburg, South Africa
- DevConf ZA 2019, Johannesburg and Cape Town, South Africa
- JCon 2018, Düsseldorf, Germany
- Java Cloud Conference 2018, Johannesburg, South Africa
- DevConf ZA 2018, Johannesburg, South Africa
- JavaOne 2017, San Francisco, USA
- SingularityU 2017, Midrand, South Africa
- IBM Interconnect 2016, Las Vegas, USA
- JavaOne 2015, San Francisco, USA
- Mobile World Congress 2011, Barcelona, Spain
- JavaOne 2011, San Francisco, USA
- Oracle Open World 2007, San Francisco, USA
Get in touch
The quickest way to reach me is email. You can also find me on GitHub and LinkedIn.
