Farewell Oracle

tl;dr: Today is my last day working at Oracle as a Consulting Member of Technical Staff in the Java team. I’m exploring new work opportunities right now and have a few opportunities I’m considering. If you want to employ me, email me today.

As they say, all good things must come to an end, and today marks the end of a big part of my life for the last nine years – I’m leaving Oracle. I came in to Oracle through the Sun Microsystems acquisition, and I have to say that it feels extremely bittersweet, as I’ve had the great fortune to work on Java itself with a collection of people from both inside Sun / Oracle, and the wider community of Java developers via Twitter, various conferences, and my inbox, many of whom became great friends in the process. Everyone I have worked with has been hugely professional and talented, and to say I enjoyed it immensely would be an understatement. Being able to work on Java was a dream come true for me, and I wish my colleagues at Oracle all the best as they continue to improve Java.

I have been working on JavaFX for a very long time – I joined in mid 2009 around the release of JavaFX 1.2, back when it was all written in JavaFX Script. JavaFX has come a long way since then – it’s travelled through a language transition from JavaFX Script to Java, the introduction of lambdas, and more recently the introduction of modules. There have also been so many other changes during that time, too numerous to mention.

It’s important for me to be clear: my leaving the JavaFX team is in no way a reflection on my lack of love for JavaFX and the Java client ecosystem – I wish it all the very best. I wish I was able to do more and grow JavaFX into what it deserves to be, but from here on out I can only do that from outside of the Oracle team.

I know whenever a person leaves a project there are questions that will be raised about its future. Perhaps one day soon I can write a blog post about JavaFX, but for today I encourage enterprises or individuals concerned to ping me if they wish to discuss anything.

What is next for me?

I have a few irons in the fire that I want to work on, and a few job offers from companies I have already privately pinged (which explains all the travel I’ve been doing recently). It has been nice to interact with companies and have them determine the right role for me – I’ve been considering a few different kinds of career path thanks to this, and so right now I am incredibly excited about what opportunities await, and where I land next.

All of this is to say: if your organisation is looking for a highly-skilled developer / technical lead / engineering manager / trainer / advocate, in a consulting, part-time, or full-time position, I am very keen to hear from you. On the other hand, for those wondering where I might end up, you might want to prepare yourselves to be surprised – although one consistent fact across all my discussions so far is that they are all heavily Java-focused, fortunately 🙂

To learn more about me, you can check out my projects and presentations pages, as well as my LinkedIn profile. Whilst I am currently based out of New Zealand, this is only my current state and I am happy to relocate with my family for the right projects.

What about my open source projects / blogs?

For now I plan to continue blogging here and at FXExperience.com, and to continue the work on my projects like ControlsFX, FXDocs, Scenic View, etc. If or when those plans change, I’ll be sure to make appropriate announcements.


That’s it. To me leaving Oracle was almost impossible – I always wanted to serve the community and grow Java client however I could. I immensely enjoyed the coding, the bug fixing, the discussions on Twitter and Jira, attending conferences, arranging the Java Desktop Lunch, and all the other things I got to do in my role at Oracle. No day felt like work for me. For now I say goodbye to Oracle, but definitely not to the wonderful Java community 🙂 So, please, update your address books – jonathan.giles@oracle.com will bounce by the end of Friday, and so from now on, please ping me on jonathan@jonathangiles.net.

I know that to many people this is surprising and / or disappointing. If you have anything you want to ask or talk about, I will be as transparent as I can be – my email is always open to you.

Expect a few more interesting blog posts to come…

Java desktop links of the week, October 30

Due to excessive levels of travel in the past week, I was unable to pull together the links for last week. I have tried to keep track of the links as best as I could, but I apologise if I miss any today. Please, let me know and I’ll be sure to post them next week.

Java desktop links of the week, October 16

Sorry about the lack of links last week. With everyone returning from JavaOne there wasn’t a great deal of news, so I decided to carry it over a week. But, here we go – enjoy 🙂

Congratulations ControlsFX

Whilst I was unable to attend JavaOne this year, I am incredibly proud to say that ControlsFX won one of the nine Dukes Choice awards for 2017. ControlsFX is a project that I kicked off a long time ago, but these days has really taken on a life of its own. I always envisioned ControlsFX to be a project for really high quality JavaFX UI controls, and always placed a really high importance on ensuring that not only were the controls great, but that they were well documented and felt like a cohesive set of controls that could easily be dropped into JavaFX itself.

Over time the number of users of ControlsFX has grown dramatically. When I last looked at the stats, I was amazed to see the number of downloads for just a single release, and I tweeted as much:

Because of this level of use, there are frequent pull requests and bug reports coming in. I also hear frequently from companies using ControlsFX in their development, and I know some companies have chosen to fund continued development of various extensions to ControlsFX.

One thing I’m particularly proud of is the fact that developers who are skilled enough to speak multiple languages have helped to translate ControlsFX into over 25 languages. This is an amazing achievement.

Finally, and most recently, ControlsFX recently made the jump to supporting Java 9. This is still a tentative step in that direction, and there is still much to be done to return to feature parity – but the fact that the community has driven this largely themselves is incredibly pleasing to me.

I think all developers who have helped make ControlsFX what it is should feel very rewarded by this recognition today. This isn’t a reward for me, it is a reward for every one of you – coders, translators, bug reporters, and users.

Personally, this is an award that I will remember, and be very proud of, for a very long time.

Java desktop links of the week, October 2

  • The big news in the last week is the release of Java 9, and with it updates to JavaFX. This is, of course, a major release which brings with it a lot of changes, mostly around modularity, but there is a huge amount of engineering effort in many less visible areas. I recommend all developers start exploring Java 9 as time permits.
  • With Java 9 out, the libraries we use all need to make the necessary changes to work under the Java 9. This week there have been a huge number of tweets and release announcements of updated versions of various libraries to support Java 9. Libraries in the Java desktop area that have announced Java 9 support include ControlsFX and FontAwesomeFX.
  • As well as libraries, Gluon has released an updated Scene Builder, for both Java 8 and Java 9.
  • Jens Deters has released a fix for MQTT.fx for a bug only present for users of MacOS High Sierra.
  • Thomas Nield has updated RxJavaFX with a minor release to tweak an API.
  • Gerrit Grunwald has returned to his tilesfx dashboard library, fixing some issues.
  • Andres Almiray has posted about defining custom behaviour in FXML with FXMLLoader.
  • Jyloo Software has a blog post on the UI scaling support in Synthetica V3.