I went for an interview yesterday for an organisation in London. I seemed to pass the interview ok and then the technical test which was all about demonstrating how you would go about resolving an issue on a live site I also passed. So I thought I was on to a good thing.
Then I found I had to do another telephone interview with the Head of Development. This organisation seems to be a Microsoft shop and I have done some .Net and AD in my past so I was not concerned. Questions on DNS and LDAP were easily fielded, How to explain how a web page is built to a layperson was interesting but easy. Then came the killer question "Explain N-Tier Architecture" Not sure what it was (I was getting confused with N-Series servers which I had used 10 years ago) I demured stating I had not encountered the term (I had but not in anything relevant to work so had never looked it up) and said I did not know.
It seems this failure was the reason I failed to get the job.
I of course googled it afterwards and found it was a buzz-word for multi-tier architecture or multi layered architecture. Now I know the OSI model inside out and have built seperate applications and database servers for years but I have never heard it called n-tier, possibly because I have been working with SME's and Web Development and have avoided large corporate systems for some 10 years. I fail to see why lack of knowledge of this term makes me any less of a programmer than someone who does. I know how to do it its merely a synonymous term for a fairly common practice. Surely the practice is important not the term.
So searching Drupal.org I found very little mention of N-tier, Is it of any relevance at all? Was "Explain N-Tier" a fair question to a Drupal Developer?
Comments
You don't say what what the
You don't say what what the job was (a Drupal specialist? are there so many Drupal specialists applying for jobs in London that they have a big choice?) but you make it sound like an MS team looking for an excuse not to hire you. If they are already playing anti-OS or anti-Drupal politics at the interview stage, maybe you are better off without that job? I am far from the world, being a man-and-laptop operation working for people who want websites, working in London or the Alps or wherever I feel like being, and although a lot of the work is technically low-level and without reliable salary, the freedom from the corporate environment is great.
Digit Professionals
The job
The role was a drupal developer maintaining a site with a large number of custom modules and adding new features as necessary. For most of the last 10 years I have been like yourself, avoiding the corporate environment. This organisation did not appear to be overly corporate but to be turned down for not knowing a term that has barely any relevance to the post I was going for is a bit galling. The principles of n-tier are only partly applicable to Drupal as far as I can tell, having seperate application and database servers is common practice, but having a server only delivering the theme seems an unnecessary complication and would probably slow a drupal site rather than speed it up.
Yes in hindsight, maybe if they are that corporate I am well rid.
I'd say yes it was a fair
I'd say yes it was a fair question and possibly quite relevant. For smaller, relatively low-traffic sites, it doesn't matter. But any high-traffic and/or significantly complex Drupal site is most likely going to need a multi-tier architecture (CDN and/or reverse proxy on the front, possibly load-balancing web servers in the middle, and database servers on the back). If they already have one and a new hire tried to work on it without understanding it, that could cause a lot of problems. If they know they need it (or will need it) and need to hire someone to build it, then of course they need to know if the candidate doesn't know anything about that.
When an interviewer asks a question like that, it's best to relax, try to clarify and draw out what they actually mean, especially if there's no context given. In our industry there are a lot of overloaded jargon and buzzwords that have multiple meanings, and a lot of synonyms for the same thing. Being able to communicate with people who speak a different dialect of the industry jargon is pretty important. If the interviewer is technical and knows what they're asking and why, you can usually draw them into a conversation and figure out what they're trying to ask you (and importantly - how it relates to the job you're applying for!). If they have no idea what they're talking about themselves and can't clarify it, then you're better off elsewhere.
Remember that it's tough for the interviewer too. Sometimes when interviewing we ask a question and the interviewee interprets it the wrong way and confidently goes into a long explanation/monologue that isn't at all related to what we meant, (but at the same time is actually in some way related to what was asked, due to the multiple meanings thing). Then it's pretty awkward to try to rephrase the question and steer it back, especially when it turns out that they don't actually know about what you're looking for. Interviewers are (or should be) quite willing to converse with you and try to get on the same page so that they can find out what they need to know with minimal uncomfortable awkwardness.
(BTW, having CDN and/or reverse-proxy caches is a complication but certainly not an unnecessary one for many sites, it can speed things up very dramatically and significantly reduce load on the webservers.)