Lessons learned attending GO TO Amsterdam conference
Last month I attended GO TO Amsterdam, hashtag #gotoams, a general (not SAP-specific) developer conference here in the Netherlands. I’m still amazed at the great talks I’ve been listening to, and the things I’ve learned, not to mention the ‘homework’: reading through the presentations and following up on the interesting links that many of them contain.
I’d like to share my experiences outside SAP-land with the community here on scn and encourage others to also think more out-of-the-SAP-box. I know I’m not the first to mention it, but I still think it’s a valid and important message, and since I now have first-hand experience I’ll repeat it anyway 🙂 .
Gotoams (for short) is a 2-day (extended with an additional day of instructor led training) vendor independent developer conference and part of an ongoing series of conferences around the world, all organized by Trifork. Other well-known conferences include the QCon-series (London, San Francisco), the YOW-events in Australia, etc.
The people from Trifork do a great job at this: all conference stuff is excellently taken care of (in terms of food, drinks etc), and at GO TO Amsterdam they even had a neat mobile app (for iOS as well as Android) that not only included the schedule for the different tracks and talks, but in which they also provided an option to rate sessions and to ask questions during the talk, which comes in very handy if you’re not comfortable asking your questions in public. They gamified the experience by giving away free books for everyone that entered at least 11 ratings (out of max 14). That’s how I got this book for free: “Working effectively with Legacy Code”. Seems suitable for an SAP consultant, right?
Tracks and talks
The talks were divided between keynotes, one at the beginning of each day and one at the end, and parallel sessions in-between, each time slot having 4 different talks in parallel.
Then there were all the different tracks, most of which bundled either the morning or afternoon talks of one of the four rooms. Of course you didn’t need to subscribe to tracks, you could attend whichever sessions you wanted. To give you an idea, I visited the following tracks: ‘Rise of educational Technology Startups’, ‘Cool companies’, ‘Bring your own Language’, ‘It’s all about the People, Stupid’, and finally ‘Legacy and Big Systems’. I skipped a lot of mobility and big data sessions, so in my opinion there’s really something in it for everyone.
Agile & People
Not surprisingly one of the main themes was agile development and the human side of the software development practice. There were two tracks dedicated to this theme: ‘Agile closing the loop’ and ‘It’s all about the people, stupid’, and then there was the opening keynote by Linda Rising about incentives, and half of the opening keynote on Wednesday by Martin Fowler, called ‘Agile: Essence and Fluency’. I didn’t attend all talks about agile, but will summarize what I learned from those I did attend.
To be honest I had no clue as to who Linda was (is), but it turned out she has a computer science degree (obtained 1 month before she turned 50) and is still an avid speaker at age 71! She really was a very good speaker, and was introduced as an ‘agile peacemaker’. I know that in the SAP world we value troublemakers 🙂 , but this was meant as a compliment, and rightly so. Both of her talks, the keynote I mentioned before and the other session in the ‘People’ track about ‘The Power of the Agile Mindset’, were eye-openers, and not only professionally!
The keynote, titled ‘Incentives, why or why not’ basically showed that rewards can undermine intrinsic motivation, leading to worse performance. In this talk she shared a very funny video that goes to show that humans don’t always make rational decisions, and more importantly, that fairness counts. As the video shows, this also holds for monkeys! Of course there was more to it, so go check the slides if you like.
Her other session about the ‘Agile Mindset’ was all about research by psychologist Carol Dweck who’s found out that people either have the believe that talent is something you’re born with and that there’s not much you can do about it. This is called the ‘fixed mindset’. Or, that they have a can-do mentality: no matter what you’re born with, you can get better if you try hard enough, and this is called the ‘growth mindset’. In reality a combination is more likely to exist, but these are basically the 2 opposite attitudes people have. Linda connected the notion of the ‘growth mindset’ to ‘agile’. A similar presentation by her on this topic is available on Youtube.
The other speaker in the ‘people’ track (and at the same time track host), was Simon Brown, a well known software architect and software engineer from the Jersey Islands. His talk was all about agile teams, and what you can do to improve the performance of a team, once a certain basic level, the level of ‘Sustainable Competence’ (title of the talk) is established. Simon turned out to be a great (war) story teller.
Martin Fowler is a software engineer and author, very well known from books like UML Distilled, Refactoring, Patterns of Enterprise Application Architecture and more recently Domain-Specific Languages and NoSQL Distilled. These are all books I’d recommend to any developer, SAP or non-SAP!
His keynote on Wednesday morning consisted of two talks, one more technical about ‘Schemalessness’ (if you’re interested, check out his infodeck about it), and another titled ‘Agile: Essence and Fluency’.
The latter talk was all about the maturity of agile development teams, though he was very careful not to use that phrase because of the associations with terminology like the Capability Maturity Model. The talk was basically a report on a very interesting paper, written last year by Diana Larsen and James Shore about the different levels of agility that they had encountered in their work. Level 1 was basically having the agile management processes in place (what’s called Scrum). Level 2 was a lot harder to achieve, and required also having the technical capabilities like automated tests (TDD), and continuous integration and delivery. The third level, only reached by about 5% of the teams they’d observed, required the team to proactively think of new opportunities to create business value, together with the business, instead of having a more reactive attitude. Be sure to read the paper, published on Martin’s website!
There were of course also multiple technical subjects, reflected in track names like ‘Bring your own language’, ‘Big Data NOSQL Search’ and ‘Legacy & Big Systems’. Here are some of the technical talks I attended:
Clojure and other friends, Promiscuous LISPing
An excellent talk by Mr. Simplicity, Russell Miles. About simplicity in software, how to achieve it, and about programming in the appropriate JVM-language, which he rather took to extremes by stating that you could (and should?) choose your language (Java, Scala, Clojure, Groovy, etc) per class/module, depending on the desired functionality of that class/module. Not sure I agree with that, but certainly provocative! Of course there was a lot more to it, but after a few weeks some stuff already seems to have disappeared from memory.
Machine Learning == Automated TDD
A brilliant talk by Erik Meijer, about Machine Learning and how to approach it from a developer point of view without being impressed too much for your own good. Erik didn’t share his slides, and I don’t recall all the details, but this was a very good talk. He’s also blogged about the topic.
Getting started with Graph Databases
I had some reservations about this talk, as it was contained in a track called ‘Cool companies’ (oh no, no marketing please!), but this turned out to be a perfect introduction to Graph Databases, by Rik van Bruggen of Neo Technology, the leading graph database provider (with their product Neo4j).
Conceptually the case for graph databases (often mentioned as a NoSQL variant, which, according to Rik, is a contraction of Not Only SQL 🙂 ) is not one of volume but of complexity: graph databases arguably allow for a richer data model and more expressing power. Rik demonstrated how in graph databases certain semi-structured, connected data can be modeled more naturally than in a normal relational database, and illustrated this with a demo featuring Belgium beers, one of his other passions. In the SAP world, a common setup would be to install a graph database next to your ERP instance (HANA anyone?), load data from your ERP-system to this database, and then query it. Kind of an ETL-like process, but you wouldn’t create cubes or anything but use the Cypher graph query language to extract meaningful information out of it. If you want to learn more about graph databases, there is a book being written which you can (at the time of writing this blog) download for free.
A short version of this talk seems to be on Youtube, as he’s also spoken about this at Monki Gras 2013. Thanks Tom Raftery!
So, what are the main lessons to be learned from all this? Well, most importantly, despite not knowing a single soul I had a great time during these two days.
Next to that, I learned a lot. Will I use all this new knowledge directly in my current SAP project? No, certainly not. Will it ultimately make me a better developer? You bet! Knowing for instance when to use which database (i know, always use SAP HANA 🙂 ), knowing which fundamental options there are (like schemas vs schemalessness, like SQL vs Graph vs other NoSQL), ensures that you can include more options for the customer or choose the better option yourself. For instance, even when in the SAP customer base you probably won’t need a graph database anytime soon, it’s still useful to know when it can add value and in what kind of scenario.
This conference also got me thinking again about how much the SAP community is still lagging with regard to general development methodologies like iterative, agile development, practices like TDD (Test-Driven Development,) BDD (Behavior-Driven Development), Continuous Integration and Delivery, etc. One of my goals for the next few years is to help ‘us’ (SAP people) make the shift that many developers outside of SAP have already made, and to become better at what we do and how we do it. I won’t pretend I ‘get’ even half of it myself at the moment, but this is something we should definitely push going forward (but it deserves its own blog post). One last link if you’re interested in that stuff: read this excellent blog post by Paul Hardy!
So like I said in the beginning, I can recommend everyone to go to a non-SAP developer conference and to broaden his/her mind. Which conference that’d be, depends on what you want to learn (you could for instance go to a dedicated mobility conference if that’s what you’re interested in), but at least have a go at it!
I’m pretty sure I’ll go again next year (they have very interesting discounts too!) and I’ve already asked the organization to maybe include an Enterprise track (and of course I’d be happy to help…). That would be really cool.
So, after all this text, let’s make the page a bit more entertaining by providing some photos of the building: the famous(?) Beurs van Berlage. This turned out to be an excellent location for a small (compared to sapteched) conference:
Well, if you’ve made it until the end: thanks for reading!
Nice blog Fred. Thanks for sharing this event.
Thanks so much for enlightening us. It sounds like a great conference - I know that Sascha Wenninger is also enthusiastic about the #YOW conferences in Oz.
It will be interesting to see how the lessons you've learned here can be applied in your real life job.
w00t! Well done taking the time out to attend something entirely unrelated to your bill-paying day job, and then writing about it! Awesome!
I totally agree with your sentiments around the need to see what the rest of the IT world is up to, even if it only helps to highlight that the SAP community is generally not in danger of being hurt by the cutting edge. It's sad that while a lot of good IT shops have gone well and truly beyond agile into CI/CD/BDD/etc-land, we're generally still stuck in the waterfall and BUFD methodologies pushed by SIs. :-\
As Susan Keohan mentioned, I'm a big fan of YOW! in Australia, which are very similar annual conferences supported by 1.5 hour talks over beer and nibbles every 2-3 months. I've been to a few, and have always learned something which I've applied to work in the SAP space. For example, 2 years ago I attended a whole-day workshop at YOW on Domain-Driven Design by Eric Evans and a few of the 'softer' concepts like Bounded Contexts and Anti-Corruption Layer patterns have stuck with me. With my work being mostly in the hand-waving architecture space, the DDD notion of accepting that not all parts of a big system will be well-designed is comforting and pragmatic in a discipline which too often tends towards perfectionism over action.
Like this one, I find many of my take-aways from non-SAP events are less about concrete solutions elegantly implemented in obscure functional languages, and more about softer "design" patterns, broader and more durable principles or some of the fundamentals about computing. And those are so much more valuable than specific pieces of knowledge about how to do x in version y.z of product foo as those things will remain useful for a whole career and not just the next 3 months.
And for that reason I'd encourage/challenge everyone in the SAP community to get out there and attend at least one non-SAP event per year. It doesn't have to be a multi-day conference, it could be beer.js or any number of local gatherings in your area!
Awesome work Fred! 🙂
Thanks for sharing your own experiences!
YOW seems very similar indeed: we also had some GOTO nights before the main event. I couldn't attend them, but will try harder next year.
I'd also love to do the DDD workshop (an acronym I missed in the blog 🙂 ).