You may have noticed that the more I go to conferences, the less I write about them. I could claim lack of time, but the fact is that all my write-ups will be something along the lines of "Loved <city>, went to talks that made me think, met interesting people, gave a talk or two that seemed to go well". Not sure if people get bored of reading that, but I get bored of writing it.
That's not to say I'm bored of conferences. On the contrary - since I work from home, travelling to new places and meeting Real Human Beings keeps me sane. Plus conferences are fun.
But I went to a conference on Saturday that makes me feel compelled to write something, and not just because it was organised by my two fellow Sevilla JUG organisers. @IsraKaos and @RGDav are both doing more Android day-to-day than server-side Java, so this is an area they're interested in learning more about. Not content with organising Android events every other month, they decided they had so many interesting speakers they wanted to have speaking here in Sevilla that they wanted to run a whole day, single track conference, on behalf of GDG Sevilla. Android Xtended was born.
As a Java "Technical Advocate", I suppose I should keep an eye on what's going on in the Android space, it's quite a huge part of the ecosystem1. Fortunately I didn't have to go in any sort of official capacity (I wasn't speaking, manning a booth, organising or sponsoring), so I could just enjoy it.
Firstly, they roped me into doing registrations. Me! I was concerned my Spanish wasn't up for it, but apparently I only needed two words: "nombre" and "talla" (for the t-shirt). Oh, and "treinta y uno b" - there was such demand for the conference the initial venue wasn't big enough, so it was being hosted at two sites on the same road. Not surprisingly, some turned up to the wrong one.
Unlike a large number of our JUG/MUG events, all the talks were in Spanish. So feel free to ignore my analysis if you like - my Spanish comprehension is pretty good, but sometimes I don't realise when I didn't understand something and just make up my own story.
A lot of what I've seen so far in the Android space is Getting Started type material - a lot of tutorials and examples that show you how to achieve a particular goal. There seems to be less of an emphasis on areas that interest me as an experienced Java person - easy automation of testing, good design practices, craftsmanship etc. Now, it may be that because those areas (apart from testing) apply to both back-end Java and Android, there's less of a need to re-iterate it in the Android space. Or it may be that I don't see the entry-level Java stuff any more, because I don't need it, and I seek out the topics that interest me.
Or it may be that as Android is one of those platforms that's a good place to start as a fairly novice developer (because you can write self-contained code with a visible UI and get results fairly easily), lots of the focus is on the needs of new developers. Whatever the reason, I had been starting to feel like the Android ecosystem was missing people taking developers beyond that initial step of getting something to work and up to the level of creating maintainable code.
Android Xtended put my mind at rest. Here was a range of talks that led attendees through the things that will make them more effective developers - tools and libraries to use; testing approaches; integration with persistence; clean (code) design for the UI; design patterns and domain driven design to simplify your code, and so on. As an employee of JetBrains, I was obviously very happy to see both Android Studio and IntelliJ IDEA mentioned and used throughout as well.
As well as fantastic speakers (they knew their stuff, were clearly practitioners, and all had great individual presentation styles), there were three mob-programming sessions.
This was an ambitious attempt to not just preach to a passive audience, but to involve them in creating real, working code to teach fundamental practices - dependency injection, testing and Gradle. An hour is barely enough time to give a practiced demo of real code, to create something collaboratively with an audience of 30 people was a challenge. But I thought it did give people a flavour of not just how to use the technologies, but what they were for. I also saw a lot of the audience starting to realise the power of refactoring using an IDE - I firmly believe the best way to teach the power of a tool is by pair programming or, at least, using the tool in real use cases in front of people.
The mob programming was kinda like a half day tutorial squished into an hour. I'd be interested to hear how the attendees found it. For me, since this was a full day conference that cost €10, I thought getting three short tutorials as well as five excellent talks was very good value for money.
I'd be remiss in talking about the conference if I didn't mention the venue. We were at Espacio RES, which was pretty easy to get to, and a really nice, airy, comfortable space2. And they let us rearrange their whole place just for us. The only downside is that it doesn't hold more people, which is a shame, and the reason we had to host on two sites (I can't comment on the other site as I stayed at RES the whole day, but we're very grateful to Bitnami for lending us their offices as well).
So, what did I learn?
- Espacio RES is a really nice space that hopefully we can use more regularly for events
- It is possible to use Good Practices to write Android code, and Real Developers are doing so for Real Applications
- There are very talented and expert technical speakers in Spain. I've been to two conferences in Spain in the last month, but as they were all in English I think it puts some people off presenting. It's nice to see Spanish talent being showcased, it gives developers here good role models and shows that experts aren't just from outside Spain.
- Sevilla has a very healthy tech scene with people more than happy to give up a Saturday to learn new things. In fact, for some set of people, they prefer Saturdays to weekday evenings3. I have a feeling I'm about to lose more weekends in the future...
Android Xtended was a fantastic event, with great speakers and engaged attendees. I loved how social everyone was during the breaks, how people were happy to chat and share stories, even though most of the attendees didn't know each other beforehand. It was brilliantly organised, and although I did see how much work went into arranging it, you would never believe from how smoothly it went that this two-venue event was organised by just two guys. Well done @IsraKaos and @RGDav!
1 Although in my experience Android and "pure" Java user groups and events tend not to overlap much - not sure if that's a function of the relationship between Google and Oracle or just because large cities like London tend to split groups along technology lines to keep group and event sizes manageable
2 The downside was there are not a lot of places nearby open for coffee at 8am!
3 This is completely alien to me as someone who built her career largely in London - you do not host events on a Saturday, except for maybe the annual LJC Open Conference, because many people have a long commute into the city. Doing that 5 days a week is plenty, most people don't want to do it on a Saturday as well. But they will give up a couple of hours in the evening, as it costs far less in time overall.