Congratulations to all you technology program graduates! They are all tough programs and you deserve kudos! Now that you have your sheep skin, you are likely trying to land your first job. As an experienced software engineer, I’d like to give you some job hunting and career related tips based on my personal experiences. This isn’t intended to be an exhaustive list, but I discuss resolutions to many common mistakes made by recent graduates entering the technology job market.
Research, Research, Research
Learn about the companies you are interested in! Scour their website. Learn about everything they do. Learn about their products. Learn about their services. This knowledge is incredibly important for discussion when you get a phone interview or an on-site interview. Based on the job description and information available about the company, you should have a rough idea where you would fit, in the organization.
Build up a portfolio of your work. Make it available online(my current project, along with the blog), make a binder to bring to an interview, or do both. When the interview committee is interested in discussing your past, you can show off this portfolio to reinforce your discussion. I’ve been working in industry for the last 13 years. I’ve interviewed more than fifty people, and scanned thousands of résumés. I have seen fewer than twenty five people provide some sort of online portfolio. I only remember one or two people bringing a portfolio to an interview. Keep in mind that your source code belongs to the company you work for. You may have to be creative with your portfolio if you are involved in a lot of software projects!
If you are fresh out of college and you don’t have a lot of work experience, get involved in some tech projects that you could add to your résumé. Write a handy plugin, help develop an open source project, get your IPV6 certification (on my list of cool projects to do, and yes, cool is a relative term). Maybe start a blog about these experiences. Write some tutorials. Just find some ways to show that you are enthusiastic about your profession!
Join a Professional Organization with a chapter in your area. Those groups are full of resources. There may even be a Young Professionals Group in your area. LinkedIn is a valuable asset. You can use LinkedIn to learn about potential employers and network with others. I’ve been contacted through LinkedIn many times by previous co-workers starting a job search; often by people I barely knew.
Monster and Dice are excellent resources to find tech jobs. Believe it or not, craigslist is also a great source to find job postings. If you want to read what employees think about their own companies, check out glassdoor. At glassdoor, employees can anonymously post information about the companies they have worked for. You can even find information about a company’s interview process.
Getting An Interview
Develop a specific résumé for every single job application. Order your skills based on what is required/desired in the job application. Reorder project descriptions in your résumé by order of importance, so your skills stand out as much as possible. Ordering skill lists will make the process much easier for the search committee and this will help you stand out in the crowd.
Don’t ever lie about skills or accomplishments. If you don’t have a perfect match of skills, that is okay, you always have the cover letter to attempt to make up for it. Show that you pay attention to detail, and make sure you don’t have any spelling errors.
The Cover Letter
Always, always, always, provide a cover letter. Always! Take the time to craft a well written job specific letter. This is your chance to let the employer know what you can do for them. I repeat, it’s about what you can do for your employer, not what they can do for you. Again, make sure you don’t have any spelling errors.
It can be difficult to separate yourself from the massive pool of applicants. You might be making it harder on yourself by not cleaning up your online persona. After years of college, most people have collected their fair share of hilarious pictures from a variety of events. Make sure those awesome pictures are only shared with those who should see them. Log out of all your social media accounts and start searching. Google yourself, Bing yourself, even AltaVista yourself! If your résumé has the luxury of making it to the “keeper pile”, there is a high probability the interview committee members will search the Internet and try to get a glimpse of what kind of person you are, and what kind of company you keep. What they find is going to be their first impression of you. Make it a good one.
Rocking The Interview
Hopefully while researching the employer you got a sense of what kind of environment you would be working in. By that I mean, would it be okay to show up with 15 lip piercings and bright blue hair? For extremely large organizations they may very well pass you by. There are however many tech startups run by people who wouldn’t think twice about hiring you. It’s up to you to make the call. Here are my personal feelings: Show up neat and clean! Get a haircut. Wear a suit. Be professional. I’ve never heard a bad comment as an interviewee when I showed up to an interview in a suit. When presiding on a search committee, I’ve never heard a bad comment from other interviewers about an interviewee who was overdressed.
Show up early for the interview and bring extra résumés for the committee. It may be overlooked by the committee, but I think it shows adequate preparation.
Give Me An E!
When you do land that interview, SHOW SOME ENTHUSIASM for what you do! This is where your portfolio can help out. If they haven’t already seen your online portfolio, you can show off the various projects you’ve worked on in person. If you get hired, you are going to spend a majority of your adult life on projects for this company. If the position doesn’t interest you, it’s okay to bow out.
It is okay to be missing skills. If you received an interview request, they must have seen something they liked about you. Show interest in filling the gaps in your skill set. Explain how you plan to acquire these skills. If you have skills that transfer easily you can discuss those. I would recommend you start learning the missing skills before the interview, that will show some initiative. The tech world is constantly changing. It can be difficult to keep up on the latest versions of different technologies. I can assure you, you will constantly be learning throughout your whole career. If you are able to sit down, find resources, and teach yourself, you are ahead of the game. Show that you are a self-learner, self-starter, and a problem-solver.
Bring a list of interesting questions relevant to the position being filled. Don’t waste their time asking questions that can be answered by browsing their website. Ask meaningful questions that can give you insight into their organization, or perhaps things that are important to you. You may find areas where you can offer advice right there during the interview. Try to avoid asking questions about salary or benefits in initial interviews.
Be yourself. Sometimes you may have all the right skills but you just aren’t a good fit with the team you will be working with. If you don’t act like yourself, how can they get a good feel for how you will work with the team?
Keeping Your Job
You told this company you wanted to work for them. You told them you wanted to work on their projects. They didn’t make you apply. So why are you on Facebook and Twitter instead of working on your project? Personal web browsing at work can be a terrible idea. Find out what the internet policy is when you start. Some places won’t even allow you to stream music to block out all the nonsense outside your cube. If you can’t wait to get home to browse the web for personal use, use your smartphone. If you don’t have a smart phone and this description fits you, GET ONE. It will be way more inexpensive than unemployment. Remember, you are being paid to work, not paid to be on your phone. When a budget crunch occurs, you don’t want to be at the wrong end of a company web use report.
Help Me v. Do It Yourself
In the tech industry, you are constantly fixing problems. Often times you didn’t create those problems but you need to fix them anyway. Google won’t solve every problem for you. stackoverflow is an amazing resource if you are a developer, but you still need to develop your critical thinking skills. You need to dig in, find out why the problem occurs, and find some reasonable solutions given time, resource, and quality constraints. It’s great to work through problems as a team, but don’t go to senior engineers saying “I don’t know what to do”, unless you can give them a list of what you’ve tried. On the flip side, don’t waste days or weeks on something a senior engineer could help you with quickly. There is a delicate balance based on a great number of factors. You will have to be the judge.
Keep excellent notes on the projects you are working on. Track the time spent on each project day to day. It’s always nice to have this information just in case you need to prove how valuable you are. It’s also nice to track how often you are interrupted and kept from doing the very job you were hired to perform. Interruption information comes in handy when estimating task length.
In theory, hand written notes in a lab notebook are a great way to track your work on a project. You will eventually have stacks of notebooks full of awesome details, but no efficient way to find what you are looking for. Worse than that, after 10 years, you will forget about half of the projects you’ve worked on, you may even forget resolutions to reoccurring problems. You won’t even know where to start in hopes of finding the information you are looking for. So, find a digital solution that allows you to search your notes. Experiment for yourself and figure out what works best for you. Plain text flat files and grep can save you a lot of time digging through notebooks. If you think grep isn’t available in windows, think again. If you love white boards, snap a picture with your phone, store a link to that picture in your notes (written in HTML). Perhaps installing a private blog on your work system might be helpful. Be creative.
You were trained to be some type of engineer. When you get to an employer, you have to learn their business and apply your engineering skills to that company’s domain. You may be a very talented electrical engineer, but if you land a job at a radar company with no experience in radar, I guarantee there will be a learning curve. You will need to set a plan in place to gain the domain knowledge required to be a leader in your field. Hopefully your team will provide you the necessary educational resources, but don’t be surprised if they want to watch you “sink or swim”.
If you already know the domain you want to work in, that is awesome. Go get a job in that domain, move there, and enjoy your life.
For many people choosing a career path right out of college is about as easy as choosing a college major as a seventeen year old. It’s next to impossible due to lack of experience. If you are unsure, pick a few domains, find the regions with the most jobs in that field and seek out the opportunities. Often times, you’ll find companies in the same domain, exist in the same region(s) of the country.
Wherever you decide to work coming out of college, make nice with the senior engineers. Go get lunch with them and pick their brains. Talk to them about their careers. They may have some insight into the company you work for and tips on what to do and what to avoid.
Most importantly, discuss your career with your manager on a regular basis. They should be working with you, setting goals with you, and helping you improve.
Update your résumé on a regular basis. Keep one master résumé on which you use to store every project you have ever worked on, what technologies were used, and any other information you think would be valuable in a future interview. This will make job specific résumés much easier to write.
A bad example can be just as useful as a good example. So I thought I would share a couple of my favorite “Great Example” interview experiences.
I was on a search committee tasked with finding a good intern software developer. One of the applicants showed up in torn jeans and a t-shirt titled “DIY Stain Collection”. Definitely an awesome t-shirt. However, this look does not make a great impression with an exhausted team trying to find someone to help pick up the slack.
This is my favorite example. We were interviewing people for a Level 2 technical support position. This person would be providing software and hardware support to users in person. We got to the point where we were discussing supporting users. The candidate jumped in with: “I hate stupid people. I cannot work with them.” He was correct in that he didn’t get to work with the “stupid people”.
The choice is yours. I hope my thoughts will benefit all of you in some way. Good luck with the job search!