Thanks Jason.

Position would be a bit mid-level since it expects 3-4 years in 
Flex/Coldfusion. Do you feel the questions are pointless now or are they too 
easy for mid-level position?

1, 2, 3 you listed are something most applicants might have today since each 
opening in the technology field attracts lot of well qualified candidates in 
today's market.

I went through the books by Careercup, programming interviews exposed to get a 
feel of how developer interviews are done today and I estimate most companies 
do that(focus on language competence, algorithms, data-structures, Computer 
Science concepts like concurrency etc). 

The idea of language competence comes from if someone has worked in CF for 3-4 
years, he/she can get things done lot quickly in CF than someone who is a 
skilled developer in C/C++, but new to CF. I imagine this is why lot of 
start-ups want people with "N" years of experience in the 
language/tool/database they are using.

I appreciate your comments and suggestions.


________________________________
 From: Jason Vanhoy <jpvan...@gmail.com>
To: discussion@acfug.org 
Sent: Tuesday, March 12, 2013 2:11 PM
Subject: Re: [ACFUG Discuss] Choosing a person with adequate CF skills
 

My first question would be are you hiring for an entry level, mid-level, or 
senior position?

If you're hiring a senior position, none of the questions you outline is going 
to be worth a hill of beans for choosing the right candidate in my opinion.

I come at this problem from the point of view of having been on many hundreds 
of interviews, having interviewed people a significant number of times as well, 
and making hiring decisions based on those interviews a number of times both 
successfully and unsuccessfully.

In my humble opinion the technology world concentrates entirely too much on 
technology in an interview for a developer (or, for that matter, for a network 
engineer, DBA, etc., etc.)

A few basic questions to decide whether or not the candidate is simply lying 
through their teeth on their resume are certainly in order. Maybe a few things 
like, "What's the difference between == and ===?" or "Explain to me how a CFC 
differs from the Custom Tag of yore?" or something that roughly targets the 
functional awareness you're targeting. Also, maybe a question or three about 
basic, non-language specific programming techniques are helpful. Some examples 
might be "Can you explain to me some design patterns you've had experience with 
and why they were or were not the right choice in those situations?" or "Can 
you tell me what the difference is between a class and an object?"

Beyond about 20 or 30 minutes worth of this type of discussion, however, and 
all you're doing is showing off, or asking the candidate to show off, arcane 
and trivial knowledge. Developing software (web-delivered or otherwise) is not 
an eyes-closed operation, and any specific knowledge an employee needs to 
complete a task is readily available online, or in a book, or at a co-worker's 
desk, or in the company wiki, or...you get my point. So, knowing that a Java 
candidate, for example, knows off the top of his or her head what the 
differences between final, finally, and finalize is, is completely immaterial 
to whether or not he or she would be a good fit for your team.

Here are what I consider the questions that one should have answers to at the 
end of a job interview, from the point of view of the interviewing agent (in 
order of increasing importance):

1) Is the candidate basically competent in the general skill set required? That 
is, for a software developer, do they have experience developing software in 
SOME language, do they understand BASIC concepts and can they apply those 
concepts.

2) Can the candidate express themselves well, professionally and competently? 
That is, do they speak clearly, do they explain things well enough but not TOO 
well? Do they understand the differences between site-specific knowledge and 
global knowledge? Do they grasp the language I use and understand what I'm 
saying, or, barring that, eloquently ask for clarifications that are logical 
and understandable?

3) Does the candidate's personality mesh well with the team they're going to be 
working with and will they likely enjoy being on the team? Will the team likely 
enjoy them being there? 

The great truth, at least in my experience, is that any competent developer can 
fairly quickly get up to speed on a new language or platform. However, to quote 
a good friend of mine (pardon the language) "you can't fix asshole." 

I'll give you an example: It's been probably a decade since I did any 
significant ColdFusion work. I would seriously have to have a syntax book 
beside me for a week if I started writing it today. I've got a ton of Flex 
experience, though, and very recent experience using it. Would I be a good 
candidate for your position? Well, the answer is "maybe." 

If I came into the interview and you asked me some question like, "Can you tell 
me the difference between a class and an object?" and I gave you the following 
answer: "Well, um, [drums fingers on table] a class is like...you know...how 
something IS, like...you know...how like, all of them are made up and 
stuff...but...um...[drums fingers again] an object is like just one of them, 
like...just a single one, you know...like...[taps knuckles on chair arm]...you 
know what I'm saying?" then the answer might change from "maybe" to "no". 

However, if I said, "Well, a class is the how an object-oriented design defines 
a real-world concept in code, and then an object is a single instance of that 
class that one can then do work on." the answer might start looking closer to 
"yes". 

If you look at both answers closely it will become clear they ultimately say 
the same, or a very similar, thing. However, one shows much better 
communication and a much greater ability to express one's self than the other. 

Additionally, if you and I are sitting in the conference room with several 
senior members of your team, and someone cracks a joke. Let's say I mentioned 
something about when I was first learning to code and how I relied on a bunch 
of senior folks to help me along or something, and one of your team says, 
"Well, if you can run, you walk, and if you can't walk you find someone to 
carry you..." Now, if I come back with "huh?" that's one thing, but if I 
respond with something like, "Shiny!" then you might start thinking, 
"Hey...this guy might fit in around here!" (By the way, if you didn't get that 
joke, it's a Firefly reference, and fairly obscure at that).

So, my long-winded response is really just to say, I think you're focusing too 
much on the details and not enough on what's truly important about a candidate. 
Or, maybe you're not and you just wanted some advice about the first few 
technical aspects of the interview, and if so, ignore ALL my rambling.

I like your idea about having the candidate do some actual thinking on your 
whiteboard. I'd hesitate to make it actual code, it would be more useful to see 
pseudocode or block diagrams so you can see more of the person's thought 
process rather than if they know syntax without a reference close by. 

I love the idea of having the candidate discuss recent projects and the 
failures or successes each may have had (as long as they can, some stuff is 
going to be privileged/confidential or covered in an NDA or something).

I'd steer clear of operating system and networking concepts (unless you're 
planning on having someone write you a networking app in a web language, why 
would a candidate really need to know this?), or agile programming concepts 
("agile" covers a huge range of development methodologies and nobody's version 
of any one of them is the same as anyone else's, it's a red herring question 
that probably won't tell you much). 

Anyway, hopefully some of this helps, good luck in finding the right person for 
that chair.

~JV



On Tue, Mar 12, 2013 at 1:32 PM, Chris <h_chris...@yahoo.com> wrote:

I am with a public university and asked to interview applicants with 
Coldfusion(CF) and Flex skills for an opening. The position requires someone 
who has worked 3-4 years in CF and Flex. 
>
>
>I was moved into this position and I picked CF/Flex after I started so do not 
>have a first hand experience of a CF/Flex interview, though a Web search 
>reveals dozens of websites with questions.  
>
>
>
>I have worked with Coldfusion 8 and 9 and I know I can ask questions about 
>following topics.
>
>
>
>1. Check for CF basic understanding, ask about functions which are rarely used 
>to test depth of knowledge in CF. 
>
>2. Ask about CFC, Bean, Gateway to test OOP understanding in CF
>
>3. How the facade pattern is used in CF?
>
>4. Recent CF projects of candidate. Question the design, implementation 
>decisions and possible performance improvements in the projects
>
>5. Ask them to develop a Bean on whiteboard.
>
>6. Contributions to an open source CF project
>
>
>
>Since the opening expects someone with a Bachelor's in Computer Science, I can 
>ask the typical questions(algorithms, data structures, design patterns, OOP, 
>contract by design, agile programming concepts, Operating System and 
>Networking concepts, information security, bit fiddling in C, RTTI idiom in 
>C++ assuming candidate lists C,C++ on his resume).
>
>
>
>I realize a Web search can reveal lot more questions, but since I have not 
>interviewed someone for a CF background before, I want to know if items 1-6 
>listed above are sufficient or do they need more additions? 
>Are they too simple that most people who have worked 12-18 months in CF would 
>know?
>
>
>
>I do not want to make the interview unduly hard or easy.
>
>
>
>Any suggestions would be appreciated.
>
>
>
>Thanks
>
>
>
>P.S. I went through the usual books Career cup, Programming Interviews exposed 
>and their websites to learn how interviews are done in most places today.
>
>------------------------------------------------------------- 
>To unsubscribe from this list, manage your profile @ 
>http://www.acfug.org?fa=login.edituserform 
>
>For more info, see http://www.acfug.org/mailinglists 
>Archive @ http://www.mail-archive.com/discussion%40acfug.org/ 
>List hosted by FusionLink 
>-------------------------------------------------------------


-------------------------------------------------------------

To unsubscribe from this list, manage your profile @ 

http://www.acfug.org?fa=login.edituserform



For more info, see http://www.acfug.org/mailinglists

Archive @ http://www.mail-archive.com/discussion%40acfug.org/

List hosted by http://www.fusionlink.com

-------------------------------------------------------------


Reply via email to