During 2017 I have been applying as a speaker to several Android (or Java) conferences throughout Europe. It was my 2017 resolution to try challenge myself to do so. I’ve been watching and attending several Android conferences so I thought I could have contributed in some ways with what I’ve learned in all my years of Android development.
I’ve always thought that, in order to talk at a conference, you must be some kind of a super smart developer with decades of experience in development. For this reason, the idea of giving a presentation at such conferences has always looked crazy to me before. But recently I’ve realised that not all the people that do presentations are “geniuses”; Many of them are good programmers that keep improving themselves and learn from their mistakes. And in that I could see something resembling myself!
So I decided to give it a try.
I’ve worked on Ray Super Remote for quite some time and there I’ve learned a lot about Android, software development and I got the chance to work in a big team with several other Android developers.
I’ve learned what it means to build long complicated on-boarding flows where you need to collect a lot of information about the user and the navigation is not linear but is more like a state machine. Where the user will go next depends on the information collected so far.
We had to structure our app in a way that allowed us to create a system where it is easy to create new sub-flows and connect them to others. We had to ensure the system was flexible and powerful enough to accomodate all the needs coming from the UX and product team.
Of course the initial solution was bad and had several problems but nevertheless it was working. So we learned from our mistakes and we came up with a better solution for such problems. We then applied this solution(s) in another similar project with great results.
I’ve been the main architect of the new solution so I’m particularly proud of it. It covers several aspects; from architecture design and managing requirements to improving code testability. My colleagues started telling me that this solution is worth it to be shared with other developers. Even if the scenario is quite specific, the solution, up to a certain extent, can be reused in other apps.
So I did it. First I gave the presentation in a local developer meeting in the city where I live; just to try it out and get a sense of it. The presentation went “well-ish” but from it I learned that some adjustments were needed.
Then I started applying to several Android conferences.
I first applied to around 5–6 but I got rejected. I thought that maybe my abstract was too confusing and not appealing. So I changed and made it simpler and “cooler”. Less detailed but more “catchy” to tickle the curiosity of the reader.
I’ve submitted the new abstract to several other conferences. In the second batch of attempts I’ve also targeted small conferences, less popular, hoping that they would be more interested in an outsider.
None of them accepted me. One of them even informed me two days before the conference, telling me I wasn’t accepted (better late than never you say).
I was very disappointed because despite my will to challenge myself, they were denying me the opportunity to give it a try.
Then I got curious and determined to understand why. Was my presentation so bad compared to others? Was my topic not interesting or not useful in other context? I sincerely thought to give up because maybe I was preaching topics that were really not appealing to anyone in other contexts. But something didn’t feel right…
I’ve started looking at the conferences I’ve applied to to see who was talking there; in particular about the topics of their presentation, where they work and whether or not the presentation was new.
It turned out that there were always the same faces in all the conferences… This is something I’ve realised before but I’ve never bothered to verify how much actually it was spread.
And when there was someone new, he/she was most often from a big company or from a company that was sponsoring the conference.
I then looked into the topics, hoping to find interesting things. Many times there were presentations on something that has already been covered extensively or presentations that were talking about topics that could easily be covered in a small post. The worst thing was that there were presentations that have been given for more than a year in several conferences…
But, Mauro, what are you trying to say with that? (every reader at this point)
Well I think there is a problem in many conferences. Big names (people or company) attract people. People means money for the conferences. Also big company can afford to pay the expenses to their employee who attend various conferences; this saves the conferences from having to cover for their expenses (this is my theory so if someone can prove me wrong, I’m open to objections).
In addition I think there is a vicious loop. To have more chance to make a presentation you need prove you have experiences in them but where do you get that experience? Well, you get the point…
So it happens that someone who has given a good presentation before and became popular can afford to have bad presentation on another topic but still look more interesting because of his/her popularity.
In my struggle to be a speaker, I somehow lost the trust in the quality of certain conferences. Don’t get me wrong, I’ll definitely keep trying and maybe I will manage to get a chance.
There’s also a good chance that it will turn out that I suck big time at it! But I least I can say I tried…
I leave you with one thought: how many good presentations are out there that are just waiting for a microphone and a projector but can’t get a chance?