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.”

@RecWorks

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.

Advertisements

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.

Q. Is gaming a viable career option for a developer? Can you tell me about what the industry’s like and how to get into it?

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. Is gaming a viable career option for a developer? Can you tell me about what the industry’s like and how to get into it?

A. Gaming is indeed an exciting opportunity at the moment. Here is some information that may help you look into it further.

Firstly it is important to understand the different sectors within the gaming industry; there is a difference between working in social gaming, console gaming and online gambling. All are potentially attractive career options, but it’s important to understand the differences.

Social gaming is the fastest growing sector within gaming; this article written just over a year ago is a good introduction to the industry: http://www.cartagena-capital.com/news-and-events/news/256-online-social-and-mobile-the-future-of-the-video-games-industry. This is a great alternative to a career in banking  – we at RecWorks work with many of the industry leading social gaming companies in London. If you are interested in hearing more then get in touch with Aaron.

If you’re interested in finding out about console gaming, then check out this interview from Alex Darby, a games developer. It gives you an insight into the games development industry, Alex’s views on the future of the industry and what you can do to give yourself the best chance of moving forward: http://careers.grad-dc.co.uk/category/career-interviews/games-developer/

Another resource to check out is http://www.sloperama.com/advice.html. The idea of this is to help applicants learn what it takes to get in and move up in the game business. Andrew Martin, one of our mentors recommended it as the single most important resource for all his non-technical games industry knowledge, and for getting me my first job.

Online gambling sites can be a very attractive option from a technical perspective. In this interview http://careers.grad-dc.co.uk/2012/03/14/martin-anderson-architect/ Martin Anderson, Site Architect of London based company Betfair, talks about how the site sees 88,000 requests per second, processing over 6 million transactions a day – more than all of the European stock exchanges combined. If you are interested in working in gambling, let us know. We work with many online gambling companies in London and would be happy to discuss this with you and make an introduction. Get in touch with Aaron and let us know what you’re interested in.

If you have any further advice you would offer please add a comment below.

For a full list of all our opportunities, including roles in the finance and travel industry, please visit recworks.co.uk/jobs

@RecWorks

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: Why do most people fail interviews?

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: Why do most people fail interviews?

The two big reasons I would say why people fail interviews are a lack of suitable preparation and an inability to communicate effectively. Both are relatively simple to put right.

Firstly preparation is easy. You have to start by genuinely thinking about what you want to get out of your career and whether this company is going to be the right one for you. When you start thinking about what you honestly care about it leads to interesting questions:

– What will my day-to-day role be?
– What is the team like? Are they like me?
– Will I be doing the same role in a year? two years? five years?
– Will the company still be going in a year? two years? five years?

There are a lot more questions that will come up, the key is to think about what YOU really care about?

Your preparation should be around trying to answer all of these questions before you go to the interview. Look at the job spec, the blogs, the website, linkedin to see the people that work there. See what you can find out about them, you will definitely be able to find out answers to a few of your questions. You should be left with questions that:

a) you genuinely care about, and
b) you can’t answer yourself

The interview should be a two way thing, not just a chance for you to impress the employer. When you go to the interview you will find that you feel less nervous, because you want to find out these answers.

Secondly if you have some serious and interesting questions then the employer can see that you are bright, that you do care about the interview and your career.

Finally the employer will want to answer your questions, effectively selling the company to you. Whenever anyone sells to you, they are trying to make you like them, naturally building rapport.

To communicate effectively, you should also prepare on yourself. Have a look through this developer careers post on preparing for interviews for more help in this area – https://developercareers.wordpress.com/2011/09/25/interview-guide-preparing-for-interviews/

Good luck!

@RecWorks

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.

Meet a Mentor: FAQs

The Graduate Developer Community is a diverse community of students and recent graduates with an interest in Software, run through an active The Graduate Developer Community Meetup Group. It was founded in 2009 by Barry Cranford of RecWorks Ltd and is organised and run with the support and collaboration of members of over 50 companies in London.

In 2012 the Meet a Mentor initiative was launched which aims to offer students the advice of mentors from a wide range of disciplines. With over 100 mentors involved, this is a forum for FAQ from our members. If you have any questions you would like to post, please email Barry Cranford at bc@recworks.co.uk

https://groups.google.com/forum/#!forum/GDC-Meet-a-mentor

Four reasons why you should become a mentor

The GDC has recently launched the Meet a Mentor program in Association with RecWorks. A network of ‘mentors’ that are going to be speaking to students within universities about their stories and answering their questions.

The Graduate Developer Community was set up with the intention of being able to inspire, guide and act as mentors for undergraduates with an interest in Software Development. The group has been running for the last 2 years and has now got connections with many universities, technical societies and companies in London.

The goal of this new program is to run a series of events within different universities. With inspiration from unconferences, the events will have a vibrant ‘speed dating’ style in which mentors will spend 10-15 minutes speaking to a set group of 5-10 students before moving on to another group. We believe that this approach will be far more effective than a standard presentation in helping individuals feel more engaged with the mentors and ask questions relevant to their particular interests.

You will get many personal benefits from being involved in this program.

– Firstly it is something to include on your CV and discuss in interviews. Many companies seek evidence of communication skills, this will raise your profile both in your current position and future roles.
– It will give you a chance to meet many undergraduates personally (25-75 per session) and spread details of your company/open source project/startup/personal profile amongst the next generation of thought leaders.
– It will increase your confidence in public speaking. Although you’ll only be sitting around a table, you will find that you have a great amount of knowledge that others are interested in.
– Finally, and most importantly, you will have a chance to make a positive change in the industry. To actually inspire a great many people to do the things you believe in (writing clean code, getting involved in Agile, considering testing as a career, get involved in open source software development etc.)

If you are interested in joining this program as a mentor then please email Barry Cranford directly on bc@recworks.co.uk. If you would like to find out more then visit the GDC blog post on the subject.

Which new technology to learn next?

This post is part of a complete guide on writing CVs, dealing with recruiters and attending interviews. The complete guide can be found here: https://developercareers.wordpress.com/contents/

Apparently, developers only spend 3 hours of their day coding, what could there be to be stressed about?

This post with Oliver White at Zero Turnaround interviewing Martijn Verburg of TeamSparq is definitely worth reading. Following on from a recent survey to find out what stressed developers out, Oliver discusses the results on a survey of the stresses developers face. Martijn takes a light hearted look at the results of the survey and in his usual style, simplifies how to avoid becoming stressed with development. Covering aspects of how to scope work, write beautiful / clean code and a look at Martijns thoughts of the complications for Java Developers around performance tuning. Our highlight of the interview is when Martijn speaks about how to decide what to focus on when trying to learn something new:

“There’s always the fear of being left behind, can you as a developer guess what’s going to big next?  If your technology CV is out of date you might struggle to find that next job!

Take a deep breathe and relax.  Most new technologies are simply short lived fads and it’s impossible to keep up with everything!

There’s no way a developer can stay up to date with the latest Java libraries, learn Scala, pick up Clojure, hack some iOS, and then deploy that all to the cloud on a NoSQL distributed grid environment.  See what I mean?

The trick is to identify trends.  Cloud is a trend, so you should learn about the principles behind it, but don’t sweat if you haven’t learned to deploy to the 5+ different Java cloud providers out there today.  Functional programming is a trend, so learn _why_ (hint – Multi-core processors and concurrency) it is and see if it’s something that you need to learn about now or whether you can wait a few years. The same goes for any new craze you read about or hear at a conference.”

Lots of great advice in the interview. We would definitely recommend checking out this post.


@RecWorks

This post is part of a complete guide on writing CVs, dealing with recruiters and attending interviews. The complete guide can be found here: https://developercareers.wordpress.com/contents/

Originally titled ‘the top 2%’ the copy has been researched, compiled and edited continually over the last five years by the team at RecWorks Ltd. An IT recruitment consultancy aimed at spotting and developing technical talent with a focus in Java and Graduate developers.

You want to know what really goes on in the finance industry?

This post is part of a complete guide on writing CVs, dealing with recruiters and attending interviews. The complete guide can be found here: https://developercareers.wordpress.com/contents/

 

We recently did a lot of research for a new post on the various careers in banking/finance. That post is coming –  but one of the most interesting links we received whilst doing our research was this series, in which people across the financial sector speak to Joris Luyendijk about their working lives:

http://www.guardian.co.uk/commentisfree/joris-luyendijk-banking-blog

We would highly recommend reading it as it seems to cover the highs and the lows of the much coveted financial industry.

@RecWorks

This post is part of a complete guide on writing CVs, dealing with recruiters and attending interviews. The complete guide can be found here: https://developercareers.wordpress.com/contents/

Originally titled ‘the top 2%’ the copy has been researched, compiled and edited continually over the last five years by the team at RecWorks Ltd. An IT recruitment consultancy aimed at spotting and developing technical talent with a focus in Java and Graduate developers.

Tagged , ,

Increasing your employability the easy way

As a developer, there are many things you can do to market yourself better to employers.

You can learn new technologies, partake in personal projects, develop your own applications – there are literally hundreds of ways to boost your profile.

But what do employers really want from a software developer in 2012? Angelique Martin from 8th Light blogged a fantastic post which should give you a pretty good idea.

Recruiting a software developer is a long and expensive process, so you can be sure an employer will be especially picky – the information in this post should give you the edge among your competitors.

You can find the blog here.

Thanks

Aaron

Tagged , , ,

CV advice from a pro

CV writing (as we all know) is a tricky business. Software developer CVs in particular can be very tough; describing past projects and technologies fluidly leaves a lot of room for error.

You can read more about our thoughts on writing CVs and a complete guide from scratch here: https://developercareers.wordpress.com/2011/09/25/information-to-include/

We always like to bring you blogs and information from the people that know best – those that review your CVs. Trisha Gee, renowned conference speaker and LMAX technologist, is someone who reviews candidates on a daily basis.

She recently blogged this great guide on what makes a good CV. We highly recommend reading it and then rereading it.

Check out Trisha’s post for her thoughts on how to make your CV great… (or not suck, as Trish puts it). http://mechanitis.blogspot.com/2011/12/how-to-make-your-cv-not-suck.html

Tagged , , , , , ,