Tuesday evening saw another great night out for the London Java community (and GDC, LSug, LCg, LtdWIPSoc). Thanks to Barry for arranging our own regular space at this very popular pub and thanks to everyone that came along to join in the fun.
I ran a brainstorming session to get lots of event ideas for the next few months and we have a large number of events lined up now. The session lasted less than half an hour and we all got socialising with everyone else that turned up and started watching what we were doing!
I had some great conversations last night, starting with a really interesting question about what best language to learn in the Java space. We talked about the Java language and how although it has not evolved much over the last few year, its the core Java that is of commercial interest (gets you a Job). Although knowing a functional language or having worked with NoSQL (eg. Hadoop) can help make you more interesting to employers – and help get you more interesting work.
We also discussed what functional languages are worth learning. I suggested that Scala is the most commercially viable, partly because it is multi-paradigm and seems easier for developers to start getting to grips with. Also there has been a decent sized community growing around Scala, in London and world wide and many financial oriented companies (banks, trading, on-line gambling) are using Scala for its ability to process the same transaction effectively across large data sets.
I also recommended learning Clojure and/or Haskell/Jaskell to help learn functional programming well, as those functional only languages drive you to think in functional concepts. My only concern with Scala was that is a mult-paradigm language, so its easy to drop down into Java like coding rather than making the most out of functional programming. We have our respective coding dojo’s soon – Scala this Thursday and Clojure next Tuesday.
I also had a great talk about acceptance testing and how I have seen this grown in adoption, especially in the last year and a half. I expressed how I feel that acceptance testing provides many benefits in the overall software development process, helping you ensure that everyone has a clear and shared understanding, encourages roles to work very closely together, able to manage change effectively and helps developers know when they are really “done”. Acceptance tests can also alleviate some of the burden from testing, being automated it allows more exploratory testing to be carried out. Using an acceptance tests approach is just one of the reasons I like BDD.
Finally we were talking in more detail about setting up a Java coding dojo and the various aspects we can include in that kind of event. There does seem to be a large appetite for learning and practising test driven development in the LJC and certainly within the GDC and at the code retreat last year many people are also interested in practising acceptance testing too. Setting up a dojo takes quite a bit of effort, so we’ll keep you posted as to when this is ready.
I’m looking forward to next months social and hopefully meeting some more of our 1500+ members.