Fork us on GitHub

Full Stack Java Bootcamp

The best way to learn mobile to server development and get going right out of the door
Full Stack Java Bootcamp

Full Stack Java Bootcamp

It’s LIVE! Check out the bootcamp signup here.

Thanks again to everyone who answered my questions. I got tons of valuable feedback on our work & what you would like to learn. It was super helpful and I’m grateful to all of you as you are literally shaping how this bootcamp (and the future of Codename One). I’m sorry if I was brief in some of the thank you emails, it took some time as I wrote them all personally and worked well into the night the other day.

One of the main things I got from pretty much everyone who wrote is the desire to improve your UI, this is a huge deal for us as I think we have an advantage here. E.g. a lot of developers who wrote to me (some of which worked with us for years) weren’t familiar with these demos I’ve published:

This took me a day or two to build (based on existing design)
Figure 1. This took me a day or two to build (based on existing design)

To me these demos show more than just a good looking UI. They hint of the potential…​

In the right hands you can produce any damn UI design that your insane designer can come up with. This isn’t true for most other tools as they don’t control every pixel on the screen…​

We don’t have that level of control even in regular native apps where an OS update (or vendor customization) can wreck havoc in your meticulously crafted UI.

Learning to do this in a portable and consistent way is challenging. Some of that is because of the rough edges of our tools & some of that is because of outdated docs/videos. I spend almost all of my time writing documentation, answering your questions on stackoverflow/elsewhere but this is clearly not enough.

Our open source community is hugely helpful but it isn’t as effective for things like high quality guides. Docs are probably the hardest things to build using a community process.

How do we Fix This?

This will require some work…​

When I was a young programmer in my late teens and early 20s I already knew quite a lot but I also had bad habits…​

I picked a lot of bad practices from learning on my own and I might have ended up very differently had I not stumbled into amazing mentors who guided me in the right direction. These great mentors transformed the way I code communicate & think. They were pivotal in my career.

When we started the LWUIT project at Sun Microsystems we spent a lot of with customers trying to understand the difficulties they were addressing firsthand. At that point I realized that not only was I mentoring the junior developers I was working with, I was getting a lot in return. I was able to glimpse into LWUIT thru a fresh pair of eyes and see what we got right and what we got wrong. This improved LWUIT immensely.

That’s why I spend almost all my time doing customer support, it teaches me a lot and allows me to run the company in a way that makes sense for this type of product. But that’s not enough…​


A bootcamp isn’t a regular course. It runs over a narrow stretch of time & is deeply interlaced with personal 1 on 1 mentoring. This means I’ll need to seriously clear my schedule to do this but I think the value proposition is huge. Unfortunately it also means this doesn’t scale all too well either. Here I want to provide from my experience but also learn from yours so I can initiate changes and we can adapt better to fit your needs.

The core focus of the bootcamp would be on building a compelling UI that would be native in feel and quality without compromising on anything. The samples I gave you above are great but they’re just samples. When you need to take an app all the way from generating a certificate, designing a gorgeous UI, building a server, connecting it and putting it into production in the store this becomes a challenge with many pitfalls along the way.

But this is not enough, I want an end to end full stack application from mobile to server. This is important because so many developers today carry the full weight of responsibility to build a complete app including the server side, networking and everything.

Building an App from Scratch to Production

When I told Chen about my plan to do a 4 week bootcamp and build a full production app as part of it he had his doubts. I’m paraphrasing here but this is the gist of what he said: "you don’t really think you can build a full production grade app in 4 weeks?".

My answer was: "no, I will build the app and server in two weeks!"

That’s ambitious but that’s exactly what a bootcamp is, it’s a startup for all intents and purposes. Building a full fledged well designed and architected app is something all of you can do within 2-4 weeks when using Java/Codename One.

The two additional weeks will cover a lot of things and include personal mentoring which I think is crucial for our shared success.

More Details Coming Soon

There is so much more I would like to cover and I’ll cover some of the nitty gritty details on how this bootcamp will achieve it’s transformative goals in my post early next week. There are many logistic details that we need to sort out mostly with the company as I will find it hard to handle my day to day tasks during the bootcamp.

In the meantime, if you haven’t answered my email please do so as I’m still interested in hearing more. Also feel free to write and comment in the blog with thoughts/issues/concerns etc.

I’d also appreciate sharing this with your friends & co-workers who might be appropriate.

This was the first article in a 3 part series, check out part 2 here.

Share this Post:

Posted by Shai Almog

Shai is the co-founder of Codename One. He's been a professional programmer for over 25 years. During that time he has worked with dozens of companies including Sun Microsystems.
For more follow Shai on Twitter & github.