Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This was an interview question I got asked. As a software developer I work on whatever task is assigned to me, sometimes it's a GUI component requiring me to add a new dialog box, or change the existing GUI, other times it's a business logic that I need to add/modify, or a new interface required to expose some 3rd party library's functionality - so when I asked this question in an interview, how should I answer it? What exactly are they looking for?

share|improve this question
    
Based on what you're written in your question, you sound like a "the-whole-range-end developer" because you're fiddling everywhere. But even if you're touching code in front, middle and back-end, what matters is also the quality of those changes. If you're more proficient in on than the others then you're a "such-end" developer. Also, which end do you enjoy fiddling with most? –  gablin Nov 24 '10 at 18:50
    
Out of curiosity, was this question asked by another developer or person with software experience? Or by a middle-manager or HR employee? Because it's a very odd question for a developer to ask another developer... –  Aaronaught Nov 24 '10 at 18:53
    
Thanks for the comments, to answer Aaronaught's question, this was a phone screening interview and the person asking the question was a senior developer. –  codetc Nov 24 '10 at 20:06
1  
the answer is "yes" (but really, it's 42) –  Muad'Dib Nov 24 '10 at 22:18

4 Answers 4

up vote 2 down vote accepted

This is an attempt at a somewhat comprehensive, what would I do answer. I'd be aware of a couple of things:

  • Did the job description specify which tiers the work may involve mostly? This can be a clue as to which tier may be worth emphasizing. If the job is mostly UI work then that is often considered the front-end while the databases tend to be more back-end. However, those are generalizations that can backfire in some rare cases.

  • Do I have a preference? Do I prefer UI work over database or vice versa? This can also be important as if I really love databases then doing UI work may not be a good fit.

How I understand the tiers, generally:

  • Front-end - Generally UI level work where user interaction and how the application looks can matter more than the other tiers. This can be the eye candy tier.

  • Middle-tier - This is the glue between those applications in the front-end and back-end. Generally this involves some form of service that passes data from A to B.

  • Back-end - This is the core of a system at its guts. This has the least connections to the user. Databases and server stuff that doesn't involve the end-user tend to be this part. Eye candy can be rare here though there are some systems that can have this mixed up to some extent,e.g. a content management system may have 2 front-ends as there is the site for visitors and another site for content authors that are both fronts to how to see the application. In the example, the content authors may see the back-end as they are working more with the inner guts of the system rather than what the customer or site visitor would have to experience.

share|improve this answer

You should answer it like this:

As a software developer I work on whatever task is assigned to me, sometimes it's a GUI component requiring me to add a new dialog box, or change the existing GUI, other times it's a business logic that I need to add/modify, or a new interface required to expose some 3rd party library's functionality

And then briefly describe your understanding of software tiers.

share|improve this answer
    
+1 and maybe describe past experiences to match these three "roles". –  user2567 Nov 24 '10 at 18:58

"I'm a developer - period. I can do all of those things."

Code is code - it really doesn't matter which "tier" it's on for us to do our jobs.

share|improve this answer
    
Well, the frontend I would say is a bit different since you need to think about how non-developers interface with your program. The people who will use it most certainly think differently than the people who wrote it. Typically usability which may seem clear to you may be too complex to the user. –  gablin Nov 24 '10 at 18:56
    
@gablin: That is UI design, not "front-end development", and most developers shouldn't be doing it at all. I would assume that most UI developers are working from a design created by a designer. Otherwise I would specifically ask "do you have experience with User Interface/User Experience design?" –  Aaronaught Nov 24 '10 at 18:59
    
@Aaronaught: If the GUI-end is "UI design", what's front-end development then? –  gablin Nov 24 '10 at 22:09
2  
@gablin: There's UI design and there's UI development. They are completely separate fields, and being experienced in one does not confer any ability in the other. –  Aaronaught Nov 25 '10 at 0:46
1  
@gablin: I understand your astonishment, but normally the GUI is designed by 3 kinds of people: business analysts (who know the functionality), designers (for fancy stuff), usability experts (for, hum, usability). They should work together to design the GUI, and probably consult the dev whenever there is a doubt as whether something is possible or not (but usually GUI components are pretty standards...). It is possible that the designer is also "usability-knowledgeable" and such, but unless the project is very constrained... I'd rather not have a techie do the design ;) –  Matthieu M. Jan 28 '11 at 18:45

I often see this question as a way to weed out the people who really just hack together noddy websites.

On the face of it, there is nothing wrong with asking this question, as there will be people who focus more on one specific area. They may also prefer to work in a specific area even though they have the other skills too.

That being said, my answer is always "I'm a developer who can work in all of these areas".

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.