By arungupta on Sep 03, 2013
Morocco, Senegal, South Africa, and Uganda were the African four countries on my Make the Future Java EE 7 Global Celebrations tour. The event was organized by JUG AFRICA and Max Bonbhel covered a few other countries as part of this tour.
I was welcomed with a very warm African hospitality in each country. The JUG leaders took extreme care of me through out the stay, starting right from the airport pick up, organizing the events, working on logistics, and a multitude of other things. Remember, the JUG leader is a volunteer role but its the passion for technology and sharing with the community that drives them. And that was truly evident in each of them!
A big shout out to Badr Elhouari (Morocco), Mamadou Ngor Diouf (Senegal), Mark Clark and Richard Kolb (South Africa), and Nsubuga Hassan (Uganda) for being the wonderful hosts!
I had lots of opportunities to engage with African developers from all around the continent. Yes, Africa is a continent with 54 different countries! Typically, locals talk about North, East, West, and South Africa regions. I was fortunate to share some of my Java EE 7 knowledge in all four regions, and in return learned a lot more from them.
The format at each event was mostly similar - provide a code-driven introduction to Java EE 7 and keep it completely interactive. I truly believe that the code should be written such that it speaks for itself. The developer productivity enhancements made in the Java EE platform over the years have certainly made it very much a reality. A typical flow covered the following samples, in a completely interactive manner:
- WebSocket Collaborative Whiteboard
- WebSocket Chat
- Batch Chunk
- Batch Split, Flow, and Decision
- JAX-RS Endpoint and Client
- JAX-RS client-side and server-side content negotiation
- JTA @Transactional and @TransactionScope
- Jersey Server-Sent Event
- JSON Streaming Generate and Parse
- JSON Object Model Generate
- Managed Executor using Concurrency Utilities
- JMS Classic and Simplified Sender/Receiver
- JMS Default Destination Factory
- JPA Schema Generation Properties
- Non-blocking I/O in Servlet
- Async Servlet
- CDI default enabling and @Vetoed
- JSF Faces Flow
- JSF Resource Contracts Library
- JSF Pass-through Attributes
- Bean Validation on POJOs
- And anything else that the developers asked
|The trip started with the first event in
Casablanca, Morocco (North Africa). Badr took time out of
his family vacation to receive me at the airport and
ensuring a smooth operation of the event. There were about
50 developers during a week day evening and otherwise a
general holiday season.
The interactive session had several existing Java EE developers. Riding a train from Rabat to Casablanca with a few of the JUG members gave a good 1-1 time to interact with them. One of the developers showed me a sample application he has built to prepare for Java certification. One of the common feelings in Morocco at least is that their sub-Saharan bretherens are preferred for any Africa-wide events. However I started my trip with North Africa, so no complaints there ;-)
Something to learn about Morocco ...
- Sahara Desert is about 900 km from Rabat/Casablanca. Plan for a few days if you are interested in a desert safari
- Cars are used to travel from/to airport, not camels ;-)
- Don't miss out on visiting one of the Kasbah, they are very
unique and colorful structures
JMaghreb is the biggest Java developer conference in North Africa. I attended their inaugural conference last year and had a really good time giving a Java EE 6 hands-on lab to a packed room. The conference is focused towards a "pragmatic developer", not necessarily using all the bleeding-edge technologies. Badr has already started planning for JMaghreb 2.0 (Nov 7 and 8) and planning to expand the outreach to Southern Europe and other neighborhood countries. Reach out to him if you are interested in speaking at that event, and of course register for this free conference.
|The next stop of the trip was at Dakar,
Senegal. There were about 30 developers for the Saturday
morning event. On the request of JUG leader, I started the
event with a slide deck providing a complete overview of the
platform. And then showed a bunch of samples afterwards. The
Java EE 7 Technical
Kit provides a slide
deck (with speaker notes) that you can use to talk
about Java EE 7 at your local JUG. The attendees were not
shy in asking questions and the session continued with
code-driven talk afterwards.
I was fortunate to bump into couple of passionate GlassFish developers who are using it for a local telecom company. Hear all about their passion around Java EE 6, GlassFish, and NetBeans:
Here are some pictures from that event:
Some things to learn about Senegal ...
- Senegal visa can be obtained at the airport, but be prepared to "grease" the machinery
- Arrange a pick up at the airport otherwise you'll be
overwhelmed with the cabbies
- Visit Rebirth of Africa monument in Dakar, it is very very inspiring
|The next stop of the trip was at
Johannesburg, South Africa. Nobody amongst ~100 developers
wanted to see any slides and so we jumped straight into the
code. I showed lots of code and had lots of interaction.
I also had the opportunity to visit The Wanderers, a cricket stadium known for the second highest one day total of 438 by South Africa. I spent significant part of my day at the office and that's where the event was hosted in the evening as well.
Some things to learn about South Africa ...
- Johannesburg, with about 4.4 million population, is definitely
a premier technology hub in all of Africa
- Being far South, they sort of feel in a silo and not
completely connected from rest of the world. This is in spite of
the fact that there is decent Internet connectivity.
- Startup culture is definitely prominent here - products are
serving local needs because of infrastructure costs, otherwise
|The last stop of the trip was at Kampala,
Uganda. Nsubuga Hassan picked me from the Entebbe airport
and we shared a 1.5 hrs taxi ride to the hotel in Kampala.
The number of women participants truly surpassed the number
of men at the event, and this was truly impressive. Its
probably the most number of women I've ever seen at a JUG
There was even a discussion around starting a new Kampala JUG, so that is definitely promising.
The event was hosted by Hivecolab which provides community-owned work environment for young tech entrepreneurs in Kampala. Had a good chat with program director Barbara who is also also leading Women in Technology Uganda. Listen to an interesting conversation with Barbara on promoting technology amongst women in Uganda.
Some things to learn about Uganda ...
- English is the official language of the country, and has about
40+ other local dialects
- People are extremely soft-spoken and very welcoming every where
- Lot of tech innovation happening in Uganda - Mobile Monday Kampala, @The Hub, Fin Africa, and others
- Local government encourages women to study at the university
I enjoyed riding the different local means of transport - boda boda and the van. The visit to the local arts and craft market in any part of world not only promotes local artisans but also gives you the opportunity to buy authentic goods.
Here are some pictures from that event:
All the Java EE 7 samples are available at github.com/arun-gupta/javaee7-samples. Feel free to clone the repository or send a pull request if you want to contribute new Java EE 7 samples. A recording of some of the samples can be seen in the videos recorded at an earlier conference:
Even though the local JUG leaders were my hosts in each country but the real force behind all of this was Lamine Ba and Max Bonbhel. I had numerous emails exchanges on dates, cities, hotels, and everything else and they were all dealt very promptly and in a professional manner. Max and Lamine - you are the agents of change in Africa and are truly helping African developers be visible at the global front, thanks for your efforts!
I truly enjoyed my short stay in different countries and would love to come back again!
Here is the complete album from the trip: