Web / Software developer interviews - how to answer difficult questions

Associate
Joined
8 Sep 2008
Posts
145
Hi

I have three job interviews coming up in the next week, all of them for PHP developer roles. I am an intermediate level php developer with just under two years experiance. However, I have mainly worked for web development agencies where getting the job done as fast as possible is their only real concern because that’s how they make profit e.g. charge by the hour. This has meant that they didn’t really follow best practices, testing was pretty much non-existent, they didn’t even use a version control system as the designers hated it and makings things look nice was more of a priority.

I am trying to move away from this and get into a more professional software development focused role and as such the interview process is a lot more stringent. I am technically capable of doing this kind of role but often convincing HR managers of this is a different story so how should I answer the following type of questions in a way that is going to aid me in getting a job. Obviously I have my own answers but Id like to know how you would answer them as either a software developer or developer manager.

How do you organise yourself when working on a project?

How do you keep track of where you are?

How do you comminicate with your team?

What is youe experience of communicating with clients?
 
I am currently going through the job application process and so far been to a single interview. I am currently more worried about fluffing up the technical interview when it comes around sometime this week / next week.

But to the answers to what the HR people will ask you, you can tell them anything you wish or you think they want to hear. But for me it was important to tell them the truth as for both myself and the company we have an understanding of exactly what I do and am capable of so that if I don't quite match up to the exact standard of the company, I have made it clear that I am still willing to learn the methods of the prospective company.

Though how I would answer the questions.

Get an ideas sheet on paper with what needs to be done and an estimated time frame for each item. Once you and the team are happy with this, get it into some form of list / timetable, add a bit of lee way on the time frame just in case you hit a bump.

Keeping track, follow your time table, check the time is following, check once a week that things are running on schedule, even if its over the water cooler or during a coffee break for 5 mins to check people are still comfortable with what is happening and if there is need sort out anything.

Keep the planning sheet up on a wall somewhere, digital stuff really is cool, but sometimes it is just comfortable to have a look at a big sheet of paper. (to me anyway) If needs be tick off / cross out completed tasks. Keep a calendar, schedule or something, this can be a digital version with reminders. Email and some form of company intranet are good here. Facebook, twitter and other social networking tools are not for business. For some reason people thing these are good business tools. (I may be horribly wrong here, but these are not for business)

Clients are difficult creatures. They will always want something done instantly, for free and perfectly. The less a client understands about what you are actually doing the more unrealistic the demands. (A jaded view, and not always the case, though it can happen)

Sometimes clients can be easy to deal with. Clients are humans, so anything can happen. Be clear in communicating, they don't need to know everything, but I am sure you know from a personal level its very frustrating being left completely out of the loop, especially if you are paying for a service. But this is after all what the PR department is for.

Sorry for waffling on.
 
Hi, I'm a software web developer in the Java EE front. To answer your questions....

How do you organise yourself when working on a project?

Im not sure how to answer this. How would you organise yourself for anything?

How do you keep track of where you are?

We use Jira to track what people are up to. In it we push work units up to "in dev", "in testing", "complete" etc.

How do you comminicate with your team?

Agile seems to be a very big thing now. So if its communication with peers, its just walking up to them and talking to them. It gets the answer you need then and there, unlike emails where it takes time for people to notice them and answer back (it also removes the arse covering thing i've seen a lot of).

What is youe experience of communicating with clients?

varies. good clients makes working for them fun and you seem to get the work done in a collaborative way. difficult ones you tend to voice your opinion but if they refuse to accept it, you just have to suck it up and do what they say. In the end they are paying for your service and youve gotta keep it professional.
 
I am trying to move away from this and get into a more professional software development focused role and as such the interview process is a lot more stringent. I am technically capable of doing this kind of role but often convincing HR managers of this is a different story so how should I answer the following type of questions in a way that is going to aid me in getting a job?
Firstly I'd say this; you're not just trying to "convince the HR manager". While there are some development managers out there who will be happy with a developer who just produces lines of code to order, it's far more common nowadays for managers to look for a rounded person with experience of the business as well as development skills. In other words, someone who knows how to define a solution first, and then code it up.

This may be difficult to prove if you're coming from an environment where the focus was on producing code quickly without any testing or best practice, so think carefully about the examples you use.

How do you organise yourself when working on a project?
How do you keep track of where you are?
There's no wrong answer; talk about what you do and why it works for you. The interviewer(s) will be looking to see that you are able to manage your own time without being micro-managed. On the other hand, they don't want to hire someone who spends half the week editing Jira tickets and never actually codes anything.

Don't be afraid to ask what their preferred method is, for example if they have Jira or similar software in use. Have an opinion on their response! If you don't know the software they use, ask something about it, and/or suggest that you'll look into it after the interview so that you'll know more about it.

How do you communicate with your team?
I doubt you'll be asked anything this generic. The question is more likely to be "tell us about a time when...", or given with a specific example such as "We've got a big project that needs to be done in two weeks but it would take you three; how would you communicate with another developer to help you?"

Think of examples of good communication from your current job. If you currently work in a team of 3 all sitting 6 feet from each other, you'll probably have very different examples than if you work in a team of 20 across 4 different buildings.

Generally they'll be looking to establish office fit here - how well will you be able to communicate with the existing team. I've worked in an office where the conversation was non-stop all day and asking a question always got the whole team discussing it. I've also worked in an office where headphones were standard equipment and emails the preferred method.

What is your experience of communicating with clients?
Any question that starts with "what is your experience..." can also be read as "tell us about a time when...". Have good examples of times when you personally have dealt with both internal and external clients.

If you've never dealt with an external client directly, that's fine - say so, and give an especially good example of an internal client instead.
 
Last edited:
You can use source code management as an individual and even at home. This gives you automatic backup for one great benefit for a business. Also you should have a seperate dev and operational environment, allows you to push to live quickly and fall back quickly if you cause problems.

We also work in sprints (SCRUM methodology) but basically we break down tasks into the smallest tasks possible that can be done in a week or two. If they aren't done by the end of the month long sprint, it goes into the next months sprint. This doesn't require a lot of work. We have a daily stand-up, you speak for 2 mins max - what you've done, what you're going to do today, any obstacles or impediments.

Communication - with customers or requirements I like email - it gives me an audit trail, you agreed to this on this date. I use all the other methods as well, talking to people - but for software development to deadlines you need firm requirements at times written down and agreed to in a formal manner.

Just some thoughts off the top of my head from my environment although I don't do PHP or web development much.
 
Back
Top Bottom