On Sunday I gave my very first workshop on the Disruptor. The aim was to give people some hands-on coding experience using the syntax. Because time was limited (you can't get people to build an entire application architecture in 2.5 hours) the example is somewhat contrived, and needs a big leap to make it into a proper application context. But the workshop should:
Apologies for the interruption to your service
Interviewed at GOTO Copenhagen
I was interviewed at GOTO Copenhagen, about Java, the Disruptor, the Graduate Developer Community & London Java Community, and a whole host of other things. So to make up for the lack of blogging this month, here it is:
On The Evil Of Stereotypes
I attended (one way or another) two events last week that got me thinking
The first was Girl Developers will Save the World - a session that had me a little confused as to whether that referred to me, or actual girls, i.e. those that are not yet legally classed as adults. The second was the Remarkable Women Twitter party the following day.
OSCON Day One
So, my first day at my very first OSCON. I have to say that when Ben and Martijn told me I had to do OSCON, that it was one of the conferences to go to, I was sceptical - not because I thought it would be rubbish, but because I have enjoyed all the conferences I've been to for different reasons.
But I'm really impressed so far.
The subject of women programmers is boring
I've been challenged to do a session at a very large conference around women in programming. Which leads to two reactions from me 1) wow, what an honour! and 2) sigh.
Continue reading "The subject of women programmers is boring"
Overheard: Development Myths
Continuing the theme of Things I Have Heard I Don't Think I Agree With.
To developers technologies are everything
I can't remember the context of this, but I hear the same sentiment in different guises over and over again. Often from non-techies, but more alarmingly from developers.
Is this true?
It's true for a certain tribe of techies, sure. And creating and effectively using new technologies is an important part of what drives the current information age forward. But I'd be worried if I thought that 99% of developers were like this.
In our day jobs, and also if we want to create something that makes any money, we need to be interested in solving people's problems and creating solutions. Sure, we'll use technology to do that. But if we were all only motivated by technology, we'd always be trying out the Next Big Thing when our customers wanted a simple CRUD web app. Any organisation that encouraged this sort of technology um, infidelity? playing the field? might find themselves with lots of fascinated and broadly-educated developers, but not a lot of productivity.
I always thought developers were drawn by wrestling with the machine to solve a particular problem, or to do something that hadn't been done before. I didn't think we liked learning Ruby because we didn't study it at university, or switching to a functional language simply because that's the way the whole world is going.
We can train The Business to speak our language
I've heard a number of people talking about the Holy Grail of having business owners write acceptance tests. At LMAX we have a (Java-based) DSL that theoretically could allow technical-ish non-developers to write our automated acceptance tests. However, is this the right thing to do? To make our jobs easier, and our code better quality, we need the business to become almost developers?
Our (very difficult) job as developers is to act as translator between the ones and zeros a computer speaks and the real life doman language our business guys (and girls) use. Forcing the business to become more technical is just, well, lazy.
So if our business people shouldn't be forced to become more technical, how can we bridge the gap? Is there anything that we as developers can do to move closer to the business?
A Ubiquitous Language is a good start. When a business user talks about an order, a developer should be thinking about the Order class, or something that implements an Order interface. When the business talks about placing an order, a developer shouldn't be thinking "place order translates into the execute method", they should assume there's a placeOrder method somewhere they can use as a start point.
We certainly shouldn't be training the head of sales to start talking in terms of Java classes or technologies - "I want the Resin tier to validate the order while the OrderMatcherImpl checks for availability". That would be silly.
Development is hard, that's why they pay us. And part of that hard job is learning the business model we're implementing so we can mirror and support the business. We shouldn't be inflicting our technology on the business.
The birth of a new community
Topping off my mini-tour at the end of May, I was invited to Rotterdam to present to a brand new community of developers. I was really interested in attending because my experience with user groups is pretty much limited to the London Java Community, and I knew this would be different due to being a) across a wider range of technologies and b) shiny and new.
QCon London: Disruptor presentation video
The "User's Guide to the Disruptor" presentation I gave at QCon London is now available on the InfoQ site. This is the same presentation as the one I gave at Skillsmatter in March, but the questions are different. Plus since I'm winging it every time, I probably cover slightly different things or explain some stuff better / worse.
GOTO Amsterdam
Three airports and three hotels in a week, and I don't know whether I'm coming or going. Add to that a mere four hours sleep last night, and this might resemble the ramblings of a mad woman (more than usual that is).
GOTO Amsterdam was a different affair to GOTO Copenhagen, which is not necessarily a bad thing - it's great that the events have their own personalities and aren't cookie cutter versions of the same thing.