Hey, I’m Phillip. I’m a Software Engineer living in Victoria, Australia.
I work for Red Hat, where I spend most of my time on MicroProfile, SmallRye and Quarkus
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 offering 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 conceptualizing to running in production. I have a passion for clean code and evolutionary architecture. I love Java, Linux and Open source.
Experience
Java, Java EE & MicroProfile
I have been writing Java since the beginning of Java and still loving 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 API’s (to build more cloud-friendly applications), including Config, Fault tolerance, Health, Metrics, Open API, REST Client, JWT RBAC, Open Tracing, GraphQL.
Open Source
I currently contribute to Eclipse MicroProfile, SmallRye where I mostly work on MicroProfile GraphQL, 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 basically went through many distributions including Red Hat, OpenSUSE, Debian, 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 white board.
Upcoming talks
- 22 June 2022 - Intro to Quarkus at the Melbourne Java & JVM Users Group in Melbourne, Australia.
Previous talks
- 7 June 2022 - Writing Queryable API’s with GraphQL at JNation 2022 in Portugal.
- 25 Oct 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 code)
- 5 May 2021 - Writing queryable APIs with MicroProfile GraphQL at Conf42 Enterprise 2021, (video, code and 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 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 API’s with GraphQL at the Developer User Group in Pretoria, South Africa (slides, code)
Published blog articles
- 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
- Websocket 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 favorites: GIT, Gogs, Jenkins, Travis CI, Nexus, SonarQube, Maven, Ansible, Netbeans, Atom, Hugo, Jekyll, Eclipse, 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 & 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 & 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