6

I am a software developer with some years of experience. I've been working for my current company for the past 3 years. My pay and benefits package is quite good, but I feel like I’ve stagnated in terms of growth and opportunity.

Recently I applied for a job at a well known company which I believe potentially can take my career to next level, I passed the telephone and face to face interviews, in the face to face interview I was quite open about my skill set i.e. what I can/can't do. Now they are asking me to go there for the final interview which will involve some coding, I already know the rough details of the program I need to write but it is one of those areas that I don't have experience in. I have been trying hard to write something, and potentially can go there and demonstrate what I can do, but that will be my understanding of this new subject based on some online examples and I won't be 100% confident that I will be able to answer all the questions.

Their team consist of really experienced developers. They said they will give me some time to learn the new stuff (if I get the job), but they wanted to know if I can demonstrate some skills in terms of picking up new stuff, hence the coding exercise.

Do I really take this challenge and go for it (and potentially embarrass myself) at the interview? If I get the job I will be among the experienced devs where each day will be a challenge about me picking up the new stuff. Even if it does not work then I will lose my current job that I don't have too much problem with in the first place.

[UPDATE]

Thanks everyone for the comments and answers, they were quite motivating.

In the end I actually went for it, wrote my code which worked and there were a few small hiccups but nothing serious. However it was clear that there are some gaps in my skill-set which are quite essential to this company, so I am not not sure If I will get the job. But the whole process was quite a good experience, as I also had the opportunity to see their solution and the way they develop which was quite an eye opener and provided me with some excellent guidelines.

7
  • 2
    I think that only you can answer whether you'd rather stay in your comfort zone or go for it. Imagine looking back in 5 years-- would you regret not going for it more than going for it and perhaps finding it's not for you. Apr 1, 2014 at 22:14
  • 1
    Make sure you are prepared for not knowing the answers to some things too. If you know a little about something, saying "I don't have experience of X, but I would probably try something like..." is better than "Sorry, I don't know". Apr 2, 2014 at 8:30
  • 2
    Hi DevSpot, I've edited your question a bit, but am unclear what you mean at the end. Why will going to this interview cause you to lose your current job even if you don't get/accept the new one? Are you saying you don't have a problem with your current job, or don't have a problem losing your current job?
    – yoozer8
    Apr 2, 2014 at 12:22
  • 1
    @Jim I read it as: "I don't have a problem performing what's required of me at my current job. However, if I pass the interview but then find I'm unable to meet the requirements at the new job, I'll have lost a job that I'm capable of doing (and being compensated a reasonable amount for)". Apr 2, 2014 at 15:34
  • 1
    Sorry for the confusion about the last bit, @Anthony Grist is right, what I meant at the end is exactly that.
    – DevSpot
    Apr 3, 2014 at 10:31

5 Answers 5

7

If the reason you are considering leaving your current job is feeling stagnant / lack of growth, then you need to be ready to grow. You can't let fear of a challenge hold you back. If you do, then your current job is where you belong.

Study for this interview as best you can and give it a try. Let the interviewer be the judge of whether you are able to grow yourself to meet a challenge or not. After all, that is precisely what they are doing. What have you got to lose?

By the way, candidates often look at a coding exercise during an interview as black and white: you either arrive quickly at the single unequivocal best possible solution or you fail the interview. That is rarely the case and if it is, that's a bad company to work for.

If an interviewer is asking you to code, they want to see you struggle. They especially love to see you fail to see how you handle failure and criticism. It's usually helpful to just start brainstorming solutions and compare them and then start coding. Don't worry if it's imperfect, just try. Then when you find an imperfection in it, fix it. This allows the interviewer to see your thought process and how you learn from mistakes.

I applied for a job 5 years ago that was way out of my league. I was a naive young software developer who thought I knew everything that I needed to know and anything I didn't know was dumb. I had to explain to them how I would implement a binary tree search algorithm. I didn't even know what a binary tree was.

I failed so bad it was embarrassing. So what did I do? I figured if a company of that stature and success (I won't give their name) felt that algorithm knowledge was important, then I probably had a lot to learn. So I stayed at my current job and man did I learn a lot.

I recently interviewed with a company of similar stature and I struggled, but came up with a mediocre solution to a question that was algorithm-related. Then thought for a few minutes how to improve it, then was told to try again. I came up with an even better solution. This stuff is hard and everybody knows it.

I have no idea if you will get the job you are seeking, but you owe it to yourself to try your hardest. If the company feels you learn well and are willing to take on whatever learning curve you have, then you should take the job and try your hardest not to disappoint. Remember, they either have placed their confidence in you or they haven't. If they have, then you should draw your confidence from their judgement, knowing they believe in you. If they don't have confidence you will learn well quickly, then they won't hire you and that is good feedback for you to take.

1
  • wow, this is really motivating, thanks for the answer.
    – DevSpot
    Apr 3, 2014 at 10:39
8

I can't imagine you'd lose your current job just because you attended an interview somewhere else. For one thing, your current employer really has no way of knowing unless you tell them about it (or they happen to know someone at the company). Most companies will not call your current employer for a reference without asking you first.

Go for it.

It sounds like they know you will be out of your comfort zone during the coding exercise, so they will allow for the possibility that you won't complete it. Really this probably why they're having you do it. As you said yourself,

they wanted to know if [you] can demonstrate some skills in terms of picking up new stuff

One of the most important skills of a developer (or any ability) is how they handle being in over their head. I have been offered positions twice after failing to complete part (or all) of their code exercise on topics I didn't know. I just said "I don't know this bit, but I broadly speaking I would try [x] and then ask for some direction."

1
  • "I can't imagine you'd lose your current job just because you attended an interview somewhere else" I assume he meant if he took the job and after some time he left/was fired.
    – o0'.
    Apr 2, 2014 at 12:26
5

In general, it is a good idea to:

  1. Always apply to more than one company at a time.
  2. Have a clear idea of how you would rank each company you are applying to in terms of preference.
  3. Schedule your interviews in order from the least preferred company to the most preferred company.

That way, the companies that you are least interested go first, and can be used as "practice" to acclimate yourself to the interview process, get a feel to the kind of questions you will be asked, and to generally build your confidence up so that you're not walking into your preferred company unprepared.

In your specific case it doesn't sound like you have the luxury of wedging in any practice interviews, and it also doesn't sound like you really need them. You've made it past all the previous rounds, you were honest about your abilities, and they've decided to bring you back for the final round.

So I'd say you might as well go for it. The odds seem to be in your favor, and even if you don't pass the coding interview it will still be a valuable learning experience.

Prior to the interview, you can prepare by searching for examples of common coding challenges used in interviews and implementing some quick solutions to them.

Although it almost sounds like what they are bringing you in for is a trial run, and not an actual coding interview.

1
  • On the flip side, if you're already comfortable interviewing, you may want to interview with your most-preferred companies first. That way if you are offered a job before you finish interviewing everywhere, you won't be as concerned about missing a better opportunity at a more desirable company.
    – brichins
    May 21, 2014 at 22:21
3

This sounds like a real "opportunity cost" problem. Here are a couple of thoughts that might help:

  • Unless your current boss knows for sure that you are at another interview, your current job should not be at risk. Take some personal time off for the interview.
  • If you do manage to lose your job, your stated level of experience should ensure that you can find another one quickly.
  • However, you probably won't be able to count on your current employer as a good reference.
  • I have had 'coding interviews' suddenly become 'coding discussion.' Sometimes this happens if they feel very comfortable with you and you start the discussion.
  • Sometimes they really want to see what you can do from memory.
  • ... and see if you use good coding style.
  • ... and see if you can problem solve under pressure.
  • If they are watching you code, be sure to talk through your thoughts. Demonstrating some communication skills are a major plus and wont hurt you unless you appear desperate.
  • Learn as much as you can and attempt to work through all relevant problems before you get there.
  • See if you can discover and learn the coding format that they use.
  • If you get stuck, talk about what you learned that relates to the problem.
  • If you can gain some assurance that you won't automatically lose your job, go for it!
  • Otherwise, if you have some savings, You'll probably be Ok.
  • Otherwise, you are looking at a major risk. I know several programmers that ended up waiting tables because of similar situations.
  • I always advise chasing your dreams, because that is my mindset.
1
  • 1
    Don't call in sick to attend an interview at another employer... Apr 2, 2014 at 2:29
2

Yes, you take the interview. They invited you to interview because they think that you're potentially a fit for the position based on what you have already said. You have been upfront with them about your experience. They know this, and they want to see more.

A good interviewer will evaluate the candidate not based on what the most experienced person knows, but rather based on what they need in the particular position. Since they're interviewing you and not someone who has 20 years of experience with this technology, they clearly think that someone who is more junior can bring value to the team and learn the technology so that they will be able to contribute more as time goes on.

When you interview with them, you should evaluate whether this is a good career move for you. Will you learn something in this position? Will you be able to contribute? Do you like the people who you will be working with? Do you like your manager? After the interview, the interview team will evaluate whether they think you are a good fit for the position, and you should also evaluate whether you think that this position is a good fit for what you want to accomplish in your career.

Not the answer you're looking for? Browse other questions tagged .