Our special guest for this podcast is Matt Wood from IT recruitment firm www.fruitionit.co.uk/
Matt and FruitionIT run "The JVM Thing", a community of Java Full stack developers - twitter.com/The_JVM_Thing
What Java/JVM Stack skills are in demand?
Matt G:Hello, and welcome to the first podcast of 2018. I think it's number 11 in the All Things Java series. My name is Matt Greencroft.
Richard:I'm Richard Chesterwood.
Matt G:Today, we are delighted to have in the studio with us Matt Wood from Fruition IT. Hi, Matt. Thanks for joining us.
Matt W:Hi, Matt. Hi, Richard. Thank you very much for inviting me in.
Matt G:As we've got you here, what I think we'll do is start by talking to you a bit about the job market, that kind of thing, and then we'll cover some of the other things we normally talk about on our podcast a little bit later on.
So, thanks for coming in. I guess it would be worth saying we met you at an event that your company puts on called The JVM Thing.
Matt G:Do you want to tell us a bit about why you set it up, what it is, for those people who have not heard of it, and we'll take it from there?
Matt W:Yeah. Perfect. I'll start with Fruition IT. As you've said, we're a major tech recruitment company in the Leeds area. We're a very high service-driven recruitment business. We've been established now for ten years in March. We have a lot of clients in the Yorkshire area, but also UK-wide as well. A lot of the clients we work with are looking for in-demand developers, specifically Java, as well, and we realised there wasn't really a community event for developers in the JVM ecosystem. We decided to set up an event called the JVM Thing.
We started doing a meetup focused around Java versus Scala, with no real kind of expectations of what the group could become. To have around 88 people sign up to the event, we were completely overwhelmed. We had lots of developers and IT professionals come from a lot of our clients and a lot of the major businesses across the Yorkshire region. The feedback was amazing and forged us to effectively continue with a community-driven event, and then multiple events throughout the year.
We did an event on reactive systems, where we had James Pittendreigh and Rob help us out from EE Mobile. We also did an event on Kotlin, where we had Andy Bowes help us out, who is at XML Systems, I believe, now, and Michael Richardson at Sky. And then we did an event on Java 9, as well. And we had Sam Bate help us out at Hermes as well as the chaps from Infinity Works as well, who have come to help us out throughout the year. People like Neil Dunlop, Ben Foster, and lots of other amazing people.
Richard:What I love about it is that, although you've done a session on Java 9, but generally it's about the Java stack rather than just Java specifically.
Matt W:Yeah, absolutely.
Richard:So Reactive and Scala-
Matt W:Kafka. Yeah, absolutely has been discussed you know so we're looking forward to welcoming Simon Ritter as well, who's a Java champion. He's coming up on the 25th of January to talk about Java at speed.
Richard:We've been looking forward to that for weeks, haven't we?
Matt G:We have. I mean seriously. We've talked on the podcast actually a bit about Kotlin after having gone to your session on Kotlin. We've done a podcast on reactive systems, which was certainly partly inspired by what we heard there. And I think we'll almost certainly talk about what we ... For us it's a very good source of material.
But I mean what's interesting is you've dropped in there rather nicely a large number of names of companies that are very big and very well known in the U.K. For us, I think, we get a real sense of what people out there are looking for, so it's surprising to see companies wanting things like Kotlin. I mean where do you see- What is the average major employer now looking for in terms of JVM developers? What kind of skill set?
Matt W:So mainly Java. I think Java is arguably the most popular JVM language out there at the moment. But we are obviously seeing in a rise in Scala and Kotlin as well. But Kotlin is a fairly new requirement for us in the market. It's effectively a new JVM language that's out there right now that’s starting to be supported supported. And we are seeing companies out there like William Hill, like Sky and Sky Bet and consultancies like Infinity Works and BJSS for example who are now requesting that type of skillset.
Matt G:So for somebody who is out there thinking, "I want to change my job in the next few months." They're thinking about what they should have on their CV, their resume if they're an American listener, which, we get people asking us that. That's one of the reasons we've brought you in is to give our listeners some guidance around what employers are looking for.
So I would say it's focus on the Java but have things like Kotlin, have a bit of an experiment with it, have some knowledge of it, maybe things like Scala as well, a bit of a wider range, but in terms of are employers now expecting people to have everything from web development through to databases, the whole sort of range, or do people sort of specialise as they all used to in the olden days?
Matt W:Yeah, I think there's a couple of answers to that question really. I think that the full-stack role is becoming a recognised role on the market. We're getting a lot of requirements now with clients in Leeds and U.K. wide as well, who are looking for full-stack, so front and backend experience. But I still feel there's a niche there as well for people to be effectively utilised in front or backend as well. But I think that the full-stack world is definitely becoming more of a significant side role in the marketplace.
Matt G:Right, okay. So that's good because that sort of at least backs up what our understanding was.
Matt G:When we look at, occasionally we see what job adverts are out there, and see what skills they're asking for and certainly it seems to me, 90% of job roles have that phrase full-stack developer in these days.
Matt W:Yeah, absolutely. I think someone generally who has one language or multiple languages so, you know, we're always looking at the Java space by which we're looking for people that have Java 8 ideally at the moment. That tends to be the in-demand version of Java right now.
Matt W:But equally, if those people have experience in Scala or Golang or Ruby, Python, Kotlin as well, that's going to be really advantageous at the moment.
Matt G:Just because you've got some rather major employers, are they asking for things like high throughput concurrency experience of really systems that have a massive demand on them? Is that something you're seeing growth in?
Matt W:Yeah absolutely. The real time systems that have the millions of messages go through them per second, that type of thing. Absolutely. We're looking for people, or we tend to look for people that have skills in Camel, or Rabbitmq and Kafka for example, to support the demand of those types of systems.
Matt W:The high transactional systems.
Matt G:Yes. Okay. That's interesting to know. Thank you. So, I feel a bit like it’s an interrogation here. I keep asking you questions, but, where do you see sort of- again, trying to look forward to over the next 18 months, do you see any, do you know of any, where your customers are going and what they might be looking for for the near future?
Matt W:I think ultimately I'm going to stick with the market trends. There's a lot of noise about cloud technologies so you know we're looking for people that have skills in AWS, Azure, or Google for example, very similar, so people who have skills across the cloud platforms. You know, we're looking for people that have experience of non-relational databases so Oracle, MongoDB, Cassandra, and containerization as well. So that's like things like Docker. But DevOps obviously is a big thing so SEF, puppet, Terraform, Ramshead, those types of tool sets as well.
There's a big demand for that so again, we are focusing on the full-stack role there.
Matt W:To be using modern data technologies.
Matt G:Okay. That's good to hear as well.
Richard:One thing you've not mentioned at all is Spring and-
Matt W:I haven't actually. Yeah.
Richard:type things. So that's still there isn't it-
Matt W:Yeah, absolutely. I think there's a massive demand right now for Spring boot.
Richard:But I think it's fair to say, I've got to be careful here because we've got a large proportion of our libraries are Spring-ish. It's definitely live and current, but it's a bit, you know, it's been around for 15 years, so perhaps it doesn't get quite as much attention as the Dockers and the AWSs. It's not as glamorous as it was, but it's still absolutely core, I think.
Richard:Good. If that wasn’t the case we’d have a lot of recordings needing re-recordings!
Matt G:So, I know we've actually talked about this before we got to this podcast but something I think is a really interesting question is that if you are applying for a job and you get an interview, what should you wear to the interview? Yeah, so ...
Richard:Yeah, very good question. My last interview would have been nearly 20 years ago. Your-
Matt G:Mine would have been about the same, but certainly my interview was for a bank.
Matt G:Yours was for ...
Richard:Oh goodness me. I can't even remember. It wasn't a very formal corporate, like a bank or something. It was a development shop type thing and it was, then, you wore a suit. No question about it. It was suits.
Matt G:Absolutely, well I was exactly the same.
Richard:And when was it we were musing about this? I can't remember now why we ...
Matt G:I think it's we'd been in to Sky, probably for a little talk there and obviously you look around and everybody is in very casual wear.
Matt G:And I'm there thinking, and Sky always make a big thing of, when you go to any kind of talk there, they always tell you that they’re recruiting and to talk to one of their friendly recruiters and it just occurred to us I guess, if you went for a job interview there, what would you wear?
Matt G:And so-
Richard:It could be a big faux pas we're thinking to turn up in a suit.
Matt W:There's no right or wrong answer I think, though when you go into an interview. I think, you know, for me, first impressions count and so I would tend to say if it is a casual working environment go smart casual.
Matt W:You know so jeans, trousers, blazer, that type of thing.
Matt W:I wouldn't necessarily go in there in t-shirt.
Matt G:Yes. No.
Matt W:But if it's smart casual in that instance.
Matt G:So overdress rather than underdress, but-
Matt W:Yeah, absolutely. Try to like-
Matt G:Try not to go too over the top. Yeah, okay.
Matt W:Yeah I think maybe the full suit with a shirt and tie maybe might be overdoing it a little bit.
Matt W:But equally if you’re wanting to make a really good impression then, why not?
Matt G:Okay so that's if you get an interview. In terms of likelihood of actually getting one then, if you've got a decent CV, is there much in the way of jobs out there at the moment?
Matt W:Good question. Yeah, absolutely. There are a lot of jobs out there at the moment. The market is absolutely booming. The UK tech market as a whole is absolutely booming. Good question. So I read an article in the Independent Newspaper a few days ago where it stated the UK tech market sector is enjoying a record investment period despite Brexit uncertainty. So in 2017, UK organisations attracted almost four times more funding than Germany, and actually more than France and Sweden combined. So that illustrates itself that the market is absolutely booming right now.
Richard C.:And I suppose we can extrapolate from that whether you're in America or wherever, we assume that the ...We're very Java centric here, but in this kind of area, we assume worldwide it would be a similar story I think.
Matt W:Yeah, absolutely. I think from an investment point of view, we're seeing last year around £3 billion were invested into the UK tech market, UK wide.
Matt W:Compared to £1.6 billion in 2016.
Matt G:And do you get a sense of how that translates into jobs? I mean are there more developers working in the UK today than there were a few years ago?
Matt W:Good question. I don't have the stats, but I'm going to say yes. You know I can give you stats on salaries for example-
Matt W:In terms of how they have increased over the last five years. So UK wide at the minute, in 2012 we saw the average salary was around £50,000, whereas in 2017 it's £56,000. So obviously there's a 10 to 12% variation to how it's increased.
Matt G:For international listeners it might be worth saying that's, probably over the same period, it's almost been no inflation in the UK. It’s been very flat, so that's interesting to hear actually.
Matt G:So that's a positive.
Matt W:Absolutely. And when you look at the top 10% of the bracket of people, IT professionals that have Java skills, those top 10% are now getting paid £86,000 pounds compared to £79,000 pounds in 2012.
Matt W:Absolutely. I think there's a massive demand now for Java skills and due to that demand, salaries are definitely increasing. If you're a Java developer then you don't have to worry. There's lots of jobs out there. Companies are paying the the money really, and invest in those people to hire those people.
Richard:But it's still Java stack we're talking about really. I think if you want to be one of those, as you've already said-
Richard:One of those developers on the top of the tree, you want to be looking at all of the other JVM based ... I think there's a still - we often think that IT technology moves really quickly and actually, strangely, it doesn't move that quickly at all but kind of thinking back to if we were here 20 years ago we'd be talking C++. C++ would have been ... That kind of moved the way. I mean obviously there's still plenty of C++ out there, but it's not the ... I don't have a sense of the scale of it compared to Java, though.
Matt W:What I'd be saying to you then is look at Golang as a technology.
Matt G:Before the podcast, you had mentioned to us that there was a rather major UK company which we'd better not name which very much is using Java 6 today out there. So there are people who are stuck maybe, but I guess when they are ready to start moving forward, they're going to be moving to the later versions of Java aren't they, and trying to-
Richard:Absolutely, yeah. Definitely. Yeah, definitely.
Richard:And no doubt those types of organisations are on a digital transformation to obviously look at the new versions of Java and get up to speed quickly.
Matt G:And you mentioned the dreaded word Brexit. Are you seeing any kind of increase or slow-down in people either wanting to come to the UK to fill up those vacancies in jobs, or employers trying to bring people across?
Matt W:I think first and foremost, the UK tech market isn't seeing any signs of slowing down. You know the investment alone last year. Organisations are paying relocation packages. So they're looking outside of the UK to bring people into the country to increase their technology teams and bring some more skills into the UK.
Matt G:Good. Okay. Well, we'll be putting a link to you obviously with the show notes for the podcast, so if there's people listening out there who are interested in knowing more about what jobs there are right now, then obviously they'll be able to get in touch with you and have a conversation direct. And we'd certainly recommend you as a good person to speak to around finding the right role for a developer, definitely. Youv'e got a great reputation for that.
Richard:So there's some Java news I think that's ...
Matt G:Yeah, we'll wrap it up with - The java news, well it's not massive news, and it pains me a bit to say this, because I seem to think, back when we talked about Java 9 on that podcast, Richard claimed that he would -
Richard:I have a rant on every single podcast, so I've not had one so far so I don't actually have a microphone, I'm sharing your microphone so I don't feel like I can have a rant this week.
Matt G:That's makes a nice change for our listeners.
Richard:Oh, our listeners will be devastated not to - the former rant was the-
Matt G:The former rant was about the numbering for the new versions of Java. So allegedly it was going to be there would be no Java 10 and that Java was moving to a six month release cycle, starting in March 2018 and that would called version 18.3 and that the one in September would 18.9 and so on.
Richard:Utter hair-brained nonsense I think I called it.
Matt G:But that was probably an exact quote there, Richard, of what you said. And it really pains me because unfortunately it seems if we believe a couple of the websites that I've been looking at recently, that Richard, you've been proved right. They are not moving to that numbering scheme because other people seemed to agree with you that it was a bit hair-brained and indeed…
Richard:No, no. They did it purely based on feedback from influential companies, thought leaders in Java.
Richard:Which was us.
Matt G:Okay. Anyway, so it appears that the next version of Java is amazingly going to be called Java 10.
Matt G:And is allegedly going to be released in March just in a couple of month’s time so we'll keep an eye on that. It'll be interesting to see whether we now have Java 11, Java 12 following very quickly.
Richard:Yeah, every six months I assume. And I know I'm being a little bit arche in taking the mickey out of this but, I think the version numbering is a really - I mean we've talked a lot about, Matt's been talking about, "well, we have some Java 6 developers here and we need some Java-" It's like a fundamental ... concept that we have. And for them to just kind of change the rhythm of how Java's going to be, it's going to take a lot of rethinking, I reckon.
Matt G:I agree. I think you were saying earlier to us that none of your customers are really adopting Java 9 at any great ...
Richard:I can't see how it's even possible given- I mean a lot of the tools are broken and we're waiting for- I won't name the tools but if any non-trivial project is going to depend on something which is currently awaiting an upgrade for Java 9... well it’s a long way off being able to ... Even in our relatively modest platform that we develop here, it's ... not a chance.
Matt G:But it could be you know Java version 23 is out before we're ready to upgrade to Java 9 type thing. I mean it could really run away with itself. So it'll be interesting to see…
Richard:And apart from the jigsaw stuff anyway, which is just really a ... I mean I'm sure it has a lot of value if you really need that, but it's a pain in the neck, really. There’s nothing compelling particularly in Java 9 compared to Java 8, say.
Matt G:Yeah, we went through them. We picked out a few things didn't we when we talked about Java 9 on the podcast around things that we thought might be things that we'd want to use, but they weren't enough to
Richard:We struggled, yeah. We really ...
Matt G:There weren't enough for us to actually upgrade.
Richard:Weren't excited about any of it.
Richard:I'm not at all sure what's due to be in Java 10. I'm just straining at a webpage now to ... "local type inference and there's a clean interface for garbage collection" ...
Matt G:It doesn't look like anything jumping out there say, "Well that's really going to be a key thing for us. We'd want to use Java 10."
Richard:No. Once we do make that jump into this faster release cycle, I think the big thing is going to be the underlying JVM. It's been a nonsense that the JVM implementation has been tied into the release cycle of the language. So we've often had to wait years for performance improvements to the JVM but now we're going to get a new JVM basically every six months. We're seeing evidence of that with new garbage collection I can see on that webpage. There's some hot spot improvements. All of these things mean good performance improvements, which is great. I suspect the language will probably still plod along in its ...
Matt G:I'm sure you're right. I'm sure you're right.
Richard:Incredibly slow improvements. So that's something to keep an eye on anyway.
Matt G:Absolutely. As far as I'm aware, that's all the news that's out there, should we just do a little wrap up with what we're working on at the moment?
Richard:Yes. Let's do.
Matt G:So do you want to go first or shall I?
Richard:Well we're both working on the same thing aren't we? Well, oh, you're going to mention JSF. Right.
Richard:Good, we'll get a rant in about that.
Matt G:So Richard's favourite topic in Java is JSF.
Matt G:Um, so I am finally doing the fourth module in the Java EE series, which is covering JSF.
Richard:Which we are doing purely just to dot an "i" and cross a "t'. We had a module on it in an old version of the library and we felt we should put that in just for people who need it. But we hate JSF with a passion.
Matt G:Unfortunately a number of our customers keep e-mailing saying, "When is the JSF module going to be available?"
Richard:They hate it as well, but you know, they-
Matt G:Unfortunately it's used is the problem.
Richard:And they need our help so ...
Matt G:So that is going to be out within the next few weeks actually. It's written, we're just starting to record it now. It might be worth just mentioning that, although Java EE 8 has now been out for a couple of months, none of the commercial application servers are yet Java EE 8 compliant so it's a Java EE 7 version that we're working with. And interestingly, they also don't support Java 9 of course as well. So, it's going to be.
Richard:Of interest, what version is JSF at now? It would be two point something.
Matt G:It's 2.2, 2.3, I think.
Matt G:But there's been almost no changes since 2.0.
Richard:Is that so? That's very interesting then.
Richard:So we have very little work to do then on the rerecord.
Richard:We're going to add a couple of extra little things that should have been in the original, but we're not going to spend a lot of time on it.
Matt G:No. And certainly, although Java EE 8 isn't really available yet, unless you Glassfish, there is almost, again, nothing changing in JSF for Java EE 8.
Matt G:So it will be absolutely compliant for that, fully working.
Richard:Excellent. We'll talk on another podcast about why JSF is probably not my favourite topic.
Matt G:Well, it's something we're going to talk about actually in the first chapter of the course because were going to explain some of the issues around JSF and why it is controversial as to whether it's actually good technology. So we will talk about that.
Richard:I think it's a good technology if you have a particular use case, but very few have that use case.
Richard:And a lot feel, "Well we've got to use it because it's a standard."
Richard:And they end up trying to put a square into a circle, you know what I mean?
Richard:Total misery. But, on a much happier note, we're also working on ...
Matt G:Apache Spark. So this is going to be, we currently think three different modules. Module one is currently in the process of being recorded. Richard's recording that although we're working together on it and module one is really covering everything you need to know about resilient distributed datasets or RDDs. We're going to focus on that first. Module two will be covering Spark SQL and then we'll, I'm guessing, going to be looking at thing like streaming and that kind of thing for module three. But, little way off for that. I imagine we're probably looking February release date for Spark, would you say?
Richard:I hope it's January, actually. It should have been December and I have had some fairly angry e-mails through the support system saying, "Why didn't it get released in December?"
Richard:We normally hit our deadlines, but I think maybe the end of the year, Christmas, all that sort of thing got in the way a bit. But Spark, I assume, is a, I'm talking to Matt again. You must have some requirements for Apache Spark. Is that a hot topic for you?
Matt W:Yes, absolutely. I think that's a good question, actually. I think that is definitely on the rise at the moment there are companies out there that we are working with that are looking for some knowledge of that. Absolutely.
Richard:Excellent. So one big discussion we had when we were sort of architecting the course was, should we… we never covered Scala anywhere in our library, which is obviously quite an over- not an oversight really, but it's just ... There's a million other things to do as well. I think most of the people I've seen using Spark are using Scala. So we thought maybe we'd elbow Scala in, but then we made the last minute decision, I think, roughly to stick with Java. So we're using Java 8, but the reason I'm excited about that course is it's our first opportunity really to properly use Java 8. First proper use of Lambdas and so on. So we're finally getting more functional. But I think it would be worth doing a Scala version as well kind of even as a quick, "This is how you would've done it in Scala." That would be fun.
Matt G:I think so. I mean it's interesting that certainly with Java 8 there's very little extra code that you have to write when you're doing it in Java compared to Scala.
Richard:Yeah, absolutely. And it looks almost the same. Yeah.
Matt W:A efficient way to work.
Richard:The thinking is exactly the same.
Matt W:Yes. And for anyone who's done Hadoop, we have quite a popular course on Hadoop, tt's a much more pleasurable experience to work with Spark than it was with Hadoop.
Richard:You almost feel like, I think it's an odd problem, but one problem that we've had with the recording is, when you're working locally on Spark, you just feel like, "Well, I've just got a collection and I'm just doing some aggregations on a collection. What's special about this?" Of course when you deploy it and you know you don't have to think about making it all resilient and distributed. It's beautiful.
Matt G:It is, but you can obviously fall into the trap of actually ending up with code that doesn't run particularly efficiently because you haven't considered-
Matt G:How's it going to work in a multi box environment?
Matt G:So we'll be talking about that quite a bit on the course.
Richard:Plenty about that. Yeah, sorry it's so late. Well, we've had production problems with this one.
Matt G:Yeah. We're getting there. We've had a real technical few days unfortunately. So, should we wrap it up there?
Matt G:Thank you, Matt for coming in.
Richard:Thanks a million.
Matt G:We really appreciate your time.
Matt W:Thank you very much for inviting me.
Matt G:And as we'll say they'll be a link to Fruition in the show notes so anyone who's looking for a job out there, or if you're an employer looking to recruit some people, we thoroughly recommend Fruition. We've known them for a long time. Great company. And thank you for listening and we'll hopefully speak to you, or hopefully you'll hear from us again quite soon on the next podcast.
Richard:Within the month.
Matt G:Within the month. There we are. That's a commitment from Richard. We'll speak to you soon. Thanks.