Recruitment

April 2, 2009 Leave a comment

Prestigious media company looking for person to fill software engineer/web developer role. The successful applicant will be an expert with at least 10 years experience in each of the following technologies: C, C++, PHP, Java, HTML, Javascript, CSS, XML, XSLT, Apache, Unix, Linux, Windows Server 2003, Visual Studio, Visual Basic, Perl….

Salary £18,000 pa

There was a London Java Community mailing list discussion a week or so ago about the recruitment process for Java developers, recruiters expectations and requirements for candidiates and whether these were the best approach for finding the most appropriate person for the job.

We discussed the approaches that taken by recruiters to try to find the correct person for the job but it seems that all too often it falls down to knowledge in certain technologies. For example, has the candidate got experience  Spring, Hibernate, JiBX, Tomcat, Java, XML, XSLT…and so on (see the above job description!).

But the fact of the matter is, these are just technologies. Any decent enough techie will be able to pick up a good working knowledge of any of those things within a pretty short period of time. Being a skilled developer does not equal having a long list of technologies on your C.V. The skills are abilities that the developer has honed through previous development experience. For example, the ability to:

  • Hold large amounts of information in their mind at one time
  • Work through the information, make sense of it…
  • Pick up new technologies with minimum effort
  • Manage their time well, to best prioritise their work load
  • Proactively identify potential issues with design and implementation
  • Bring new/innovative approaches to the table
  • Choose the most appropriate techniques, approaches and technologies to the project
  • To integrate well with the existing team

“Woah, hang on a minute”, I hear you cry, “If they don’t know the difference between StringBuilder and StringBuffer then there is no way I can take them on.”

Really? Can’t they just Google it?

“Well, I mean, I suppose, but if they don’t know whether the escape character is forward slash or back slash!”

Oh, well, ya know, the IDE will probably tell them. Usefully makes the text go bold or something.

Ok ok, enough. Lets be serious. You don’t want an £18k/£30k/£40k+ a year compiler. You can download it for free off the Sun website. You also don’t want a £18k/£30k/£40k+ a year reference manual for Spring or Hibernate.

But you do want the best person for the job, and so recruiters need to address better ways of identifying the higher skilled candidiates. Whether that is a programming challenge in a “real life” environment, or a team work challenge, I don’t know. But let’s face it, Brain Bench or whatever it’s called and annoying questions to try and trip the candidate up can’t be the right way forward. Throw them in the bin!

Of course, there’s always the possibility that I’m just way off the mark here and if that’s the case, then please comment and let me know what you think!

Java and the Build Process

January 23, 2009 2 comments

On Wednesday evening I attended my first London Java Community meeting, the subject of which was the build process. We had a presentation on Ant, Antelope, Maven, Gant and Hudson. After the presentations was a free form discussion about various technologies, when they are appropriate to use, their benefits/short comings, etc. 

The presentations were short (around 15 minutes for each topic) although the evening as a whole gave me the oppertunity to think about the build process (an area I have had a fair amount of experience in) and really to appreciate its importance.

Although each of the technologies were impressive, on my current project a lot of time and effort has been invested in creating a build process using Ant. Although it may not be perfect, it does a great job and I think it would be fairly impossible to give a good enough reason why investing time in to moving to a new technology (such as Maven) would be of significant beneft to the project…and to be honest, I don’t think I could make that case.

Sometimes when someone recommends a technology, the underlying reason for why a particular person perfers it is that they might prefer the syntax (for example a person who hates XML would surely choose Gant as a preference over Ant), but that alone is not a good enough reason as to why time and effort should be invested in the move.

I guess ultimately, if a certain technology will save you significant developer time during day to day development activites, then surely it has to be a good move. But if this is overshadowed by the cost of making the move, training developers to use the new technology and increased maintenence time due to lack of familiarality with the software, then the move isn’t going happen.

Regardless, I certainly enjoyed the oppertunity to learn about the other technologies that are out there and will keep them in mind for the future if I’m ever in a position to choose what would be used on a new project.

Get the tools and processes right at the beginning and the rest will be a piece of pi…

Categories: Software Development
Follow

Get every new post delivered to your Inbox.