In our special Java Daily edition, we would like to introduce you to Julien Dubois. Julien is a French Java expert & author who currently work at Microsoft as an Azure developer advocate, focusing on the Java and Spring ecosystems. Open Source has always been very important to him, and he has started several projects in the past 20 years. Julien is currently focusing on JHipster, a popular Open Source development platform. He is also known in the Java community for being:
- a member of the Java Champions
- one of the authors of “Spring par la pratique”, a best-selling book on the Spring Framework
- a conference speaker, and an author of several presentations and articles
Java Daily: How did the creation of an OpenSource project affect your life?
Julien: JHipster had a huge impact on my life: first on my personal life, as I’ve spent a lot of evenings and week-ends on the project. Thanks to the project, I have met a lot of people, and gained friends all over the world. I’m very happy and grateful about this, and to me, that’s the most important part of the project. Then, more recently, and as the project has grown quite a lot, it had an important impact on my professional life: I was nominated a Java Champion last year, and a couple of months ago I started a new job at Microsoft, on the Azure engineering team. I don’t think that would have happened without my work on JHipster.
Java Daily: What motivated you to start such a project? What is yours why? What motivates you and keeps you going in the hard times?
Julien: At first, I only wanted to have fun with a few new technologies. There wasn’t much plan, it was just me having some fun. This has evolved quite a bit, especially as we have now more than 500 contributors to the project: with that amount of people, we deliver many features that I have little interest for, or that I don’t find fun at all. What matters now, is that they are important or fun to other people, not to me! I see this more as a community experience, and this is what keeps me going. I’ve never had any loss of motivation or hard time on the project, but if I ever did, then that’s just an Open Source project: I can totally step back a few weeks, or even quit the project. I’m very happy that we have users, and not customers: I have no commitment in the long run other than I like what I do. And I’ll stop the day I don’t have fun anymore.
Java Daily: What is JHipster? What are the biggest advantages that JHipster brings to the table? Which feature was the one that brought you the greatest pleasure when it was finished?
Julien: JHipster is a development platform for Web applications and micro-services. We generate what we call “full stack” applications: from the back-end code to the front-end, but also the infrastructure, the tests, the IDE configuration… The main advantage is that we have a common approach for the whole application, so you have out-of-the-box a project where all the parts work well together and are built using the same model. The feedback I get most often is that people gained a lot of time at project creation, and they were happy to have everything already set up for them.
Java Daily: What are the biggest disadvantages of JHipster?
Julien: It’s hard to have a one-size-fits-all solution, so if you have some very specific need, or if you like a specific framework or library that we don’t propose, then JHipster won’t be good for you. Then, please note that in my opinion, the vast majority of people who believe they need something specific are just over-engineering. I have seen many people over-complexifying their stack only because it’s fun for them, or because they have a financial gain out of it (as they will bill their clients more), or because they want to improve their resume, and not because there is a real need.
Java Daily: What is your vision for the future development of JHipster?
Julien: Please note that JHipster is a community effort, so we don’t really have a roadmap: it all depends on the motivation and goodwill of people. Currently, we have a big trend to generate different backends with JHipster: .NET and Micrometer seem well underway, NodeJS seems to be starting quite fast… It’s quite exciting to see all those different technologies being integrated with JHipster!
The other big trend is evolving our Kubernetes support.
On my personal roadmap is better Azure support, as I work on the Azure engineering team and that it would be useful for myself in my daily job.
Java Daily: Have you considered about moving in the direction of an AI that generates business logic?
Julien: I do not believe you can train an AI to do business logic, or at least that it could be a meaningful alternative to coding business logic manually. Nearly everything I code is new, so I don’t understand how you could train an AI to do the same thing, as there is just no existing data to train it. I’ll take the example of a promising AI code startup I saw recently: they used GitHub data to train their AI, which is clever, but as we have 10s of thousands of sample JHipster projects on GitHub, the AI just learned to do the same thing as the generator: at best, it could only have mimicked the generator, but not reach the “next frontier” that is business logic. Also, most of the bugs and lost time I see come from humans: I don’t think it’s easier to train an AI than to code directly the logic, and I’m sure it’s a lot harder to test. So we’ll have as many bugs from people who didn’t understand the business requirements as before, but those bugs will be harder to spot: that doesn’t sound like a good deal to me.
Java Daily: Will Angular Material become a native part of JHipster as an alternative to Bootstrap?
Julien: I don’t think that can easily be possible, as this means re-coding everything in our front-end. Also, we now support Angular, React and Vue.js, so that would mean three alternative codebases. That looks quite a lot to support and maintain!
Java Daily: Have you heard about Jenkins X? Have you considered collaboration/integration with them?
Julien: Yes, and we did contact them at the beginning to do a joint work, but in the end, nothing happened, sadly. It’s quite hard for us to work with a company, as most people from the JHipster team work on their free time: we can’t really do meetings, or travel for a couple of days to work on a project. We work in a very different way from a normal company, and that can be an issue.
During the last year, we also did a lot of work to focus on Azure Pipelines. Please note I now work at Microsoft, but that started much before: as an OSS project with limited resources, we were simply more attracted by the OSS tier provided by Azure (10 free nodes!).
Java Daily: What is the best way to start learning JHipster?
Julien: We have great resources on https://www.jhipster.tech/ and also several books, so it really depends on what you prefer. On a personal note, and that’s because I don’t have the attention span to watch videos or read books, I’d recommend our new online guides at https://github.com/jhipster/jhipster-guides.
Is there anything else you would like to ask Julien Dubois? What is your opinion on the questions asked? Who would you like to see featured next? Let’s give back to the Java community together!