Technical Competence and the Interview Process

As I begin the job hunt all over again I am renewed with the realisation that sales skills, although possibly only rarely used in day to day coding, are as important as ever. Over the last 2 days I have been talking with friends, former colleagues, recruiters, HR and connections from all of the above in the Perth IT market regarding jobs.
The people who dont know me just want to to know what in vogue technical skils I have. Buzz wordy stuff that pass with the wind like WPF, MOSS, Asp.Net MVC etc etc
These technologies are all great at helping us do our job faster, prettier and more consistently but they only HELP. Core coding concepts, IMO, are of a much greater importance. I am not a WPF guru. Can i learn it? Bet your ass I can, in fact I am now. I give myself 6 weeks to do so and to be come good at it. Why six weeks? As I have been around the block a few time i have picked up a few technologies, API’s & languages over the time. What i find is the more technologies, API’s & languages I learn, the faster I can learn the next one. There is such a thing as “learning to learn”.
In the past 2 years I feel I have become a much better developer in general.
Alot of that knowledge has come from reading the dozens of books and thousands of blog/forum posts, watching multitudes of videos and seminars and attending and presenting gigs like the Alt.Net open spaces… basically all the things that have stolen quality time from my friends and loved ones. Alot of that knowledge has come from using 3rd party API’s that both kick ass (like StructureMap) and suck (like Infragistics). You learn from both, however it is with continuual exposure to new APIs that you are exposed to overall patterns and styles that you begin to associate as good or bad.
for example: Over the last couple of weeks I have found myself talking to a few friends and colleagues about the Law of Demeter. Infragistics is a perfect example of why this law (or guideline) exists. Having 5 properties chained off to change a setting in the grid is stupid and shows poor API design. Having not used this API i may not have “got” that specific law (lemons => lemonade). 😉

Learning languages like Python, Boo, F# and Ruby highlight the strengths and weaknesses of my own day to day language C#. It also highlights the fact the Java, VB.Net and C# (or whatever other c based managed language) are basically the same and people who argue between C# over VB.net or Java over VB.net need to learn a new language. Possibly they just mean they believe the .Net framework or libraries are better than java (or vica versa etc) and don’t realise it.
Anyway…
Having been in the position of the interviewee and interviewer now I can see what I look for is basically the opposite of what recruiters look for… well to a degree. I assume by the time the candidate has got to me the recruiter has figured out the candidate has
-used .Net for a number of years
-has used the basic technology we are interested in (win, web, services, messaging etc)

What I look for is if the candidate has just done the one technology, eg just Asp.Net over WinForms for example. I mean they can not help that their employer dictates that what they used, but they can, in their own time, investigate other angles. In this instance i would also ask
-Have you used an MVC framework such as Monorail or ASP.net MVC?
-When did you use it and which version?
-what did you find different/better?
-Did you ever use it in production?
-have you used JSP, Ruby on Rails or Groovy on Grails or any other web based framework in another language?
-What CMS’s have you used… etc etc
I don’t care really what the answers here are, I am just fishing to see if this guy is a 9-5er or someone genuinely interested in his job. A 9-5er would take what the boss has given him and stick with it. Someone serious about their job investigates things outside of his comfort zone and finds out why this alternative exists and evaluates if it can help him perform better.

I also look for basic OO skills. If the candidate has never used Asp.Net but has ninja coding skills and is passionate and enthusiastic I would take him on. I can teach a monkey Asp.Net in 3 weeks. I cant teach enthusiasm. By that notion i also look for the knowledge of test and mock APIs and the use of framework libraries (e.g. castle and spring) as they tend to show the candidate understands the benefits and quality of code that can come with using such a tool.

Unfortunately this logic does not bode well with recruiters who want to pattern match. So the sales hat goes on to please the gate keepers. My problem is I wont lie to get a job. It has probably cost me some pretty kick ass roles/pay packets but, you still have to look yourself and co-workers in the eye everyday. The problem is the recruiters encourage it. My tack is to try and sell the global picture, its just not that easy. The same is true for interviews with non technicals such as PMs. They don’t care if i know the intricacies of 5 different IoC containers, they want to know if I delivered production ready software on time, and so they should! However they still have the notion of patten matching. My lack of an ultra specific skill may have cost me a job yesterday (you will never guess what that skill is!). The problem is the guy would have given the job to someone of much lesser ability who had the the skill listed on his resume in a previous job. He has been hunting for months for this person… which to me would mean alarm bells ringing if I was him. If i fell in to that situation i would look for good people that you can train. If the good person has the skill set, awesome! If not, get the best you can and train them, FAST.

Fortunately I know people in the market and luckily I haven’t burnt any bridges and have forged some pretty good relationships here in Perth. Which is lucky, because Perth is a small very well connected network. So hopefully mouths start moving and the word gets out that a new developer is in town ;). Otherwise I may follow a good friends advise and make it a leisurely summer of freelance development and lying on the beach, corona in hand…. things could be worse 😉

I would like to hear other comments from others… from the perspective of both the candidate and the employer.

cheers
Rhys

Geek speak to Layman terms

Often I forget that the typical developer is not that well rounded; We are geeks and not all us have the best social skills. This article highlighted in a readable way, how you could articulate this to your geek team:
Can Your Team Pass The Elevator Test?

Something I think all employees should be able to do, especially in small agile* software houses in which your end developer may/probably will talk to the end client.

*agile in the true sense not necessarily the methodologies…

How to get a .Net contract in London

1st: Call GCS and talk to Doug Viney. I’m not kidding, he’s that good.
2nd: Put your CV on Monster.co.uk
3rd: Look on JobServe.com for jobs you want.

CV has to be short, 2 pages, with no fluff.
Tell them what technologies you worked with, what you managed to achieve at that job/on that project, and how long you were there for.

Have your phone charged with money and batteries, the more calls you make and recieve, the faster you pick up job.

Easy.

Back into cutting code

Well I have landed on my feet pretty well here in London, weather has been good, met lots of friends and family and have found work easily.
My first contract was found in 2 days, was only a short contract to help out a media company for 3 weeks. It was basically fixing some issues in a custom built CMS implementation.
ASP.net gone wrong.
1/2 tier design, SQL in the aspx’s, no testing of any description, no documentation, no arguments checks on public methods, no reliable source control… it was not too good.
Fortunately the people there are absolutely wonderful and the application was pretty small so pretty easy to hit the ground running. Hopefully I helped them out and gave them what they needed and was good value for money!

Well 3 weeks didn’t eventuate as I got offered a job by another media company for better pay, longer contract and seemingly better code base/practices/procedure’s.
My recruiter for this particular job has not really impressed me. I was confirmed for the interview 90 minutes before it occurred. I was casually dressed and ill prepared. I was given the wrong address and sat waiting in the wrong reception of the wrong building of the right company for 35 minutes as we couldn’t get hold of the HR person. Luckily the IT guys i was doing the interview with figured something was up, notified reception and sent me along. I then proceeded to meet the Lead Dev and Architect, while i got grilled about things like Nhibernate, WCF, SCSF and heaps & stacks….

Having
A: Not written more than 10 lines of code in any given day while i was in the states,
B: not really being pushed at my existing contract,
C: an awful experience leading up to the interview
..I was pretty horrific in my interview and answering of most questions (well at least i wasn’t happy with some of my answers.. yes there was an exam)

I left, having met some nice guys who seemed to know what they were talking about, and was a little disappointed that i hadn’t been better prepared.

Any-who I get a phone call about an hour later; I somehow managed to get the job.
Sweet.
I told the current agency I was working with that I was cutting my contract short, which they were fine with, and accepted the offer.

So I am back to
Win form apps (CAB influenced)
WCF
NHibernate
N tier dev (where N is greater than 2 😉 )
TDD (TFS and Nmock)
Agile Dev (team is stilling learning… but who isn’t!)

soon to be introducing for IoC either
Castle/Windsor or
Spring.net

And new for me is
Video on demand
&
Oracle (which I have already learned that triggers can NOT modify data in its owner table.. apparently…)

The pay is OK, was aiming for a bit more, but what really pissed me off is my agent gipped me on putting me on day rate not hourly (bastard) and then didn’t tell them I have a holiday booked for mid October (Rugby world cup match in France!!)
Oh well worse things can happen.

So all is good in the city of London, just need to find a nice studio to fill with new computer, new guitar amp and a huge new bed… then I will be very happy.

PS
I did have an excellent experience with one recruitment agency called GCS, specifically a guy called Doug Viney. If you are a good, experienced .Net contractor looking for work in London talk to this man. He is very professional, personable and very efficient. He came recommended to me and I highly recommend him too.