You’re currently offering FileMaker Master Classes in a number of locations, including two within the US. How did that come about?
The classes being offered presently are in a sense a sequel to two classes that were offered in 2014 in Berlin and London. The original impetus came from Egbert Friedrich of FileMaker Mentoring in Berlin, who invited me to consider presenting developer-oriented material for a Berlin class. It really grew out of that.
I was interested in the idea because my own experience has been that there has been very little available to take people beyond the basics and the levels of ability required (for example) for certification. There are a few DevCon sessions each year that are listed as advanced, and there are some online resources (of which filemakerhacks is one, in fact) that delve into deeper issues. But there has been no coherent framework to address the concepts and challenges that advanced developers face.
What I think essentially sets these events apart is that the content is broad-ranging, and the topics are inter-related. It’s not taking a specific area such as user interaction or interface design in isolation. Those things are definitely under discussion, but as part of a much wider agenda.
So the Master Classes are intended for advanced developers. What does that mean, and who would you consider to be at an appropriate level to take the class?
Yes – this is three days straight of advanced content, with a pretty densely packed list of topics. It really assumes people don’t just know all the basics already, but that they’ve built and deployed some sizeable systems and have a sense of the complexities and challenges that go with that.
We’re not requiring people to be certified in order to undertake the classes, and in fact we’re not pre-screening people as such, but the material and the level is pitched to be most useful to people who are (or would be, should they choose to sit the exam) already qualified for certification. It’s a step or two on from that.
That’s not to say that less experienced people won’t get anything out of it – and in fact there were several people in the classes in Europe last year who claimed themselves ‘intermediate’, but who felt they got a lot out of the three days. But the level of the material is pitched at the advanced developer and that’s the main focus.
That begs the question as to what exactly is an advanced developer. What’s your take on that?
I agree it’s a tricky question and different people will give different answers. Let me start by saying what it is not.
When people start out they quickly pick up on ways to accomplish a set of things and they’re learning how to accomplish others, so they are beginners. Then over time they learn at least one way to accomplish most things and are learning alternative ways to accomplish some of them, which I’d characterise as an ‘intermediate’ stage. Those are steps on the road towards advanced development, prior to arrival, so to speak.
By contrast, advanced and expert developers already know multiple ways to accomplish most things, and become interested in nuanced decisions about when to apply different techniques – how to combine alternate approaches. And of course, advanced developers have a hunger to look deeper into the application to understand why it works in certain ways and what that means for how we choose to use it.
It’s the people who are part of the latter group who will really find that the content of these three days speaks directly to what concerns them.
Are the classes intended to allow for much discussion or input from the attendees?
Yes, while there is a lot of material to cover, time for discussion is built in to the schedule. The classes have an upper limit of around 20 developers. One of the really great aspects of the format, as we found in Europe last year, is that you have a relatively small group of highly experienced people in the same room for three days, and that in itself makes for some great insight and interaction.
When a discussion is underway, different people around the room will have their own personal ‘aha’ moments and share that with the group, which in turn helps others to make connections of their own – so it becomes a process that feeds into itself and gathers its own momentum.
The material I will be presenting opens up a lot of topics and invites attendees to consider alternative ways to think about problems or to approach FileMaker development practice. In that respect, it’s important that people are open to being challenged and to new or alternative ideas and approaches.
Is this a focus on best practices that will give people a set of guidelines or techniques they can apply in their work?
As you probably know, I’m not all that big on dogma generally. So while I’m happy to ask the challenging questions and to discuss some of the answers that may have merit, I’m certainly not about attempting to dictate development styles, and the choices absolutely remain with the individual developer.
What I am very much in favour of is people thinking broadly and making informed choices – knowing why in a particular circumstance they favour one approach over another.
What we find is that as developers become increasingly experienced, they form habits and adopt assumptions and positions – and over time that can get in the way of really seeing what options are available. In part that’s exacerbated by changes in the platform – what was clearly best practice a few versions ago may still work, but may no longer be the best approach. In some cases over a few release cycles, things are tipped on their head and the way we used to do things is really no longer desirable.
The three days of this class are an opportunity to step back and take a fresh look at what the tool set is now, and why and when we might consider using it in certain ways. It’s also inviting people to think about how the platform has changed and where it is positioned now – what the real limits are or should be for the kinds of work we should do and the kinds of solutions we should consider producing in FileMaker in 2015 – as opposed to what made sense ten, five or even (in some cases) two years ago.
What’s the balance between theory and practice in the Master Classes?
I have to say that it’s a mix of both throughout, and that’s quite deliberate.
As an aside, I should probably say upfront that anyone hoping for three end-to-end days of “tips and tricks” is bound to be disappointed because although there will be quite a few examples and demos, that’s not the sole focus. The demos are there to tie the discussion back to practical realities and to get to grips with the real-world implications of some of the ideas so one might say that the ideas come first and the demos are in a supporting role.
That said, there will be lots of examples at every level – code, structure, interface, automation, deployment and development practices.
But throughout, the main aim is not to impart specific techniques as such (though there are plenty of interesting techniques that will be explored) but to get to the thinking behind the techniques and to elevate the discussion to the level of insight about the ‘whys’ rather than getting stuck on the ‘hows’.
Could you say more about how the classes operate, and about the content that will be covered? How exactly are the theory and practice components handled?
Well, let me start by briefly describing the structure of the sessions over the three days. I’ve assembled a set of around fifty inter-related topics that are loosely grouped under six headings – so each of the six sections covers eight or nine focus points.
In the class, we’ll begin each segment with some slides and a presentation covering a group of related ideas and issues. That will be followed by – and occasionally interspersed with – examples and demos, which will then lead into group discussion and workshopping around the concepts.
By the way, the full content outlines are available as a download from the event and registration pages, so people can get a feel for the scope of the content.
The aim is to have an inclusive and interactive experience throughout, while nevertheless tackling an ambitious agenda bristling with ‘hot topics’ for advanced developers.
One of the great things about this is that the discussion builds as the class progresses, so later topics refer back to and build on issues addressed in earlier parts of the content.
Can you summarize what you hope to achieve with these classes – what you expect attendees will get out of the experience?
Well, one objective is to collaborate with other developers in addressing the difficult questions so that together we can find ways to raise the bar of advanced development practice within the FileMaker platform.
In part, that means taking a step back to identify how things can be done differently and better, to look at how the platform is evolving and how we can leverage that now and into the future. So one aspect of it is identifying ways that all of us can write better solutions and extend FileMaker’s reach.
On the other hand, it’s a recognition of the fact that we’re all on a journey and you don’t suddenly get your FileMaker Certification for the current version and find there’s nothing more to learn. But in fact the training resources available do mostly stop at about that point – the FTS and certification programs more-or-less treat certification as an end point, and in some cases as an end in itself. The intent here, in part, is to pick up where that leaves off.
So you see this as part of a larger pattern or shift in the way things are done in the FileMaker community?
I’d like to think so. I think as any platform matures, there comes a need for reflection and for discourse at a high level about the thinking and the frameworks, strategies and approaches that people are adopting, as well as the thinking and skill sets behind them. FileMaker is increasingly a mature platform, and the relatively recent developments in iOS and WebDirect technologies underscore that.
An important part of moving towards and embracing the maturity of the platform is finding vehicles to bring together advanced practitioners and to collectively move forward.
One part of my objectives in the re-write of the FileMaker Bible editions that I undertook some years back was to contribute to that kind of change by documenting both techniques and the thinking behind them to a high level, and as part of that I endeavoured to provide a (then) new perspective on the platform.
Things have moved on from there and maybe print media is no longer the right vehicle, but I think the Master Class format is another step towards meeting some of those goals.