Having finally achieved that often dreamed about goal, getting my first real job, I thought I'd share a little bit about my experiences and what worked for me. With the economy being what it is, especially here in Michigan, tension runs high for graduating seniors. I know it did for me. Following is the culmination of pieces of advice and tips I garnered along the way, as well as a few things that just worked for me. Most of the advice is generic, and can be applied to most degrees, but towards the end I included a few tips specific to my fellow Computer Science graduates.
The following was originally published on my site at: http://www.lukejduncan.com/2009/12/getting-that-first-job.php
Step 1: Yourself on Paper
This may be obvious, but you need to write a great resume and cover letter. This needs to be a long process, and in some cases it may even be a little painful. Like any important document, both of these need to be proofread by your most trusted advisers. For me, each version of my resume initially took two to three weeks of proof-reading before I finally had a framework that I was ready to use and easily modify.
I also like to write these types of things in waves. I'd write the first version, and the next day review it myself. With the second version I'd review it myself and then send it out to my first group of reviewers. These were my friendly career service councillors, friends, and family that had the best grammar and patience for my emails. At this stage, it's important to keep in mind your reviewers backgrounds. Some of them may be great at grammar but know nothing about your field. In my case, most of my friends that were reviewing had degrees in journalism and screen writing, but often misunderstood the technical parts of my resume. It's important to make sure you understand where their advice is coming from and in some cases know which parts to heed and which to ignore.
The next round of reviews came from professional relationships. Site's like LinkedIn help a lot for this kind of stuff. There were a handful of family friends and former colleagues who I knew had an industry perspective to bring to the documents. This is the part that can sometimes be painful. There may be things that you include that they think are completely irrelevant. It may seem odd, but at this point these documents start to feel very personal. For example, I had a few people suggest I take my Associate Degree off of my resume. It took some time, but I eventually understood exactly where they were coming from. In the end, I chose to keep this section. However, the criticism offered by my reviewers showed me how employers would read my resume and taught me how I wanted to sell myself to them. This sections inclusion was thought out and I knew exactly how I wanted to present the information in an interview situation. As always take this criticism for what it's intended, friendly advise that you sought out.
Step 2: Use Your Local Resources
The first place to start is most definitely the Career Services Department - or equivalent - at your school. As my resume evolved from my initial search for internships my junior year, to my career search my senior year, the councilors at school were a great resource. They can do much more than just talk about your resume however.
These departments put on many events such as Professional Dress classes, Interview Practice, and Job Fairs. I went to all of these. Even if you don't think you need a particular class, just attending can be a great way to stay informed about other events, meet like-minded people with more great advice, and build relationships with the councilors who are in positions to send your resume to potential employers.
There are also professional organizations with great resources. I personally loved my student membership to the Association of Computing Machinery for all of its advice and articles. The Engineering Society of Detroit also puts on an annual job fair, however my experience was incredibly negative at this event. Especially in this economy these job fairs are incredibly busy and crowded with people with much more experienced than a recent graduate.
This illustrates the value of your schools local job fair. The companies in attendance are looking for college graduates, and the only people you have to compete with are the same classmates you've been competing with all along. It's a more comfortable experience, and probably more rewarding.
Step 3: Yourself in Pixels
- Facebook is used solely for socializing, and it's privacy settings are set to reflect this;
- Twitter, is an informal way to keep up with other young professionals, follow technologist, and post statuses about technology projects I'm working on. I like to think of twitter as a casual professional area, and that's partially because of the culture of the site;
- LinkedIn is used solely for professional connections;
- My website is a place to post more in-depth thoughts and write ups about projects that I'm working on;
- And all of these accounts are tied to each other, giving potential employers a deeper look at who I am, in a way that I can manage appropriately.
The single biggest advantage of creating your own site is that it gives you some control over what employers find when they google your name. Do you really want them to find a comment on a blog you wrote in early college about the advantages of mixing certain alcohol? Centralizing your online identity into a site you control is one way of minimizing this. That, and set your privacy settings appropriately on the sites you use.
Step 4: Job Boards
There are two sites I used aggressively, Dice.com and Monster.com, and one I used later on that proved to be a valuable resource, Craigslist. Dice is geared specifically toward Technical Positions, however it was my experience that they were higher level positions and weren't looking for recent graduates. Every once in a while I would get a response to a submission I'd make, but I never received a cold call from recruiters scouring Dice. With Monster, however, I received many cold calls from recruiters, and overall the jobs tended to be a better fit for where I was in my career.
Later on in my search someone suggested I use Craigslist. I was suspicious of this at first, but I actually had some very good opportunities arise from it. I uploaded a resume to each city I thought I'd like to live in, removed all sensitive information, and within a few days I was receiving emails from potential employers. Some were worthwhile, and some not so much, but regardless I think it's a powerful tool I could have made more use of.
Step 5: A Few Notes on Timing
With graduation in December, I started my job search in early September. I couldn't wait to get my name out there and begin the interviews. This experience was incredibly disheartening, since no one really wanted to talk to me until I was days away from graduation. In fact, I didn't receive many replies until the middle of November. Some of my early September submission were held until December. While this isn't always the case, recruiters seem have immediate needs for positions.
Many large companies do have recent graduate programs. Whenever possible, find these, as they will setup to accommodate someone like yourself much better in the interview and application process.
Timing was something I had no perspective on going into my job search. Looking back on it, I would still start, aggressively, in September. However, if I could have known to expect the delay in responses I could have saved a lot of str
Step 6: The Technical Interview
This one goes out to all of the Software Engineers out there. One thing that is taught in school, but not used much (in assignments), is object orientation. My first phone interview was with a company in New York. Within two minutes, the interviewer had started asking very technical questions about object orientation. Being that this was my first real interview, I drew a complete blank, and subsequently embarrassed myself. But it was after this interview that I sat back down with my old software engineering books and made sure I was ready for the next time.
It's really weird doing technical interviews over the phone the first time. If you're like me, you know how to do what you need to do in code, but maybe can't articulate it on the spot when you aren't expecting it. This is something I had to get over, and you probably will too.
In general, I found that the technical questions were pretty high-level, and, once you get comfortable with them, they weren't too bad. If you haven't done a technical interview yet, I would recommend making sure you can do the following:
- Be able to do simple worst-case Big-O analysis on a piece of code;
- Know simple data structures (linked-list, hash table, etc), what they're good for in comparison to each other, and the worst-case run times of simple operations on them;
- And know a little bit about algorithms, how recursive algorithms work, etc.
Step 7: Persistance and Luck
All of the previous steps mean nothing without persistence.
"Luck is the residue of design" - John Milton
These were just some of my experiences, but they may be useful for others in the future. I hope they are to you, and best of luck in your job hunting.