while its compiling

While It’s Compiling: Skills Matter interviews Graeme Rocher

graeme-rocher

The Groovy & Grails eXchange 2014 (from left to right): Guillaume LaForge, Graeme Rocher, Russell Winder

After the success of the Groovy & Grails eXchange at Skills Matter, we spoke to the event’s second keynote speaker Graeme Rocher. Graeme is the project lead of Grails at Pivotal as well as CTO at G2One Inc, an open source services organisation providing training, consultancy, support and products around Groovy & Grails. He gave us some insights into what the new Grails framework is capable of, why contributions are so vital to the success and evolution of the Groovy language, and why he left London for Spain’s beautiful Basque Country.

Groovy & Grails eXchange 2015 tickets are on sale now – only £95! (for a very limited time)


You recently delivered a keynote talk at Skills Matter’s Groovy & Grails eXchange 2014 with a preview of the 3.0 rewrite of the Grails framework. Can you give us an overview of what the new version is capable of?

We’re previewing Grails 3, which is what we’ve been working on for the last six months or so now, which is a lot more flexible than Grails 2. You’re able to target multiple environments via the notion of profiles, so a Grails application could be potentially deployed in other targeted environments whether it be traditional Servlet, Netty or Batch. It’s also written to be built on top of Gradle, so the build system is completely new and more robust thanks to Gradle. And it has a completely rewritten code generation layer API which is now formalised, whilst before it was just a bunch of disconnected scripts. It is now much more robust. And it’s of course built on top of Spring Boot, which means that you can run your applications as a JAR file or you can write applications that are just little Groovy scripts, so you get much more flexibility in terms of how you create Grails applications.

With the core Groovy team being so small, how important are contributions to the success and evolution of the Groovy language, and do you need more people to get involved?

The contribution is essential to the survival of both projects and we’re constantly on the look out for new contributors. Groovy has done exceptionally well in this area, especially in the core with around 50% of contributions from the community, and it continues to operate very much as a community-run effort and that’s fantastic. Grails is a little bit more divided. We get massive contribution from the plugin community via plugins and that’s really buzzing and continuing to evolve, and that area of plugins in Grails is significant by itself. We get fewer contributions to the core, but they are still significant and we rely heavily on that. And of course we’re always on the look out for people to contribute.

You co-founded G2One – the Groovy/Grails Company – with Guillaume LaForge. How did it start, and did you ever expect it to become as successful as it did and ultimately attract the attention of SpringSource?

Well, you always have those hopes and dreams when you’re creating a startup so we went into it hoping to be very successful and in the end we were! But in terms of how it started, it was really around 2007 when I was presenting Grails at JavaOne and I got to meet Guillaume (LaForge) and the community and really get to know people, and we started spinning some ideas around and got in touch with some fantastic investors and the idea came to fruition to start a small startup. What we created was compelling enough for SpringSource to acquire and we still believe it is.

You co-authored ‘The Definitive Guide to Grails’ with Jeff Scott Brown, which explains the roles that Groovy and Grails are playing in the changing Web (amongst other things!). Can you summarise what roles these are and why they’re important?

The web is clearly evolving in terms of having much fatter clients and smaller services at the back end and these kind of Micro Service applications are definitely very well expressed in a concise language like Groovy. You can see that when you look at Spring Boot, how well Groovy fits into creating these types of small, focused applications that fit into Micro Service architectures where you have an essentially REST-based backend with Mobile and HTML frontends. Grails 3.0 with its profile support allows flexibility in creating small micro applications are what we like to call “Modular Monoliths”.

You’re based in Bergara in Spain’s Basque Country. What’s it like working there as a tech professional, and do you ever think about locating to a more tech-focused city such as London or Berlin?

Well, I lived near London for 12 years and London in itself was and is a fantastic hub for technology and innovation and a great place to be for creating a startup or for being in the tech industry in general. In terms of where I live at the moment, the Basque Country is a beautiful area, and it certainly has a tech community especially around the cities like Bilbao and Donostia. But it’s no where near the size of London. In terms of why I’m here, its mainly family reasons. My wife is from the area so its very much a family decision being here. But I’d certainly recommend London if anyone is really into the tech industry as a place to work and be


While It’s Compiling is a continuing series of interviews with experts across a range of bleeding-edge technologies and practices, exclusive to Skills Matter. Be sure to subscribe to this blog for future interviews, or follow us on Twitter.

Find out who we’ll be interviewing next, and get a chance to put your questions forward with the hashtag #whileitscompiling.

 

While It’s Compiling: Skills Matter interviews Rebecca Grenier

For an insight into December’s Scala eXchange brought to you by Skills Matter, we caught up with Rebecca Grenier, who’ll be speaking about Slick – a relational database mapping tool that brings Scala’s features to database interactions. Until recently a Software Developer for EatingWell Magazine in Vermont where she used Slick to transition from a PHP website to Scala, Rebecca is now working her magic on the University of Vermont’s websites. She told us about the hunt for experienced Scala programmers in Vermont, eating well at EatingWell, and her efforts to make the image of women programmers a more normal one.

Becky And The Hackettes

‘The Hackettes’: left to right – Megan Brown, Rebecca Grenier, Buffy Miller, and Sarah Lindberg.


SCALAX-141000x150px-black

Only 2 days left – Book your ticket now!


What are the coolest things about (the relational database mapping tool) Slick?

Slick is a great showcase for Scala itself, using some of Scala’s best features to improve how programs can work with relational databases. These features include static type checking, the functional collection methods, and for expressions.

What have been the main challenges faced during EatingWell’s transition from a PHP website to Scala?

Here in Vermont the biggest challenge has been lack of any experienced Scala programmers to hire. I hear they are hard to find everywhere but here they do not exist (in our experience so far).  Every single new hire needs to not only learn our specific systems but also the Scala programming language and often the whole functional programming paradigm as well.  Recently we have found some expert Scala consulting companies located in the larger cities who are helping a lot.

What did you love most about working as a software developer for EatingWell Magazine?

I loved working with the EatingWell editors and food writers as I am a wanna-be healthy eater and home chef myself and their recipes and articles are hands-down the best anywhere.  It was challenging working for a company who was so focused on print-media rather than digital, being in a support role and not a member of the core business.

You’ve taken a one-year term position at the University of Vermont to work on the Department websites. Do you see a dearth of females students focusing on tech-related subjects?

Well, my work at the Communications Department hasn’t led to a lot of involvement with the student body yet, but all the statistics I hear about women entering into STEM fields are not great.  I believe the key is getting younger girls involved with programming and computers.

Tell me about Becky and The Hackettes?

Becky and the Hackettes was a dream I had ever since I first heard of the Vermont Hackathon.  I wanted to see an all-women’s team compete.  The first year I participated (which was the second year of the Vermont Hackathon), I did not know any other women programmers who could participate, so I joined a men’s team just to see what it was all about.  It was fun but I was dismayed to see the low percentage of women, which only dropped further as the night got later and later.  The next year I had met some other women programmers who were willing to join me and four of us competed as “Becky and the Hackettes”.  Despite the fact that almost none of us used the same programming languages (if you want an all-women’s team you have to take what you can get), we worked together well, created a great application and took home second place.

Any other initiatives you’re involved in to encourage women to get involved in tech and coding?

I have also been very involved with GirlDevelopIt, which is an initiative that offers low-cost introductory tech classes to women to try and get more of them into the field.  I have been a Teacher Assistant to many classes, taught a few, and created a totally new class on “How to get your first job in tech”, which actually did lead to at least one person getting their first job in the tech world. I also frequently am asked to serve on panels that want to ask questions to programmers, which I try to do whenever possible to hopefully make the image of women programmers a more normal one.

You’ve been a web programmer in Vermont for more than decade – why there, rather than a tech centre like San Francisco or New York?

I stay in Vermont because this is where my family is and because I love it here. I love the seasons, I love our brave and independent politics, our Senator (the only Independent in congress) Bernie Sanders.  I love our rural rednecks and “city” hipsters, and that they are only a 30-minute drive from each other. One of these winters I’m going to take up skiing, too.


While It’s Compiling is a continuing series of interviews with experts across a range of bleeding-edge technologies and practices, exclusive to Skills Matter. Be sure to subscribe to this blog for future interviews, or follow us on Twitter.

Find out who we’ll be interviewing next, and get a chance to put your questions forward with the hashtag #whileitscompiling.

 

While It’s Compiling: Skills Matter interviews Brendan McAdams

brendan mcadams LARGEFor the next in our series of Scala eXchange speaker interviews, Skills Matter caught up with  polyglot programmer and international speaker Brendan McAdams. Previously at Typesafe, Brendan now works at Netflix and will be using his talk at Scala to speak about the architecture Netflix is using for their next generation device metadata APIs. He told us about the beauty of simplicity in code, the importance when building software of keeping users at the forefront of your mind, and why walking and drinking local beer is the very best way to discover new cities.

SCALAX-141000x150px-black

Only 4 days left – Book your ticket now!


What makes REST API’s beautiful?

I’ve always been a big fan of elegance and simplicity in code. Having done a lot of messaging systems in the past, with everything from Fixed Field over TCP/IP to SOAP, XML/JSON-RPC, and more, I’ve burnt myself out on the complexity and insanity of these formats. Why do we, as developers, insist on building such inscrutable messes and then selling them as an improvement? With REST, you can choose whatever data interchange format you want, whether JSON, XML, or even the abomination that is IBM’s JSONx, while maintaining a consistently simple transport protocol. You can declare a set of common endpoints that any language can consume without big nasty client libraries–frontend & backend devs alike can get useful things done. Ultimately, REST’s transport protocol is just HTTP, which most modern developers understand intuitively. It ends up being mostly self-describing, and that is a beautiful thing. Simplicity in code has an elegance and beauty all of its own, and I absolutely love that.

What is it about the toolsets of Scala (Scalatra, Swagger, and Akka) that allow you to do this particularly well? What makes them different?

Swagger solves the problem of “how do I effectively document my UI in a way that stays up to date with my code and makes sense to API users?”. It is just a fantastic tool for doing this, as you describe your API with it as you write your server API. Ultimately, Swagger really helps with a belief I hold that Code is (or should be) communication. Scalatra makes things simple: minimal configuration and convention. With Scalatra, your code is generally your configuration and it integrates cleanly with Swagger to extend that to your API Docs. As for Akka, I could write an entire book on how wonderful it is as a product. Specifically with Scalatra though, I’ve found it incredibly powerful for handling background tasks that need to happen behind the scenes while the rest of a request completes. In particular, I’ve used it to defer long running invocations to external systems without blocking up the rest of a HTTP request thread.

What other architectural considerations do you need to make when building REST APIs?

Consistency is important: there aren’t 100% perfect, immutable standards for REST APIs but rather a general set of loose guidelines. As such, it ends up being really important to decide on what your standards are and communicate them effectively to your team, and get everyone to agree. Good, well disseminated internal standards prevent the inevitable hammering a square peg into a round hole syndrome. It is all well and good to decide you are going to use a particular set of HTTP response codes, but do the people using your API understand what it means when you do? Do you consistently communicate errors in a meaningful way? Finally, how do you document all of this? I’ve found that self documenting code – especially with a tool like Swagger – makes everyone involved happy because your code quickly reflects reality from a documentation standpoint.

You moved to Netflix earlier this year. What were you able to bring to your new job as a result of having worked at Typesafe previously?

Between my consulting and training work at Typesafe, and MongoDB before that, I gained a lot of perspective as a software engineer. I had previously spent most of my career in a cubicle with my head down, coding. I hadn’t spoken at conferences or even attended many. When I started speaking at the NY Scala User’s Group, my life and career took a pretty big left turn into that world. Speaking publicly, and especially consulting, changed my point of view heavily in my career. I now think much more strongly in terms of who my users are – and the idea that your customers/users might be people inside of your own company. Customer interaction has become much more important to my viewpoint, as a result. At the end of the day, if you aren’t building software with your users in mind you are wasting everyone’s time and a lot of their money. So I’ve found that while working at Netflix I spend a lot more time making sure that my code communicates more effectively with its users. Clear error messages, consistent behavior, and sanity are much bigger parts of what I do in my code than they were prior to my Typesafe and MongoDB days.

Since working at Netflix, have you made any exciting discoveries outside of the SCALA ecosystem?

There are a wealth of tools that Netflix has both internally and as part of the Netflix Open Source projects which have really opened my eyes to better ways of doing things. RxJava, in particular, the focus on immutable deployments makes it much more likely that I can reproduce a server issue because nobody has changed things out from under me.

We do a lot at Netflix with stability and fault tolerance, to the point of having a “Simian Army” whose job it is to create trouble and chaos within deployed systems to ensure what we build is capable of resilience in the face of adversity. There are also very interesting things coming out from the Open Source world in general around these kinds of flexible infrastructure concepts such as Docker, which intrigue me. I simply wish I had more time to play with them! Within the Scala ecosystem, I’ve recently started playing with Scalaz which is a haskell-inspired functional programming library to extend and complete Scala’s stock toolkit. It has turned out to be a fascinating and powerful tool for improving my code.

You’re a very prolific public speaker! What do you love most about speaking at conferences, whether at home or internationally?

I love getting a chance to show people what I’m thinking and what I’m excited about at a given time – and forcing them to sit down for an hour or two and listen to me ramble about it! It is a fantastic opportunity to show off cool things that people might not have known about before, and it is a very rewarding feeling. As for the fringe benefits of being a speaker, I think I’ve always found the “hallway track” – the part of the conference between talks where you get to talk to people – the best part. There’s always amazing perspectives that I wouldn’t find anywhere else, and I learn so much about what is going on in the industry. I’ve made a lot of lasting friendships over drinks and conversation at these events that I wouldn’t trade for anything. Finally, I’ve always loved walking around new cities and trying the local beers. There’s no better way to learn about a new place than a comfortable pair of shoes and a healthy liver. Since I started at MongoDB in 2010 I’ve worn out the soles of at least two pairs of Doc Martens walking around half of Europe!


While It’s Compiling is a continuing series of interviews with experts across a range of bleeding-edge technologies and practices, exclusive to Skills Matter. Be sure to subscribe to this blog for future interviews, or follow us on Twitter.

Find out who we’ll be interviewing next, and get a chance to put your questions forward with the hashtag #whileitscompiling.

 

Friday Round-Up: 22 – 25 April

blog-post-friday-round-up-22-25

Here’s what you may have missed at Skills Matter HQ this week!


The Week in Skillscasts

Every week we record the majority of meetups and user groups that come to our offices in London for evening events and talks. These are our Skillscasts – and their all available for free on Skillsmatter.com!

Catherine Breslin talks at Thursday's Women in Data meetup

Catherine Breslin talks at Thursday’s Women in Data meetup

Beginning the week for us, the London Java Community hosted Arun Gupta, the director of RedHat, for a discussion on what’s new in WildFly 8. Arun talked about RedHat’s open source Java EE 7 compliant application server which provides a ‘core’ distribution that is ideal for framework authors.

The London Phonepap & Javascript user group brought two speakers along for an event discussing Nobackend apps with PouchDB and rendering performance using Chrome DevTools. James Nocentini delivered the first talk showing how he built a real offline mobile app and how PouchDB helped him to avoid creating a backend.

Next up Matt Gaunt, a developer advocate for Chrome at Google, hosted a session explaining how to optimise and debug mobile applications with DevTools.

On Wednesday Deep Learning London were joined by Dr. Boumediene Hamzim, a researcher at the Department of Mathematics of Imperial College London, for a talk that delved into machine learning, learning theory and Artificial Neural Networks. The talk explored how we live in an age of data and why it is important to make sense of it using certain frameworks and Artificial Neural Networks to illustrate the thought process.

The Limited WIP Society paid close attention The Theory of Constraints as well as taking a look at the ‘Evaporating Clouds’ at a the first of three talks on Thursday. They considered real life examples, visualising both sides of the conflict and tried to find a better overall solution than just the obvious compromises. As this was a hands-on session, we were unable to film, but you can find out about the next meetup for the Limited WIP Society here.

Women in Data returned to host the second of Thursday’s meetups. Elizabeth Keogh introduced Cynefin, a framework for making sense of the world and its problems. Liz highlighted its uses, like how it can help developers with the use of libraries to avoiding the pitfalls of disorder. Catherine Breslin then covered the basics of speech recognition, and how we use machine learning to model both acoustics of speech and language.

To complete the week, Mark Harwood delivered an In The Brain talk on the open source search and analytics platform, ElasticSearch. Mark, a software engineer at ElasticSearch, demonstrated how anomaly detection algorithms can spot credit card fraud, revealed the UK’s most unexpected hotspot for possessing weapons and how to find movies that urgently need removing from your ‘family friendly’ category!


The Week in Blog

Russ Miles

We talked to Russ Miles about microservices, antifragility, and which books you should be reading and Matias Piipari, CTO of Papers, talked about mobile platforms and app development.


Next Week in Brief

Monday: In The Brain of Luke Hohmann; In The Brain of Shashikant Jagtap; In The Brain of Adam Gundry

Tuesday: Performance and Predictability with the London Java Community; In The Brain of Russ Miles

Wednesday: The graphs of gaming and recruitment with the Neo4J user group; Angular forms and Geospatial Data with Mean Stack

Thursday: Creating Type Providers with the F#unctional Londoners; Talk the walk with Codebar; LMAX Exchange architecture with the London Java Community

Friday(ish) Round-Up: 14 – 17 March

OpenTechSchool London

Once again, we’ve had a fantastic week here at Skills Matter HQ! On top of the meetups and user groups below, we were also joined by the amazing OpenTechSchool London for their final introduction session to Python. This followed from their introduction to HTML and CSS back in February, and we’re joining with the group’s members in their excitement for the next event!

We’ve also had the chance to talk to some of our amazing experts this week for our While It’s Compiling series, most recently Martin Pilkington, founder of M Cubed Software.

If you missed out on coming along to Skills Matter this week, be sure to check out our upcoming events here!


The Week in Skillscasts

Every week we record the majority of meetups and user groups that come to our offices in London for evening events and talks. These are our Skillscasts – and their all available for free on Skillsmatter.com!

The London Ruby User Group

Three speakers and two talks kicked off the week with the London Ruby user group, for their meetup on Re-using GDS code & aspect-oriented programming. Camille Baldock spoke about Aspect-oriented programming in Ruby. Camille discussed how aspect-oriented programming is a solution to the problem of some features affecting virtually all business requirements, and expresses that problem in a compact and DRY way. This practical talk introduced the basic concepts of AOP, showed how to easily leverage some AOP principles in your Rails application and walked through two existing Ruby frameworks to practice AOP.

The second talk from James Smith & Sam Pikesly looked at adventures in early-adoption of open-source code. James and Sam are from the ODI tech team that last year found themselves wanting to use the code behind gov.uk for a new project. They talked on their experience of picking up a codebase which was open source, but never really designed for reuse, and what they learned along the way.

On Tuesday we were joined by Deep Learning London for a talk on Brains, Data, Machine Intelligence & Cortical Learning with Jeff Hawkins. Jeff was a founder of two mobile computing companies, Palm and Handspring, and was the architect of many computing products such as the PalmPilot and Treo smartphone. He discussed his past experiences revolving around Cortical Learning Algorithms to the Numenta Platform, streamed live from California!

Wednesday brought the London Scala user group through our doors, as they met to discuss Batshit Crazy Algebra with Types. Jon Pretty, a Scala community member since 2004 (when he launched the first commercial application in Scala), discussed what it means to “”add”” or “”multiply”” types like Boolean and List[Int], what interpretation you could attribute to differentiating types, and what this has got to do with zippers.

We were also joined by the London Java Community who met to talk about the what, why and how of Development Testing. After a quick lightning talk by Chris Newland, Marat Boshernitsan took a broad look at development testing and examined how it fits in a software development process. There was then an interactive discussion on some of the strategies for introducing development testing in both greenfield and legacy software projects.

Lock Free Data Structures and Designing Perfect Software was the topic of the day for the London Big-O meetup. Sergio from eBay gave a technical talk on lock free data structures before the group shifted gears somewhat, and Pieter Hintjens (founder of ZeroMQ, among other things) talked about algorithms on a meta level: how (not) to design and organize software projects. Unfortunately, due to unforeseen circumstances, we were not able to record this talk.

We’re so quick with our Skillscasts, they’re available before the meetups even happen! (Well not quite… As we get an extra long weekend here in the UK, this post is going out a day earlier than normal, but these Skillscasts will be available later on this evening…)

The London Software Craftmanship Community wrap up the week here in sunny London. Ben Arroyo leads the evening off discussing efficient coding, teaching you how to save time in the mechanics of coding, and how to become a more efficient developer by taking advantage of productivity tools and practices.

Alastair Smith then discusses his top 10 tips for good object-oriented programming, covering some observations of common mistakes in object orientation, particularly in C# codebases. Alastair is the founder of the Cambridge Software Craftsmanship Community, and is part of team at Red Gate building ingeniously simple tools.


The Week in Blog

daniel

Martin Pilkington talked to us about iOS app developmentAndres Löh wrote a guest post about Haskell and Static Typing; we announced a very exciting – and exclusive – workshop with Daniel Steinberg!


Next Week in Brief

Monday: Four-day weekend, woooooooo!

Tuesday: The London Java Community talk WildFly 8

Wednesday: Deep Learning London on Artificial Neural Networks

Thursday: The Limited WIP Society on increasing creativity; Women In Date on Cynefin & speech recognition; In The Brain of Mark Harwood, software engineer at Elasticsearch


And Finally…

The amazing weather, fantastic user groups and meetups, and the long-awaited four-day weekend were topped off this week with the fact that iOScon 2014 – our first ever iOS focused conference – is now one month away. The response from the community has been amazing, and this promises to be one of the must-attend events of the year for all you iOS developers out there.

iOScon 2014

It may be a month away, but the line-up is already looking fantastic. The above mentioned Daniel Steinberg and Martin Pilkington will be joined by Lee Armstrong (one of the co-founders behind Pinkfroot), Abizer Nasir (organiser of NSCoder Night London), Kieran Gutteridge (co-founder of Intohand) and Matias Piipari (CTO of Papers at Springers Business and Media, and co-author of the Papers app) – and that’s just day one!

If that wasn’t enough (!), day two brings you Daniel Thorpe (iOS platform lead for Badoo), Simon Whitaker (developer of firmware for the embedded chip in a hydraulic test rig, debugged using an oscilloscope), Boisy Pitre (Affectiva’s Mobile Visionary and lead iOS developer), Amy Worrall (iOS developer passionate about user experience), Max Scott-Slade (Game Design Director at Johnny Two Shoes & GLITCHE.RS) and Tim Duckett (Product Lead for Numbrs).

Book your ticket for iOScon now, and make sure you don’t miss all of this! As an added bonus (yes, we know, just how could this be any better?), we will also be holding the iOS Hackathon on the weekend of the 17-18 May. Sign up to rise to our challenge of creating something unique and magnificent in just a few hours with a whole bunch of other eager developers: make new friends, exercise your creative muscles, and if you make a great app you’ll be in with a chance of winning a prize!

(We’ve got devices from companies like Estimote, who have created beacons which sense where you are and deliver cool extras to your phone, and Scentee, who have invented a device that can spray scents on command. Plus, we’ve got a giveaway of Pluralsight’s 30-day trial cards for premier membership for everyone who attends. Pow!)


That’s it from us, enjoy the long weekend – see you all next week!