Author Archives: Barry Cranford

Mentored Projects: A new venture from those that bought you GDC Meet a Mentor

Mentored Projects in association with RecWorks is a spin off initiative from the GDC Meet a Mentor series, it is an effort to help more students receive mentoring from industry during their final year projects.

As part of the GDC’s attempts to get engagement between Academia and Industry we are trying to encourage the amount of industrial projects taken on by 3rd years at University. We have been told by Universities that there is a shortage of projects so we’re trying to help make some connections.

I’m looking to hear from companies whom have projects that they could offer students to complete as part of their third year studies. This could suit any companies from a startup to a bluechip. I have compiled a brief FAQ to explain how this will work.

1. What kind of project would be suitable? Do you have some examples of projects?
2. What is the process?
3. Will it cost anything?
4. What is the mentoring? How much time is required?
5. Could you please let me know when the project would start and how long would it take?
6. How do I get involved?

1. What kind of project would be suitable?

One question that I have found helps you understand what you would add is to consider “What would help you in your day to day job that you could build if given a few weeks spare time?”

Research I have done has said that a project should fit the following criteria:

Projects definitely should
– Project must be something which the student can write up in a report of about 50 pages where the student can explain the background, his or her original intellectual contribution, and have something at the end that can be demonstrated.
– A project must start not just with an end goal in terms of an implementation which will be produced, but also with a fairly clear idea of the computer science needed to reach it.
– A project should have an easy target to reach, so that it’s a reasonable expectation that almost any student taking it and putting some work in would get there, but if they get no further it’s a low grade pass. It should also be extendable with more advanced targets so that a strong student can exceed expectations and so be awarded a high grade.

Projects definitely should not
– Projects should not be very routine tasks which simply cannot be turned into a project report.

Guidance on setting a high risk or low risk project
– The most interesting projects tend to be “high risk” projects, where there’s really good scope for taking them forward and demonstrating exceptional ability and getting a very high grade, but also some big central challenge that needs to be mastered to get anywhere with it (e.g. research in novel programming languages) and the risk that if it isn’t, the project fails. These are balanced by “low risk” projects, which are the more routine ones, easier at least to get something which gets a reasonable grade from them, but hard to find a way to take them forward that would justify a really high mark.

Example projects

i) Android app
iOS 6.0 has a built-in privacy monitor, that tracks which applications access which data on  the iPhone. On Android, there is no such built-in monitor, but monitoring applications exist, e.g. Taintdroid. The goal of this project is to go beyond monitoring, but notifies users about what data applications access and report it to the user.

ii) Javascript measurements
JavaScript is a very versatile language, especially for web developers. Recently, it has also been used to carry out network measurements. In this project, you will extend existing tools that perform various network measurements, e.g., delay, throughput, DNS latency. See:

iii) GUI for Predicting Risk of Death in Emergency Surgery
Trauma surgeons have to make numerous critical decisions very rapidly in short amount of time. Consequently, quick and clear communication of the risks is necessary. The aim of this project is to develop a graphical interface to display risk information. The interface will gather the required inputs from the user, and present the calculated risks. Innovative ways of presenting risks with various graphs will be investigated since time and clarity are crucial for this project.
There is an option to develop the interface using web technology, with the front end running on tablet.
Skills needed: understanding of bayesian nets, programming for interface (Java Swing or web based).
Difficulty: intermediate

iv) Front End Design (User Interface) for charity sector. A Tool to select, edit and purchase marketing material to help the worldwide charity sector
Motivation/Objective: For charities to get the best from this system the easy and accessibility of the user interface will make or break this project. Anyone from anywhere in the world needs to be able to interact and use our system to create what they need with easy and with little skill.
Skills Needed: Aesthetic flair, HTML5, JQuery, MySQL, user interface understanding.

v) A tool to retrieve and browse templates and marketing material to help the worldwide charity sector
Motivation/Objective: The project will require the logging and defining of each piece of material to determine whether a person can search by subject, colour, theme, style, size and more. This will make the searching function the system key in helping people find what they need quickly and efficiently.
Skills Needed: HTML5, JQuery, MySQL, user interface understanding, database experience, user interface understanding.

vi) A tool to define and set editable parameters and areas for each piece of material
Motivation/Objective: Each piece of material will come in with areas that are to be editable. A system is needed to upload each project and define the areas and setting for each area. Picture, text, colour, font, logos and more will all need to have areas defined and the back end system for these settings needs to be created so that these areas can be defined and then the design is to be uploaded into the front end system.
Skills Needed: HTML5, JQuery, MySQL, user interface understanding, user interface understanding.

2. What is the process?

Write a quick brief as per the above examples, specifying example what you would like to have completed. Send it through to Barry Cranford –
We will then introduce you to the University (There will not be a necessity to meet with or interview the university etc.)
The University will send the brief around to other academics who will partner with you on the project
Students will then be invited to bid for the project

3. Will it cost anything?

The introduction is completely free of charge both from the university and from RecWorks involvement as far is the project is concerned. If you are considering working with the candidate beyond the project please discuss this with RecWorks beforehand.

4. What is the mentoring? How much time is required?

There is an inherent risk for the student so at least one contact at a company must be prepared to engage and support the student throughout the project. They must be prepared to mentor the candidate accordingly providing advice and guidance where necessary.

In terms of involvement we are probably looking at a few hours per week or fortnightly and answering emails in between sessions, that kind of thing.

This will obviously be more involved at the beginning, with gathering requirements and helping with the design, afterwards it is more a case of pointing the students to the right resources (books, online tutorials etc.) and helping them if they get stuck, maybe time for a demo of certain milestones.

Overall, it should be more about the engagement than about time – i.e. for the students to feel that they are building something useful and that someone in the company actually wants.

5. Could you please let me know when the project would start and how long would it take?

Final year projects are agreed by mid October and then are completed by late April/early May

6. How do I get involved?

In the first instance please email me and let me know what project you have in mind or any questions you have on

Tagged , ,

Four questions to ask yourself before you write your CV

This post first appeared on the LJC mailing list on Monday 15th July in response to the question of what our thoughts were about what should be included in a CV and our thoughts on CVs place in todays tech job market.

Our current thoughts on the state of play in the market with respect to CVs…

*cracks knuckles*

As many of you will know, I’m no lover of CVs (or job specs for the same reason). On one hand I think most people struggle to get themselves across on a few sheets of paper – some of the best developers I have ever placed have had truly awful CVs (don’t worry, I won’t name names) and on the other hand, because CVs are the accepted medium for recruitment many employers tend to reject 90% of job applications based purely on a CV.

My problem is not necessarily with CVs themselves, but in the industry’s habit of using them to give a first impression. ***Shameless plug – we have started running speed dating style recruitment events termed RecWorking events to do away with using CVs as a first impression, we have an event on 30th July, if anyone would like more information let me know on***

Assuming you are interested also in the advice we would offer someone looking for help with their CV, most of my advice is actually not related to the CV itself, but in whether the candidate in question understands what they do and don’t want out of the roles they’re applying for. I believe that once you understand exactly what role you’re looking for, your CV tends to write itself. I’ll often turn the CV over initially and split the page into four sections:

– What do you definitely want from your next role?

– What do you definitely NOT want from your next role?

– Would would you absolutely love in your next role?

– What would you be open minded about?

For me the CV should make it 100% clear what role you’re looking for (making sure that these jobs are available), it should highlight parts of your past that are relevant to this application and ignore those that aren’t. From a conversation around these four questions, I will then usually look at the CV and see that it’s not taken most of this information into account.

The reason I feel this way is because I prefer making exact matches rather than square peg; round hole recruitment. I don’t think I’ve ever spoken to a hiring manager that enjoys CV screening. Many will discard 90% of the CVs they receive – what they love is to see is a candidate that is a good fit AND WANTS the exact job that they have on offer, if the CV stands out for being ‘right’ for a position then it almost always results in an interview. This also applies to those in the industry that don’t understand the complexities of technical recruitment and believe me the Java ecosystem is incredibly complex for a non-developer to pick up.

I could go on all day about CVs or recruitment though I’m opinionated in most areas. If you have any specific questions then do come along to an LJC event and I’ll happily sit down and personally review your CV.

Barry Cranford

RecWorks: 7 Years Of Technical Community Contributions

RecWorks is a unique consultancy focussed around Recruitment and social netWorks. 100% of our revenue comes from recruitment but 50% of what we do is around building and developing active communities.

We have been lucky enough to work with many passionate individuals and organisations that have contributed incredible amounts of time and value to the technical community in London, to help make it one of the best and most vibrant tech communities in the world.

At RecWorks, community involvement is no short term thing for us, we have been highly involved for over 7 years and wish to create a legacy that continues to make the technical community a better place for all involved, we are immensely proud of our contributions and achievements and wanted to share them.

Founders of the London Java Community (then London Java Meetup Group) in November 2007, a group that has now risen to over 3000 members and is one of the largest and most influential JUGs in the world.

  • Organised in excess of 100 technical presentations events (circa 5,000 RSVPs)
  • Organised in excess of 50 social events (circa 2,000 RSVPs)
  • Continually promoted LJC for the last 6 years to our database of clients and contacts to help build the membership and connect with developers that were not aware of the London scene
  • Reached out to Oracle (Sun at the time) to incorporate the LJC into an official Java User Group (JUG) and plug the LJC into the international JUG community
  • Built team of LJC Associates as an advice and support team to help steer the LJC forward
  • Been a key part of the team that have organised 5 Unconference style events
  • Encouraged many new speakers to give lightning talks, some of whom have now stepped onto the international conference circuit
  • Started series of events focussed on getting more people into OSS with the idea of bringing together open source projects with potential new committers
  • Co-ordinate with 10-20 other London based partner user groups to send out fortnightly emails to LJC on events that may be of interest to the members
  • Organised thousands of pounds of sponsorship to improve our events
  • Worked with conferences and training organisations to run 50+ competitions and raffles to get more LJC members opportunities they may not have had
  • Started and maintained LJC blog, twitter feed and website
  • Lead moderation on mailing list to ensure the community remains nice and encourages junior members to speak up (c. 10,000 emails)
  • Organised branding including character and logo design for website and group
  • Part of a team that founded and maintain the LJC CIC
  • Managed LJC stalls at London based technical conferences to attract new members into the group

Founders of the Graduate Developer Community in August 2009 a group that aims to connect students from many different universities and help bridge the gap from Academia to Commerce

  • Built team of committed volunteers and technical ambassadors within the community as an organisation and advice team to help steer the GDC forward
  • Worked for over 4 years to get the GDC off the ground and built an active community of technical students
  • Organised over 50 social events (circa 500 RSVPs)
  • Organised 15+ mentoring events that have connected students with mentors
  • Reached out to 500+ lecturers in London to establish network of Academic Ambassadors that support and promote the GDC
  • Helped connect series of Universities and Institutions with wider technical community, organising events on site and bringing in senior technologists to give presentations as part of lectures
  • Continually promote GDC to our database of clients and contacts to help build the membership and connect with those that were not aware of the London scene
  • Built GDC Student Ambassadors to help spread the word of events and initiatives to ensure more students could benefit from events
  • Built active group of 100+ technical mentors
  • Been part of a team that organised Open Source Jumpstart event at IBM Southbank to bring together OSS projects and students looking to get involved in OSS
  • Connected many students to internships
  • Started and maintained GDC blog, twitter feed and website
  • Lead moderation on mailing list to ensure remains nice and encourages junior members to speak up

Assumed control of London CTOs (then London CTO Meetup Group) when it was in danger of being shut down in November 2010

  • Organised series of events including Fishbowl events, London CTO Speaker Series and Technical Presentations
  • Invited senior CTOs and technologists to be part of active discussions around agile and security
  • Built leadership group
  • Research every new member to maintain integrity of London CTOs membership
  • Lead moderation on mailing list to ensure remains nice and encourages junior members to speak up
  • Continually promote London CTOs over the last 2 years to our database of clients to help build the membership and connect with those that were not aware of the London group

Acted as assistant organisers and advisers to new User Groups, offering introductions, advice and assistance when groups in inital set up stage:

  • London Scala User Group
  • London Software Craftsman Community
  • Liferay UK User Group
  • London Dart Community
  • Cambridge Java Community
  • Manchester Java Community
  • Hertfordshire & Essex Techies

Best Java trainers and training courses in London?

I’ll start with a shameless plug, we recently received a bit of good publicity from a link on Who are the best technology recruitment consultants in London. It inspired me to do a similar thing about London based Java trainers.

There is often a lot said about the skills gap in London, at RecWorks everything we do is linked to technical talent or plugging the gap We source the best talent that is on the market, we hear about the candidates that do and don’t get the jobs they want, and often get to hear the reasons why, we organise communities, events and initiatives to try and help people learn and develop themselves and we encourage people all the way from students to CTOs to blog, start speaking and getting more involved in the technical community to help them develop their careers.

There is one thing that we’re not involved in and that’s offering formal trainig. There is some great training available in London. One of our LJC members who is already a Java Guru attended a JClarity course recently and had this to say:

“Now, some of you guys are probably like me and thinking, “Advanced Java? But I am already totally elite!!”, but the sad news that I have to bring is that Ben probably has you beat. The guy is like a taller, and less green Yoda (and with better grammar too), and I learnt a bucket load of new and cool tips and tricks from attending both of these courses (which is much more than I can say about some courses I have been on with some of the big players in the tech training industry). If your company has a training budget, have a word with the guy that holds the cheque book and tell them that you have heard about a course that is actually useful. Again, you wont be disappointed.”

One thing technical training courses can do is help you perform much better in interviews. It’s not just about getting the job, but one thing we see constantly as Recruiters is that some candidates are offered 10-20% more than others, based purely on the strength of their technical interview. The right course can really make the difference here, and help you achieve a much greater salary than you thought possible.

I wanted to throw this out to you guys. Please add comments/links on the post referencing people or courses that you have taken and would recommend to others, I’d be especially interested to hear of how the courses have really helped you.

Barry Cranford

Scala, what’s the hype?

There is no doubt that Scala is building momentum in London. Over the past year we have had a growing number of clients enquiring about Java developers with Scala experience, check out our jobs page for current opportunities.

With all the momentum we have received a lot of enquiries from students in the GDC and Java developers at LJC events who have heard the hype about the Scala language and are interested to find out more, so we asked the London Scala User Group what they thought about Why it was worth looking at and how to get involved.

Gemma Cabero is one of those Java developers currently looking at Scala, here she shares her thoughts…

Why you should look at the Scala language?

It is said functional languages allow you to write code in a concise and elegant way (something I’ve heard of in any language I’ve learned :p) as well as making concurrency code easy because it always works with immutable objects (i.e. it can’t happen that two threads would amend the value of the same variable at the “same time”). I also believe their syntax and language constructions (loops, function definitions, etc.) go well with domain problems such as machine learning or complex code that require more elaborated algorithms. What Scala also seems to fit in is systems that over the last couple of decades have been implemented using OOP. The latter with the fact that Scala compiles to the JVM may explain why this language is becoming popular for Java developers. In addition, I think technologies are a bit like businesses in the way that they become successful when they are used at the right time. Nowadays we have computers with several CPUs and it is said that this has greatly contributed to the success of languages that use side effect free functions as a basic building block. This is the case of Scala, Clojure, Haskell, etc.

Looking at other languages like Ruby, Python or even CoffeScript I can recognize concepts that I’ve learned when I did the course in Scala. I guess those are the so called functional style features. It is important to understand the paradigm (e.g. lambda calculus) as that is what differentiates one program from another. Languages are just tools that allow us to talk to computers. The level of abstraction in our minds is what really makes the difference (at the end it is all translated to bits, isn’t it?). In other words you could program in Scala following an imperative style and not get any advantage of the declarative programming paradigm.

How to do it?

“The way I am approaching this myself started by taking the course given my Martin Odesky in Coursera. Despite the academic approach I found it extremely good to set the basis for further study. My idea is to carry on doing small exercises, such as well known algorithms (e.g. dijkstra, mergesort,etc.) at the same time I attend dojos, hack days, etc”

If you’re thinking about getting involved in Scala the first thing you should do is check out the London Scala User Group. They are a very friendly group of developers passionate about Scala, the group has many of the most influential and renowned Scala folk in London. You can also either do a self study course (online tutorials, coursera, books, etc) or if you can afford it you can go to a more structured, speed up training course. In any case make sure you get the basics right. Go beyond and understand the whole picture.

Further resources:

You can check out this article from Kevin Wright, which may be helpful to some. Though Kevin warns it’s not *entirely* serious and full of academic rigour

Kevin also recommends checking out Daniel Spiewak’s series “Scala for Java Refugees”. It’s very good, though we have been advised it is a little out of date nowadays

Alois Cochard advises this free book: as a good starting point, or this one:


We at RecWorks are recruiting for a number of Scala positions at the moment, if you are an experienced Scala developer, or a Java developer looking to move into a Scala position then do reach out to Aaron Braund directly at or check out our latest opportunities on our jobs page.

RecWorks is a unique consultancy focussed around recruitment and social networks, our core focus is on the Java, (covering JVM languages) and graduate markets. Our business model is different from typical recruitment companies in that we generate 100% of our revenue from Recruitment, but spend 50% of our time on community focussed work. We do good things in the industry around building communities and organising events, we then spend time networking, building long term trusted relationships and proactively seeking referrals and recommendations. We founded the London Java Community in 2007 and have since invested vast amounts of time and money growing it up to one of the largest and most active Java User Groups in the world. We also work with students through the Graduate Developer Community to help inspire them to become more passionate about technology, understand their career options and engaged in the wider technical community.

Java Developers: Boost your career in 5-7 minutes…

From working in the Java London market for so long now, I have had the benefit of seeing people progress through their careers from junior to senior in many different ways. The great thing about the software industry is that there are an amazing amount of opportunities to improve your career…. giving a lightning talk is one of them. It is far easier than being a speaker at a user group event as you only have to be up for 2-5 minutes. A lightning talk is very much a first step, we have been running lightning talks for the last 2 years and have seen many of those that gave their first lightning talks at an LJC event go on to earn a place on the international conference circuit, become recognised specialists and evangelists. Now it’s your chance. We organise 2-3 events a month in which you can come forward and give a lightning talk, so just reach out to Anji Conroy and she’ll book you in.

London Java Community Organiser and 10Gen Evangelist Trisha Gee is one of those and recently about giving a talk:

“Having spoken to a lot of other user groups lately, I’ve realised that we had something special at the LJC when it comes to encouraging new speakers.  Hell, a year ago at Devoxx I had my first scheduled appearance presenting at a conference, and now I feel like I don’t do anything else!  This all started in the LJC, with Barry and Martijn practically dragging me up on stage to give my very first lightning talk.

Lightning talks are awesome because:

– They give new speakers a way to practice speaking in public with a low barrier to entry.  The talks are short and could, in theory, be on any subject.  I can’t remember if we have rules on what LJC lightning talks should look like, but they’ve always been more varied than the Java-focussed main talks, and I personally think we should allow anything to be presented.

– They give all speakers a way to try out new ideas.  If you want to try a new format for your slides, or explore a new topic to talk about, you can get good feedback early before investing in a big talk for an international conference

– They really showcase the variety of people and topics in the LJC.

– They’re a great thing to add to your CV”

You don’t have to have written a book or be a concurrency expert… we once had a lightning talk on someones bug of the week. LIterally anything can work as a lightning talk, it makes our events more interesting and gives a much more ‘community’ feel to the evening, so please keep coming forward.

At RecWorks we’re happy to do all the organisation around the scheduling etc, so you don’t have to worry about anything other than the talk itself. So if you’re happy to say something… about anything… then let us know and we’ll make it happen for you.

So in Trisha’s words:

“So…. sign up for a lightning talk.  It’s good for you :)”

Barry Cranford

Barry is the Managing Director of RecWorks, a unique consultancy focussed around Recruitment and social netWorks, with a core focus on the Java market. Their business model is different from typical recruitment companies in that they generate 100% of their revenue from Recruitment, but spend 50% of their time on tech community focussed work. Hence they do good things in the industry around building communities and organising events and spend time networking, building long term trusted relationships and proactively seeking referrals and recommendations. As a result of their model they have connections with many of the best employers, and developers in London.

Barry is also the founder of a number of technical communities in London including the London Java Community in 2007. A community growing by over 100 Java developers each month.

Q: I’m really interested to get into the gaming industry – do you have any advice on how to get above my competition?

This post is part of a series of questions that have been asked at previous GDC Meet a Mentor events. For the complete list of questions please see this link

Q: I’m really interested to get into the gaming industry – do you have any advice on how to get above my competition?

A: This question was recently asked on the GDC Answer. This answer was given by one of our most active mentors, Richard Conroy:

“I always recommend to people to keep their programming skills up to date, relevant and healthy. It opens up career options for you, even for non-programming roles.

Building a game completely distinguishes you from all other candidates for several reasons:

– you have made a statement about your passion for games, your commitment and your drive, by completing one

– it can’t be faked

– it is difficult to do, so it qualifies your skills

The real benefit is that you develop some difficult to acquire skills, such as quality control, and bugfixing, game design, level/map design, artwork and deployment/publishing. That makes game companies take you very seriously – as you come ‘built in’ with a foundation level of important skills that they really need in their staff.

They may take you on board as a tester despite your development skills, but because you know how a game is constructed, you can mentally de-construct it and that makes you a better tester.

On your other questions, I dont have many definitive answers. As programming goes, you will have your hands full learning Unity. It is an excellent platform, because once learned, it can cross compile your game onto an unbelievable number of platforms, including smartphones, iPads, PC desktops and consoles. You might find commercial companies who use it as their primary development platform. Other popular tools for learning how to make games, are Flash, and the language Lua is used very commonly in commercial game development for level and event scripting.

In terms of approaching companies, by all means have a CV ready (and bring it with you to any networking session). But firing off CVs cold to games companies should not be your primary method of getting their attention.

I suspect the games industry suffers from the ‘Starry Eyed Teenager’ syndrome when it comes to hiring. They are saturated with applications from game fans who think that building games must be just as fun. But the job can be hard work, with long hours and nothing like playing the finished product at times.

I am not trying to discourage you here – I know people who build their own games and tweak existing ones as a hobby, and they love it.

But I am sure many game development companies like to see evidence that the people looking to join them already know what it takes to make a game.

Start forming your own list of games companies. Attend amateur games competitions, game hack days, and games industry networking sessions and meetups.

Take notes of which companies are attending and sponsoring the events and try to get talking to people working as games developers or working in games companies. Get their business cards, follow them on twitter, and check out their blogs.”


This post is part of a series of questions that have been asked at previous GDC Meet a Mentor events. For the complete list of questions please see this link

The GDC Meet a Mentor events are being organised and run in association with the team at RecWorks Ltd. An IT recruitment consultancy aimed at spotting and developing technical talent with a focus in Java and Graduate developers.

Q – What is the best way to learn Java? Are there any good “Intro to Java” courses for non-developers?

This post is part of a series of questions that have been asked at previous GDC Meet a Mentor events. For the complete list of questions please see this link

Q – What is the best way to learn Java? Are there any good “Intro to Java” courses for non-developers?

We recently had a question from one of our experienced LJC members about the best way to learn Java and had a wide variety of answers that I felt could be valuable for new developers.

Original question:

Are there any good “Intro to Java” courses for non-developers?  I’m not entirely certain of the experience level we’re talking about, but let’s assume a tech-savvy BA, as opposed to a developer in any other language or non-technical person.  I wouldn’t expect course attendees to be writing anything serious at the end of it, in fact it would be enough to have an understanding of what OO is, and the basic syntax of Java.

Any pointers?


Please follow this link:
Its a learning module for 16 year olds – so it might help. I haven’t tried myself but think it’s a freebie.
Free text book for helping people learn Java.

A really good book is often as good as or better than many “introductory” courses.  For a tech-savvy BA I suggest they first read:
“Head First Java”
“Thinking in Java”
Then just try and write something for yourself and Google for answers when you get stuck 🙂

My opinion is that the best way to learn something, is to study for a certification exam. There’s a book named SCJP, from Kathy Sierra and Bert Bates, i think it is the best book for learning the concepts of Java.

This is the first one I found (don’t know if its any good), but guess there is others seems to be the best resource I’ve found with the in browser editor being perfect for newbies. It is javascript rather than java.

Open university introductory course “object – oriented Java Programming  M250”, starting in September ‘ to be the best course to get into learning java.

As an IT trainer I’ve taught many introductory Java courses. Non-developers need hand-holding into the whole idea of the development process (compiling, running on JVM etc) and also the language (eg what’s a variable!). Once they’ve got that, then OO is the next step.

I can recommend an online course from Webucator, which I found very useful to start off my Java learning process.
Its at Java 5 version and starts at the basics of Java and OOP then covers different topics in each lesson, such as Data Types, Operators, Classes, Methods, Inheritance and so on.

One thing I liked while at Uni was this from from Jos Claerbout –


This post is part of a series of questions that have been asked at previous GDC Meet a Mentor events. For the complete list of questions please see this link

The GDC Meet a Mentor events are being organised and run in association with the team at RecWorks Ltd. An IT recruitment consultancy aimed at spotting and developing technical talent with a focus in Java and Graduate developers.

Q. Which language should I learn?

This post is part of a series of questions that have been asked at previous GDC Meet a Mentor events. For the complete list of questions please see this link

Q. Which language should I learn?

A. We are often asked this question so I decided to put it out to some of the brightest minds in London – the Software Craftsman community. Here are some of my favourite responses:

Sandro Mancuso – leader of the LSCC

“1. Choose something you enjoy: Traveling, sport, music, photography, games, whatever.
2. Choose a mainstream / popular language: Java, Ruby, Scala, Python, etc.
2.1. If you are 100% sure you want to be a developer and already know (well) a mainstream language, feel free to stretch yourself and choose whatever language you like.
3. Build an application (pet project).

Choosing something you like will make software development even more enjoyable and will help you to come up with ideas to keep you busy and excited. Choosing a mainstream or popular language will make your like easier when you get stuck and need to google or ask for help. Building a pet project will give you exposure to (almost) a full software development life cycle, that means, put ideas together, define requirements / features, usability (even if the client is another computer / system), the code itself, persistence (if any), deployment (or an executable), testing, configuration, etc.

The cool thing about a pet project is that you are your own boss and you decide how and what should be done next. And you don’t need to finish anything. You can just enjoy yourself.

That worked well for me when I started. I wrote the same application (pet project) in five different languages, making it better each time, in terms of code and features. At least, that’s what I like to think. :)”

Hari Kumar Singh

“If you are just getting started, I’d highly recommend Python (it’s not just a scripting language!  Many full executable, graphical programs have been written in it!).  It has an easy installer for windows (search for Active Python) so you can get started quickly and a very convenient command line environment for testing out little bits of code.  It’s also one of the most concise, elegant and well thought out languages I’ve ever seen and has many 3rd party libraries for everything from scientific stuff to audio/video manipulation to web and more.

With regards to the working world, I’d recommend these based on prevalent stereotypes:

Websites, especially blogs, media and non-corporate, open source stuff and web apps: PHP (mandatory, I’m afraid), and/or Python (my favourite, I wish it were more prevalent), Ruby (you’ll either love it or hate it, I’m told)

Corporate web, financial sector (web or otherwise): ASP.NET or Java (financial especially) (don’t like either of these personally!)

Software, especially games: C/C++.  Again Python and I guess Lua are making headway here.

Apple: Objective-C

Other mobile: Java

Keep in mind with the web, you’ll also need to understand HTML, CSS, and Javascript.  If you are doing anything serious, you’ll want to start with a framework like Django (python) or Symfony (PHP) which is a whole other can of worms! The web is the worst, IMHO, for the number of things you need to be aware of to be good.

Anyway, I’d recommend just getting started and learn from example and trial and error as much as from textbook.  Come up with a project and commit to complete it.  It will force you to learn things you might otherwise have missed.”

Miroslaw Sommer

“It depends on what you want to do. Do you want to become a very good programmer? Then start with more abstract languages like LISP or SCHEME. If you are really interested in some serious skills, include assembler – knowing how software ties to hardware on the opposite end of abstraction is very handy. Learn principles first and focus on how to make a solid program, rather than focusing on how to achieve a goal in a particular language. Then move on to a language of your choice, depending on the are of interest. Graphics and games? C++ and Python… Web? Start with XML and Java/C#, then expand to HTML and JavaScript…”

Samir Talwar

“”What languages should I learn?” is an interesting question. What I usually tell people is to learn one of each. There are various different types of languages, and once you know one of a certain type, you’ll be able to pick up the others easily.

Here’s some examples.

Imperative: C, BASIC
Object-oriented: Java, C#, C++
Functional: Haskell, OCaml, F#
Web: PHP, Ruby
Scripting: Bash, Python, Perl

You’ll have noticed that types do cross over, so some languages may have their fingers in more than one pie, but they all tend to aim for one or two. For example, I’ve listed Ruby under “Web”, but it’s quite functional, follows OO principles quite well and can be used for scripting. Python is the same. I’ve seen people write very imperative Java and very object-oriented C. Nevertheless, the styles taught in university and in books for these languages tend to follow the categorisation above.”


This post is part of a series of questions that have been asked at previous GDC Meet a Mentor events. For the complete list of questions please see this link

The GDC Meet a Mentor events are being organised and run in association with the team at RecWorks Ltd. An IT recruitment consultancy aimed at spotting and developing technical talent with a focus in Java and Graduate developers.

RecWorks – What makes meaningful work?

Work is a defining, all-consuming part of our lives. But now more than ever, the speed at which the nature of work is changing is having an extraordinary impact on lives everywhere. With lack of employment opportunities for graduates entering the jobs market, here has been much debate about what it really takes to craft a career that is likely to stand the test of time, but more and more I’m reading stuff that shapes my thinking on the future of work and what makes work meaningful, and with a son about to graduate and a daughter just 18 months away from university, it’s thought provoking stuff.

In her new book, The Shift, academic Lynda Gratton offers some research led observations and identifies the forces that will shape work and careers:

  • Ever greater globalisation of innovation and talent;
  • The development of ever more sophisticated connective technologies;
  • Profound changes in demography and longevity;
  • Broad societal forces that will see trust in institutions decrease;
  • Families become ever more re-arranged;
  • The impact that growth in environmental consciousness will have on how we think about our own consumption patterns.

I’ve summarised below her thinking on how these forces combine and offer some insights about skills, networks and choices.

1. Don’t be fooled into walking into the future blindfolded – the more you know what’s in store, the better able you will be to meet the challenges and really capitalise on your options. So keep abreast of the forces that are shaping work and careers in your part of the world and think about how they will impact on you and those you care for. Making wise choices will in the end come from your capacity to understand – don’t rely on governments of big business to make the choices for you.

2. Learn to be virtualwe are entering a period of hyper technological advancements – if you thought iPhones, Skype and WhatsApp were ground breaking avatars, holographs and telepresence are all just around the corner. If you are a young ‘digital native’ you are already connected to this – but if you are over 30 the chances are you are already behind on your understanding. Work will become more global and that means that increasingly you will be working with people in a virtual way – its crucial that you learn to embrace these developments and don’t let yourself become obsolete through lack of technical savvy.

3. Search for the valuable skillsthink hard about the skill areas that are likely to be important in the future – for example sustainability, health and wellness, and design and social media are all likely to be areas where work will be created over the next decade. Also remember that jobs that involve working closely with people (chef, physiotherapist) are unlikely to move to another country.

4. Become a Master – don’t be fooled into spreading your talents too thinly. Being a ‘jack of all trades’ will mean you are competing with millions of others around the world who are similar. Separate yourself from the crowd by really learning to master a skill or talent that you can develop with real depth. Be prepared to put your time and effort into honing these skills and talents.

5. Be prepared to strike out on your ownthere will always be work with big companies – but increasingly the real fun will come from setting up your own company. We are entering the age of the ‘micro-entrepreneur’ with ever decreasing costs of technology will reduce the barriers to getting off the ground, and when talented people across the world will be connected and keen to work with each other.

6. Find your posseto create valuable skills and knowledge you will need to quickly reach out to others who can help and advise you. This small  ‘posse’ of like-minded and skilled people is a network that will be central to your really building speed and agility in your career. Don’t leave it too long to find and cultivate it. Many of the web-based communities identify themselves as ‘digital tribes’ are the future connected workplaces and workforce.

7. Build the Big Ideas Crowdthe future is about innovation, and sometimes your best, most innovative ideas will come as you talk and work with people who are geographically and time-zone disconnected, but it’s the development of crowdsourcing, leveraging mass collaboration that enabled by web 2.0 technologies to come to the fore that will be a crucial source of inspiration. Make sure that you don’t limit yourself to working only with those who are just like you and close enough to touch.

8. Lock in, but go beyond the family  – your career success will depend in part on your emotional well-being and resilience. In a world of ever shifting real and virtual relationships, it’s important that you invest in developing deep restorative relationships with your family – this is your ‘regenerative community’ and they are crucial to your well being and happiness – but also make the web enabled connections and investment as soon as you can and make an effort to continually maintain and build these relationships.

9. Have the courage to make the hard choicesyour working life will be shaped by the shifting patterns of longevity (you are likely to live considerably longer than your parents) and demography. So you need a strategy for the long term. You have three hard choices:

  • Build a career that enables you to work longer (into your late 60s or early 70s);
  • Be prepared to save a significant proportion of your income throughout your working life (the Chinese save around 40% of their income)
  • Consider ways to reduce your consumption and live more simply.

It does not matter which hard choice you make – but you are going to have to make at least one of them.

10. Become a producer rather than a simple consumer – And finally… the old deal at work:  ‘I work, to earn money, to buy stuff, that makes me happy’ is rapidly becoming obsolete. Engaging in meaningful work where you can rapidly learn will become a priority (although fair pay will always be important). So think hard about sharing and great experiences rather than simply building your working life around consuming.

Here at RecWorks we’ve been thinking about the above, and especially that formula for the traditional deal at work, which goes something like this:

I work… to earn money… which I use… to consume stuff… which makes me happy.

I suggest that this deal is not a sufficient description of what work can and should be. Instead I put forward the following knowledge-based and future-focused deal, which we think makes RecWorks different:

I work… to gain productive experiences… to improve my knowledge…that is the basis… of my happiness.

But this begs the question – what exactly is a meaningful productive experience, and how do you know when your work is meaningful? So here are the 10 questions we asked ourselves to establish whether our work at RecWorks is meaningful, based around knowledge, fulfilment and all the stuff we’ve gone on about above:

  • Do you use the majority of the knowledge you have on a daily basis?…because meaningful work provides an opportunity for you to keep your knowledge fresh by using it constantly.
  • Do you feel intellectually stretched in your work?…because meaningful work both uses the knowledge you have and pushes the boundaries of what you can become.
  • Are you able to learn something new at least once a week?…because meaningful work creates constant opportunity for learning.
  • In your view are your colleagues at work knowledgeable and do you learn from them constantly?…because meaningful work is also about the colleagues who come with it, and your learning and development comes primarily through learning from others: ‘The RecWorks Tribe’.
  • Are the tasks you do at work interesting and complex?…because at the heart of meaningful work are the day-to-day tasks that you do.
  • Do you get lots of feedback about how you are doing?…because meaningful work enables you to grow, and feedback from others is a crucial part of this.
  • Do you think that the work you do has a positive impact on the business?…because meaningful work enables you to make a clear link in your mind between the tasks you perform and the broader goals of the business.
  • Do you think that the work you do has a positive impact on society?…because meaningful work is made up of tasks that you believe do good and, as a consequence, make you feel good about yourself.
  • In your daily work, do you have the opportunity to reach out to develop networks with people very different from yourself?…because meaningful work creates opportunities for you to develop the ‘Big Ideas Crowd’ that is so crucial to developing your innovative and creative capacity.
  • Does your work give you time to really develop deep regenerative relationships with people inside and outside of your organisation?…because meaningful work creates time and space for you to develop emotionally.

So where are you on meaningful work?

Score 8-10 Through your active choices, or sheer luck, you are working in a meaningful way. Cherish the opportunities this provides and don’t compromise in the future.

Score 5-7
Some aspects of your work are meaningful. Take a closer look at those you have said no to and search for the underlying patterns. Is it possible to focus on developing these areas?

Score 1-4
Your job lacks meaning – you already know that! The question is – what are you going to do about it?

So there you have it, an inside perspective of what we think about in RecWorks when we’re not delivering outstanding recruitment services to candidates and clients. Take a look at our blogs, get in touch and join one of our communities – the LJC or GDC – come inside for a conversation where we can share knowledge and do some meaningful work together.