Martijn Verburg has been a Java/JEE and open source consultant for the past 7 years who is passionate about software craftsmanship and the creative power of technical communities. He currently is the co-organiser for the London JUG (LJC), runs two open source projects (PCGen and Ikasan EIP) and is a bartender at the Javaranch. Most recently he is embarking on a stint of conference speaking and writing “The Well-Grounded Java Developer” with Ben Evans, generally at their local pub.
What is your job title?
I wear many hats and therefore have a variety of titles. I generally call myself a Java and open source consultant and let the client call me whatever they feel like! Outside of directly paid work I am a community leader/organiser for various open source projects and technical communities, e.g. The LJC.
What is your role about?
My role is incredibly varied but as an overall theme I try to help organisations realise the power of open source and technical communities. In London this typically means working with financials (and therefore the Java ecosystem) and start-ups (a larger variety of languages and technologies). As part of this theme I also work with teams to become more agile and to utilise technical best practices in our field (e.g. Source control, SOLID principles of OO development etc).
On any one day I could be writing code (mainly Java although increasingly a polyglot set of languages on the JVM), setting up project infrastructure, speaking at conferences, holding workshops, coordinating community activities, dealing with Lawyers, writing book chapters and much more! It is fair to say that my role does not include as much day-to-day programming as I would like.
For the more technical side of my role I utilise a variety of agile techniques including Kanban for project organisation, BDD/TDD (JUnit, JMock and pals) along with Maven/Jenkins for continuous deployment and a host of other Java related tools. On the server side I mainly program in Java using XML , Spring, Hibernate and JMS. increasingly I am utilising other JVM languages such as Groovy/Grails. On the client side it is typically HTML, CSS and JQuery.
I typically work with a team the size of which can span from one to two members to 50+.
What are the best/most positive parts of the job/industry?
- Programming is incredibly creative and it is very satisfying to have a user happy with something you have built.
- Technical communities are amazing, the passion and ideas that are evident at even a casual meeting are not seen in many other industries.
- This is one of the few industries where your actions can influence so many in a positive way. Even introducing a simple concept such as source control can make a massive difference to a large team of developers.
What are the negative parts to the job/industry?
There is an overwhelming lack of understanding of what software developers actually do and how their decisions affect the bottom line and/or flexibility of an organisation. All too often, programmers are just seen as replaceable building blocks, trying to make non-developers truly understand that this is not the case, is difficult to say the least.
You constantly have to learn and update your skills in order to be relevant. This can be seen as both a positive and a negative thing!
There wasn’t a standard career path for me, coming from New Zealand you are typically forced to be a jack of all trades due to the small population size. I started out by graduating with a Computer Science degree and an Information Systems degree. I then joined a consultancy as a graduate developer, became a team lead and then after a couple of years joined the global Java R&D/Architecture team. When I left New Zealand to travel I combined my experience from that consultancy and the various open source projects I helped run to become a freelancer, which I have done so for the past 6 to 7 years.
What are the prospects?
A wide variety but generally roles that require a broader skill set as opposed to say a deeply technical skill set, e.g.:
- A variety of architecture roles
- Consultant/Management consultant
- Open source community leader/advocate
Reflection and The Future
What was it like coming into the industry?
I came in during the dot-com boom and also when Java and Internet/intranet applications were becoming a real possibility. It was a very exciting and fast paced time, which of course crashed horribly. A major challenge as a new graduate was picking up on all of the industry standards which were not taught at university and would also constantly changing.
I am still trying to figure out which part of my role will dominate the coming year but I am certainly never bored on a technical or non-technical level!
Do you have any thoughts on the future of your role/industry?
Open source it is now firmly a commercially backed movement and so there is a great feature for developers in this space. Java and JVM languages are also looking to have a very strong future so the combination of the two will certainly be around for a long time yet.
Two new challenges which I think developers will face are dealing with cloud computing and at a lower level developing for multicore processors which means mastering concurrency once more.
What advice would you give someone entering your industry?
- Do it for the love but don’t be afraid to make sure that you can put a roof over your head!
- Never close your mind, always be willing to learn off others.
- Participate in your local technical communities early!
- Try to get an internship, work on an open source project or somehow learn to use the tools and techniques that are standard in our industry but are not taught in the education system.
Have you come across anything or anyone that has helped you move forward in the industry?
- I have been blessed by having several excellent mentors who encouraged me to make mistakes, to always learn and to “get stuff done”.
- Kathy Sierra showed me how to “Be Nice” and create passionate users.
- Karl Fogel taught me how to run a successful open source project
- The LJC, LSCC, GDC, CTO groups in London teach me something new everyday!