The last three days I spent participating in the QCon conference in New York City. This is one of the small group of conferences catering to software developers. Running a 100-speakers conference around the world is a hugely expensive project, and I hope the organizers broke even, which is very difficult in New York. Long story short – I like this conference. Speakers are well prepared, the crowd is eager to learn, the food is good, and the Wi-Fi works (I kid you not – 20Mbps up and down).
There were six parallel tracks at the event, which were changing each day. This is unusual, but smart. Every morning would start in the main auditorium, where the track chairs would introduce every presentation from their track. This is also something I’ve never seen before at any conference, and I can confess that these short intros changed my personal selection of the talks.The third thing that impressed me were presentation evaluation sheets. This is how they looked like:
The KISS principle in action! Instead of forcing people to fill out these annoying questionnaires from traditional evaluation sheets, the attendees were asked to pick a sheet of the appropriate color and drop it in the bowl. Green, if you like the preso, yellow means the presentation deserved to be a part of the event, and red if it sucked. If you wanted to add some comments, pens were right there – just write whatever you want on this little piece of paper. Smart. Keep it simple stupid.
During these three days I’ve attended a bunch of quality presentations:
Security weaknesses in Java was very practical, and I can apply the new knowledge to one of the projects I’m involved with.
Learning how NASA uses cloud computing to process information from Mars rovers is another fact that may finally push me into the cloud space.
I like presentations by Cameron Purdy. This time he was talking about HTML5, Mobile, and compared the roles of Java’s and C++ in today’s IT. He’s well spoken and always add lots of appropriate jokes to his talks. Cameron listed a couple of reasons of why Java didn’t supplant C++. But IMO, didn’t mention the most importan ones:
1. Apple’s iOS has no Java
2. Microsoft didn’t upgrade JRE in Internet Explorer since ’98 (remember that infamous Sun-Microsoft las suite?)
Peter Bell was showing how to use Spring Data with No SQL databases. While he was talking about a hierarchical databases, I felt like déjà vu. Seasoned (a.k.a. old) software developers knew about how great the hierarchical databases were since the last century. But working with them was not for the faint of hearts. SQL looked simpler, so programmers embraced relational DBMS. The years went by, and an average programmer became a little dumber, and SQL became a tough language to learn. This resulted in the flourishing of the Object-Relational Mapping frameworks. You know Java, but don’t know SQL? Not a problem. You’ll survive on our project – just write Java and XML. It’s going to be long, painful and non-performing, but ORM will allow us to bring juniors on board. Now, it seems that Spring Data can hide the complexities of dealing with hierarchical databases and even juniors will be able to work with them. Good luck, guys!
Charlie Hunt did a great job explaining the internals of Java garbage collector. Check out his recent book “Java Performance”.
Steve Souders is THE web performance guy. This time he was talking about performance of high performance in the mobile. Not sure if you are thinking about moving your application or a Web site to mobile, but you definitely should be.
Adobe Flex framework remains a touchy-feely subject for me regardless of my own principle “Don’t fall in love with the Phillips screwdriver”. Any tool is just a tool, but I really enjoyed working with this framework. I understand that corporations exists to make profits. I understand that if a software product doesn’t bring money to the firm, one of the solutions is to nuke it. But it shouldn’t be done in such a cynical way. Last year, at Adobe MAX conference they said that the future of Flex is rosy, a month later they announced, “We donate Flex to Apache Foundation” explaining that Adobe’s changing the direction. That’s fine. A month later, they applied a hit man technique – an additional shot in the forehead – to make sure the body is dead for real. Adobe said that the Flash Player, the runtime required for Flex won’t go to Apache, and they won’t support new versions of Apache Flex. It’s as if Oracle would donate Java to open source, but the future version of JVM wouldn’t support future version of Java. I doubt Oracle would ever do something like this. Adobe won’t run the MAX conference in 2012 – are they ashamed of themselves?
I’ve attended two sessions on the agile methodologies, and have to admit that I’m still not sold. Sure enough, if a prospective client will ask if our company runs the project in agile mode, I’ll answer, “Sure thing!” And, most likely, what we do is agile. But we don’t do it as a religion with all paraphernalia that comes with agile methodologies. We work in a highly virtualized world. A bunch of VMs runs on our servers. But let alone VM’s – in some cases our developers are virtualized. They work from different countries and some of them never saw each other. Yeah, yeah, yeah…You put and shuffle the stickers on the board daily. Stand up meetings? I don’t care if our developers work in horizontal or vertical position, if they work in the morning, evening, or after midnights. As long as they get the work done, have good communication skills, speak English, and don’t behave as prima donnas, they are super agile. Please don’t show this blog to any of our customers or we can loose the project.
Good luck QCon! Hope to see you next year.
2 thoughts on “Attending QCon, a Smart Conference”
Some interesting observations here. Thanks for sharing.
But I do have a bone to pick with your assertion that Spring Data is a dumbing down of NoSQL so it’s accessible to the unwashed masses. I’m a photographer as well as a programmer, so it’s interesting to me to see the parallel between this assertion that “real programmers” don’t need tools that abstract functionality of these databases to its essence and the fact that the Leica camera didn’t even have automatic modes of any kind until relatively recently. While everyone else was pushing digital cameras, Leica was still arguing that “real pros” used their cameras and that they didn’t “need” autoexposure modes. They said that shooting in manual mode was the way a real photographer would work if they were serious about their craft. That’s utter poppycock. Real pros use cameras that put every bell and whistle right at the photographers fingertips in an effort to save them time and let them focus (no pun intended) on what’s really important. They don’t provide autofocus because that’s a dumbing-down of the art of focusing a camera. They provide autofocus because it’s time-saving and lets you get shots you couldn’t otherwise get because you don’t have to think about turning the barrel of the lens all the time and you can focus on your picture-taking.
Spring Data libraries are not attempts to lower the technological barrier of what you called “hierarchical databases” so that the unwashed masses (the “junior” programmers) can muck up their application with things they don’t understand. Spring Data is an effort to provide autofocus and autoexposure and those kinds of helpful tools to pros and amateurs alike because those tools allow the developer to focus on what’s really important: the functionality of their application. A developer shouldn’t have to spend time thinking about the low-level logistics of talking to a database just like a photographer shouldn’t be forced to use manual exposure and focusing modes.
I hear you, Jon. This is one of those philosophical discussions about the usefulness of the swiss army knives. I’m not familiar with Spring Data and don’t have an opinion on it. But I’ve seen lots of various frameworks that pros had to change substantially, while more junior developers were happy with the results. To use or not to use any particular framework should be decided on a case-by-case basis.
I wrote on a similar subject here: https://yakovfain.com/2011/09/14/the-axe-soup-cake-mixes-and-frameworks/