Wednesday, July 23, 2014

Getting Hired After Camp - Part 3

Time to wrap it up! We've talked about most of your pre-work already - your online presence, your resume, and your projects.  We'll finish with some tips based on my experience with finding quality job leads, dealing with recruiters, and the all important interview.

Fair warning - this post got really long. I would have split it up but the rest of my week and weekend are super busy, so I'm just going to plough through tonight until this is done.


#1. Where to find a job (that you qualify for):

There are a TON of Web and Software Developer jobs out there. The trouble is, when you first start looking, it seems like they are all for Sr. Devs with ten+ years of experience. Do not despair - the job for you is out there.

I probably submitted somewhere between 30 and 40 applications before I received two interviews.  Both interviews resulted in official job offers. Some of my classmates had to submit far more applications, but also got hired in the end.

You should certainly be looking for Junior level positions. But you absolutely should also be applying to Mid level positions, and even Senior level positions, as long as they are looking for skills that you posses. Senior Java Developer? Probably not for you (unless you happen to know Java). Senior MVC/Javascript Developer? That's something to look at and possibly apply for.

You are very rarely to never going to see a job post for a Junior Developer job that requires no experience.  You will see far more "Jr." Dev postings asking for 5 or more years of experience. Do not let this discourage you. For one thing, after you finish Coder Camps, you actually have very strong coding skills in current technologies. And you have a ton of practical experience. Also, a lot of those "years of experience" requirements were written by HR folks that have no idea what the Engineering Department really needs.

Pay more attention to a good fit in terms of desired skills/languages rather than years of experience. Thats what the savvy employers are doing, you should to.

Okay - where to find jobs?

The obvious: LinkedIn, Monster, Indeed, and Dice. All the other various online job sites.

Put your time in on all these sites. Applications are time consuming, make sure you set aside a few hours a day for this.

Where else to look? Check out Reddit, and Craigslist. One of my classmates turned me on to Craigslist when I complained about having a hard time finding Jr level jobs on the big job sites. I found at least as many good opportunities on Craigslist as I did on Monster, Indeed, and Dice combined. One of the two offers I received came from a company that I applied to after reading their Craigslist ad.

Recruiters - more on these people in a moment, but you should be using them, and their websites. All the large recruiters have company websites with job postings. You can easily google who the top recruiters are in your area.

Network! Have you been blogging? Talk to your family, friends, and former work colleagues - make sure they know what you are doing - odds are a few of them know people in the software industry that they would love to introduce you to. I received a few leads from family and friends - none resulted in a job offer but I made some good contacts, added some folks with serious credentials to my LinkedIn network, and got some valuable advice about the local job market.

#2. Recruiters:

If you have followed the plan this far you have already started getting calls, emails, and LinkedIn invites from recruiters. If this is not happening for you, go back and read parts 1 and 2 again and see what you missed or what you can tweak. Make sure your resume has been uploaded to the major job boards and is searchable.

Recruiters can be difficult. The typical (bad) recruiter contact reads something like this: "Hi, I checked out your resume and you sound like a perfect fit for this Senior Developer position I have that needs 15 years of experience! If you are interested please send me your resume."

That said - you need to respond to all recruiter contacts. If you get something like that, send them your resume and say something like "Sounds great, I might be a little green for this position but take a look at my resume and let me know if we should more forward on it, and please let me know about any other positions you think are a fit for me."

Odds are you won't hear back from that recruiter again, but you never know.

The good recruiters will actually read your resume before emailing or calling you. They will ask you questions about your experience, about camp, and about what you want to do, and how much money you want to make. If they are local they may want to meet for coffee or lunch. Do it! If nothing else, free food!

If you can, reply to a good recruiter by phone rather than email. Return their call or email promptly, and be ready to sell yourself a little bit. This will help them sell you to prospective employers.

I really can't stress this enough, you can't know which lead will eventually pan out, so you have to treat them all as if they will. The job I ended up accepting came to me through a recruiter that saw my resume online and just called me up one day. Guess what, the job posting was for a Senior Developer position. But the recruiter said I appeared to have some strong skills so lets give it shot. I figured nothing would come from it, but I applied anyway.

Well the recruiter had a very strong relationship with the company and they did a great job of selling me. It got me a phone interview. The company was not looking for a Junior Dev but they liked me and trusted the recruiter so they told me they would talk to the rest of the team and see if they had capacity to mentor someone green like me. They said I'd get an in-person interview if they did, otherwise, I would not. Again, I figured that would be the end of things. But no, they called back and scheduled the in-person interview!

I ended up getting hired as a Junior Dev (Software Development Engineer I) when they had posted a job opportunity for a SDE III (Senior Dev) and weren't even looking for a Jr. Dev. 

Last thing on recruiters - don't just wait for them to contact you - you should have a bunch of other Coder Camps folks in your LinkedIn contacts - check their contacts - some of them will be recruiters - reach out to those recruiters yourself. Search for reputable recruiters in your local area and contact them through their websites or over the phone.

#3. The Interview.

This is a subject people write books about. So I think the best thing I can do is offer you my impression of what worked for me and a few tidbits of advice.
 
First of all - talk to the folks at Coder Camps (Dave is not that scary!) and ask them about their interview experiences.

When you go for the in person interview(s) make sure to ask about how to dress - you need to balance being real with dressing for success. For example - I was told to wear "strong business casual, a tie and or sport coat are appropriate." I wore dark grey slacks, dress shoes, a fitted shirt, and a tie. I did not wear a sport coat - its just not me, I never wear them and I would have felt uncomfortable and fake. Turns out that was a great decision - everyone that interviewed me was dressed in shorts and t-shirts or other casual wear. I rolled up my shirt sleeves but kept the tie on - it looked good. I made sure to let them know I appreciated the casual dress policy.

Over dressing for an interview is as much a problem as under dressing for one - everyone is looking for people that will "be a good fit for the team" - that means they want you to be the kind of person they can see themselves going out to have a beer with after work.  You will need to dress the part, which means asking on the phone what to wear to the interview.

Be ready to code! Some places do an HR style interview and then after a second technical interview. My company just goes all out and has you meet with 6 developers over the course of 4 hours all in one day. I was asked to code two different problems at people's desks. I ended up doing one in Javascript and the other in C# - make sure you are keeping up on your coding after camp - do NOT get rusty! Do some coderbytes - they are great practice.

Make sure to talk! They want to know, not just that you can code, but also how you think - you need to describe what you are doing and thinking out loud as you work on a code challenge. In fact, if you do this, you can often get advice from them, "well I'd probably do it this way...or like this...right?" - nobody knows all the answers - asking for help will be a part of your daily life as a Dev - its okay to do a bit of it in the interview.

Oh, don't forget to use your tools! one problem I had to do required some nested loops. My output wasn't quite what I expected the first time I ran it (or the next 4 times but whatever, I got it done eventually). As soon as I set a breakpoint in Visual Studio the guy watching me started nodding his head vigorously - I had done the right thing - I showed him I knew how to use a tool!

Be prepared for trick questions and riddles. Not all interviews will have these but they are pretty common. I was shown some code that was semi-advanced syntax - stuff I had not seen before, and I was asked to explain what the results would be. I talked through the parts of the code I did understand, and made an educated guess based on that - explaining honestly that I had not used that particular structure before and so my answer was based on what I could infer from the part I did know. I didn't get the answer right, but they didn't seem to care - it was a trick question anyway and by showing my thought process they were able to see what they wanted to know about me.

I also had to answer some logic puzzles. Again, talking it out, and showing your work on a whiteboard are your friends here. It's not so much about the getting the answer right as is it being able to explain your thought process and having a logical way of attacking the problems. That, and, show enthusiasm for it! Odds are, they want to hire someone that thinks its fun to work through a hard challenge they don't already know the answer to.

Be honest about what you don't know - and emphasise what you do. I don't know all the theory that a candidate fresh out of a 4 year CS program knows. I could not answer any of the theory related questions I was asked. I didn't try to fake it, I just explained that my education was focused on application - how to solve problems by writing code, but I still ad a lot I wanted to learn on the theory side of things. My interviewing actually said "yeah, for an entry level position, we can either hire someone that knows a lot of theory, or someone that knows how to write code." They know it, you know it, just acknowledge your gaps, remind them of your strengths and move on. Do show an interest in filling those gaps though!

My final advice - have questions ready for them - about the company - it's products and it's future, about the Dev team - how does the team function, how do they divide up work, how to they communicate, what's the culture like, and about the position - what are they looking for in a candidate, what traits do they find people that are successful in this role share? You will almost certainly be given several opportunities to ask questions. If you fail to do so you are saying you don't really care about the job, or you haven't done your research.

Oh, ok, one really final thing - Do your research. Before you go in to the interview study the company website, understand what they do and what you will be working on. Read the company profile and reviews on Glassdoor.com. Look for recent news stories or press releases about the company. There will be opportunities in the interview for you to use this knowledge and it will reflect very positively on you.

Wow, well if you read all that in one go, good for you. I wish you luck but you really don't need it - the jobs are out there and they need you. Put in your work at camp, and put in your work in the job search and you will find the job for you. And don't settle! I told you I got two offers. Well the first one was for $23k a year LESS than the second one. I only had to wait an extra day for that second offer to come in, but I was nervous. Turned out I didn't have to be. If the offer or the company is not right, do yourself a favor and wait for the one that is, it's probably right around the corner.

No comments:

Post a Comment