Home Forums Chat Forum Web Developer advice for an interview

Viewing 40 posts - 1 through 40 (of 41 total)
  • Web Developer advice for an interview
  • justatheory
    Free Member

    I have an interview and have been asked to consider the following scenario:

    You are a web developer and there is a business requirement to build a solution that displays information relating to road works and road closures in Gotham on the Gotham City Council website.

    This information is maintained in a separate database within the Gotham City Council network.

    The business want customers to have the option to search for specific road closures by entering search criteria e.g. date, road name and area.

    The result of a successful search should be a web page showing the relevant results.

    For each of the following stages:-

    Initial design
    Build.
    Deployment
    On going support.

    What competencies are required for each stage, e.g. Who would you need to involve for each of the steps above?

    What technologies would you employ?

    Are there any other considerations? E.g. Security

    Any suggestions fom the techie STW crew would be much appreciated

    somouk
    Free Member

    This is a big shout as in theory they are goading you into providing direct access from an outward facing site to an internal DB which should really be avoided.

    Lots of people will probably end up being involved depending on where that DB sits on the internal network.

    njee20
    Free Member

    Are you going to share your salary with those who help?

    I’d suggest if you don’t know the answer it’s not the job for you…

    Roads are liable to being blown up. Watch out for Harvey Dent and Commissioner Gordon.

    justatheory
    Free Member

    Are you going to share your salary with those who help?

    I’d suggest if you don’t know the answer it’s not the job for you…

    Roads are liable to being blown up. Watch out for Harvey Dent and Commissioner Gordon.

    The salary is too meagre to share I’m afraid – it’s an Apprentiship. I have a degree in Computing and got shortlisted for the job so I’d say I’m in with a decent shout. Just after some tips that might help rather than a comprehensive answer. Cheers for replying anyway.

    muppetWrangler
    Free Member

    I’d employ the batman.

    johndoh
    Free Member

    They have missed out some massive parts there – User Journeys and User Experience.

    EG: Who will be looking at the site? What will their state of mind be? What will they want to know? What device will they be using to access it on?

    With a site function like that, you *must* build around the user expectations.

    Cougar
    Full Member

    Tell you what,

    Tell us your answers, and we’ll vet them for you.

    Cougar
    Full Member

    Also,

    That question whiffs of a company trying to get free consultancy to me.

    wwaswas
    Full Member

    What will they want to know?

    For a ‘where are the road works near me’ page?

    I suspect they’re wanting to know where the road works near them are.


    What will their state of mind be?

    Inquisitive.

    johndoh
    Free Member

    What will they want to know?

    For a ‘where are the road works near me’ page?

    I suspect they’re wanting to know where the road works near them are.
    Is that all?

    allthepies
    Free Member

    I would include UI people and business process/analysis bods in the initial design phase.

    purpleyeti
    Free Member

    if i was using the application, i’d want to know what other databases where running and if the search input was sanitised.

    johndoh
    Free Member

    I would include UI people and business process/analysis bods in the initial design phase.

    Hmm, I would use them before the design phase, but continue to involve them during the design and build process to sense-check the development.

    wwaswas
    Full Member

    Do people really go to these lengths when developing what’s basically a web page that initiates a database query and a second one that shows the results?

    purpleyeti
    Free Member

    i hope so otherwise you end up with some of the proper bodge site i’ve come across.

    johndoh
    Free Member

    Of course they do. What use is information without relevance?

    Do you think the BBC site just happens to be amazing?

    yourguitarhero
    Free Member

    Remember to tell them that there will be no bugs in your application, though there may be some undocumented features.

    torsoinalake
    Free Member

    Given the question, is it actually a council you are interviewing for?

    All bets are off if so.

    The answer will probably include, “Doris, the web lady, she’s been here ages. She gets really angry if you ask her questions though.”

    But in seriousness, I like Cougar’s suggestion. What do you think the answers should be?

    wwaswas
    Full Member

    Do you think the BBC site just happens to be amazing?

    I think that delivers more than half a page of reports on local roadworks though?

    It’s about doing a proportionate amount of work for the requirement, surely.

    Yes, you could spend months and £10k+ with focus groups, doing surveys, testing different user journeys, designing interfaces, etc but in the end you’ll still have a 2 page ‘website’ where people type in their road name and find out what road works might be happening near them.

    People doing this will be motivated, you’re not trying to draw them into the process.

    My local council has a planning application search page. I can’t/won’t believe anything more than this is required for people who already know what they’re looking for and just want access to the information.

    johndoh
    Free Member

    waswas – I don’t think you quite get it do you? Yes it is ‘just’ information, but information can be supplied in different ways that could help or hinder a user on a task and any subsequent tasks they wish to do.

    Example one: A regular road user is at home but checking to see if the road they commute on still has those roadworks on and, if so, when are the road closures, what are the diversions, are they only working at night, when will they end etc.

    or

    Example two: Someone not familiar with the area is stuck in a traffic jam because of the roadworks and wants to find options but they have no idea what the road number is that they are on.

    You have two completely different states of mind, two completely different types of users trying to find the same information in two very different ways – how do you deal with them?

    Then you could have alerts for upcoming roadworks, notifications of when current ones will end.

    Etc, etc, etc.

    It’s about understanding the users.

    EDIT:

    I can’t/won’t believe anything more than this is required for people who already know what they’re looking for and just want access to the information.

    How can you know that your users know what they are looking for? How can you ensure they can find it easily if they do know what they are looking for, or does that not matter?

    wwaswas
    Full Member

    and I’m not sure you read the user requirement.

    there is a business requirement to build a solution that displays information relating to road works and road closures in Gotham on the Gotham City Council website.

    The business want customers to have the option to search for specific road closures by entering search criteria e.g. date, road name and area.

    The result of a successful search should be a web page showing the relevant results.

    What you say is all correct but it’s not what’s required and would add cost and time to the eventual solution.

    mogrim
    Full Member

    I’d also mention the importance of going to see the people who are responsible for the other database, in any large organisation one of the main problems you’ll face is internal politics and getting different groups to cooperate.

    You could call it people skills or whatever, but it’s definitely one of the main competencies you’ll need.

    johndoh
    Free Member

    and I’m not sure you read the user requirement.

    Ahh, but the developer of the function should question what the client has asked for. They are the professionals and should be giving advice not just regurgitating what a client has asked for without questioning *why* they want it.

    EDIT: If you were an architect and your client asked for a door half way up the wall, or a toilet opening directly into a kitchen, you would question it, suggest alternatives, give best advice. You wouldn’t just draw up the plans.

    However, a builder would do it.

    That’s the difference. And with the OP being Degree trained, I am sure he is expected to be more than a builder.

    wwaswas
    Full Member

    without questioning *why* they want it.

    They want people to be able to find out where road works are? 😉

    I agree with what you’re saying, I just think that deploying the same process regardless of the scale of the job adds unnecessary time and expense. It’s a ‘big company’ approach (although given this is an LA it may be what’s required).

    All the OP has to do is being asked to do is show an understanding of the design,development, deployment and maitnenance phases of a project and who gets involved at different times etc.

    I’ll probably leave the debate at this point, tbh.

    johndoh
    Free Member

    although given this is an LA it may be what’s required

    That is how I see it. And I was saying that it should be considered as it is something the OP could go back to the interviewers with to show he has an understanding of the process, perhaps even show them (if the interviewers are LA, this is likely) that he has a better knowledge of the required process than they do…

    whatnobeer
    Free Member

    Ahh, but the developer of the function should question what the client has asked for. They are the professionals and should be giving advice not just regurgitating what a client has asked for without questioning *why* they want it.

    It’s obvious that they’re looking for you to demonstrate a knowledge of the design and implementation process required.

    Having worked in companies where initial specs have been met and a design chosen, only for 6 months down the line additional requirements appear which as far the client is concern are minor, but which require large modifications to the code base, it’s best to make sure they really know what they want and why.

    They want people to be able to find out where road works are?

    This is a fairly reasonable response, but if they may later want the project to display data in more informative ways, or to have interactive maps etc then it may require a different approach. Or at the very least and design that can scale and accommodate future requirements without being re-engineered.

    AlexSimon
    Full Member

    Hilarious thread.

    IHN
    Full Member

    And many variations thereof.

    http://www.businessballs.com/treeswing.htm

    johndoh
    Free Member

    Ahh, but there is the issue.

    There isn’t *a* user.

    😉

    xiphon
    Free Member

    Does the “other” database you need to query have an API? Or a web service?

    If not, I would have a ‘proxy’ database (Read only by the web app, and updated hourly by the master DB). Therefore no direct access to the internal DB.

    This means, the internal DB can change however they like (reorganise the table structure, etc).

    DaRC_L
    Full Member

    hohoho 😈

    there is a business requirement to build a solution that displays information relating to road works and road closures in Gotham on the Gotham City Council website.

    Snigger, call that a business requirement ermm smart it’s not. It’s more like a very, very vague business goal/objective.

    Firstly how much have they got to spend?
    What’s the current technical landscape?
    Where and how is the database being updated?
    Who are the project stakeholders?
    Who are these ‘customers’?
    What benefit is the business aiming to get from this and how will it be measured?
    Fundamentally, why are they doing this?

    That’s well before you get to Jondoh’s very good points about the UX.

    They are jumping into Design waaaay before they are ready with the initial project shaping, requirements (proper ones) gathering and analysis.

    pt0608
    Free Member

    I’ll have a crack at providing you with some (hopefully) sensible answers. You may use (ignore) them as you wish:

    For each of the following stages:-

    Initial design
    Build.
    Deployment
    On going support.

    What competencies are required for each stage, e.g. Who would you need to involve for each of the steps above?

    What technologies would you employ?

    Are there any other considerations? E.g. Security

    First up, you could build this in about 30 minutes. It’s a pretty trivial task, but I guess they want you to show them you’ve really thought about it.

    There are also several steps missing from the task list. You’ve only had a simple brief from the client, you’ll need to flesh that out into a proper statement of work.

    Step 1: Scoping. You’ll need a project manager (the person who will see the whole project through from beginning to end), an account manager (to make sure the budget is correct and charm the client), a designer, the lead developer and probably a ux guy and/or business analyst. Ideally, these people should sit down together, with the client, to flesh out the full scope of the project, what the client is paying for, what it will cost and how long each stage of development/design takes. In reality, this never happens. You probably also need to agree a hosting solution at this stage (and the budget for hosting), this may involve a Systems administrator, or similar expert in the chosen hosting environment.

    It’s also at this stage where you need to flesh out all the technical details, including security. For example, does the site need SSL, what technologies will be used etc. Really, the lead techie should be writing a technical spec and the business analyst should write a functional spec. You’ll also need to think about what devices this application will run on. Is it desktop, mobile or both. Should it be responsive (adapt to the device it’s being use on)?

    Once you’ve got a full scope, you can issue the client with a statement of work which they need to sign off on before anything else happens. Assuming it does:

    Step 2: Wireframing. The UX guy goes off and wireframes the whole thing, based on the agreed scope. The client then signs off on this.

    Step 3: It’s important Step 1 and 2 are complete before the designer gets his/her crayons out. Once they are, you can proceed to Initial design. This is where the client starts changing their mind, so its important the PM prevents it getting out of hand, otherwise the scope starts to creep. And that’s bad.

    Step 4: Once Scope, wireframes and design are signed off, your web developers can actually start the build. Hopefully the scope hasn’t crept and they complete all their tasks within the allotted time (this is why it’s important a techie is involved in scoping). Again, this is probably wishful thinking. Once they’ve finished, they should deploy it to a QA environment.

    Step 5: Testing. You’ll need a period of internal testing, and external testing (where the client can test it for themselves). For internal testing you’ll need a tester. If you had a budget, your developers may well have set up unit tests for their code, in which case they can run these over and over again. While the tester should run through all the use cases and make sure the application is responding as per the scope.

    Step 6: Deployment. Your devs and system administrators can now deploy the app live, once the client has signed off on it.

    Step 7: Beers

    Step 8: On going support and maintenance. The PM probably stays on the project and manages any support agreements/requests that come through. If they’re small, then he/she will just arrange a dev to work on the request. Major upgrades probably require you to go through some or all of this process again.

    If you’ve got this far, then you clearly want this job, as I have bored myself already. Hopefully it might be helpful.

    IHN
    Full Member

    They are jumping into Design waaaay before they are ready with the initial project shaping, requirements (proper ones) gathering and analysis.

    Doesn’t everyone? Might as well get used to it quick.

    *returns to attempting to write requirements for the servicing of a financial services product when what the product will be, and therefore what will need to be serviced, has yet to be defined. Oh, and dealing with the chap who’s already speccing the build*

    mogrim
    Full Member

    First up, you could build this in about 30 minutes. It’s a pretty trivial task, but I guess they want you to show them you’ve really thought about it.

    I’m willing to bet there’s no way you could build that in 30 minutes in a government setting. Just filling in the paperwork to get access to the other database will take you longer than that 🙂

    DaRC_L
    Full Member

    Doesn’t everyone?

    Indeed they do, I blame microsoft 😈 fortunately it’s my job to tell them NO, do it properly. Cost/Benefit first, then requirements (and no you’re not ready for Agile Development)…

    It’s funny that they are asking a web developer on an Apprenticeship to understand project management, the full SDLC and TCO.
    I would expect them to ask detailled questions about HTML, CSS, javascript, LAMP and fonts.
    What about responsive design and linking to google maps?

    mogrim
    Full Member

    It’s funny that they are asking a web developer on an Apprenticeship to understand project management, the full SDLC and TCO.
    I would expect them to ask detailled questions about HTML, CSS, javascript, LAMP and fonts.
    What about responsive design and linking to google maps?

    Yeah, I was thinking that too.

    OP: Given you’re going for a very junior position, I’d stick mainly to technology stuff, but at least make sure you have a vague awareness of the following points, even if they won’t be (directly) your problem for at least a couple of years:

    * Budget: can be both money and/or hours. May also need to cover hardware costs, taxis to other sites, etc.

    * Stakeholders (basically anyone or thing that has influence over your project, this includes the “owners” of the database you need to read). This is the politics thing I mentioned earlier – your project may need that database, but if the people responsible for it either can’t or won’t give you access…

    * Scope: what you’re going to build, and more importantly, what not. Read up on scope creep and why it’s such a problem.

    * Users: Your manager may tell you to build something, but s/he’s not the real end-user. You should have at least a vague idea as to what the user wants.

    * Client: who’s paying for this. May or may not be a user. Could be another department in the organisation, for example.

    * Security: are you handling sensitive user data (for example medical records)? Probably not in this example.

    * System architecture: at least have a rough idea about how websites are structured, here’s a good start.

    I very much doubt they’re expecting you to be an expert on any of these, but at least having an idea about them would probably separate you from a lot of candidates who have only ever considered the technology side of things.

    I’d also have a sniff around their (real) website – you can often work out what technology they’re using by the way their URLs are built up, for example. A quick check of the source code for one of the more complex web pages will let you know a bit more – they’re almost certainly using JQuery, but how about other slightly more obscure stuff?

    IHN
    Full Member

    (and no you’re not ready for Agile Development)

    Ah, but you see, that’s what they’ll say they are doing 🙄

    Still; smile and invoice 😉

    justatheory
    Free Member

    Cheers for all the advice guys, some good tips that came in useful. I’ll find out if I’ve been succesful next week.

    TurnerGuy
    Free Member

    Apparently if you adopt a power pose for a couple of minutes before you go in to the interview (somewhere private is probably best) then it raises your testosterone and lowers your cortisol, so you will be calmer and appear more confident:

    http://www.telegraph.co.uk/health/healthnews/10259306/Power-poses-that-will-boost-your-career.html

    justatheory
    Free Member

    TurnerGuy, Darn too late.

Viewing 40 posts - 1 through 40 (of 41 total)

The topic ‘Web Developer advice for an interview’ is closed to new replies.