By Jenna Charmaine

I remember the day I graduated college like it was yesterday. Surrounded by hundreds of close friends, family and peers, I listened to the Dean of our University as she described the grandiosity of this occasion. This was the moment that I had been waiting for… the last four years had finally been worth it.

I remember sitting there and smiling with eager anticipation. I was ready to prove to the world how bright I could shine in the industry with a tenacity to pursue my dreams I had never had before.

Image Myself at the Webster University Walking Ceremony (May 2018), where I received my Bachelors of Science in Computer Science after graduating in December of 2017.

The six months prior to graduation, I remember filling my time with job fairs, coffees, and numerous interviews. “Just wait until you graduate” each recruiter told me, “You have a promising future ahead of you in this industry. Just hang in there. We always have room for young talent”.

I was told time and time again by family and professors alike how desperately businesses were looking for developers, and the vast amount of internet job postings I found only further proved their point. Everything I had read about the industry appeared to be true; professional Software Developers were in demand, and I was eager to join their ranks.

However, despite finally having my degree, I was in no way prepared for how difficult attaining my first job would be.

I remember staring at my email inbox a week after graduation, desperately hoping for some sign of life regarding my job search. “Position fulfilled”, “Thank you for applying”, and “We’ve decided to go with another applicant,” each email stated. Every rejection email cut me deeper and deeper than the one prior. How could this be happening to me? I was told my degree would be the key that unlocks the rest of my future, however 15…16…17 applications later, I was no closer to a full-time job than those 6 months prior.

The future I thought was so bright in front of me suddenly felt so out of reach.

The post-graduation job search is one of the most difficult and frustrating things I’ve encountered thus far in my career. How did I so greatly misunderstand what my job search would look like? You can imagine my surprise when I began chatting with others around me about their job-hunting experience, only to find out I was not alone. Between local meetups, clubs, and organizations, I was absolutely shocked to find how many individuals with a degree (or at least decent development experience) were working in the service industry simply because the job hunt had treated them just as mercilessly as it had me.

Though we are taught how rewarding a career in Software Development would be, I feel that we under-prepare our graduates for what the world of job-hunting is like in this day and age. With a world around us changing so rapidly, I believe equipping our students with an understanding of how to approach their job search is just as important as knowing the technical skills.

Despite what I experienced, I know for a fact that there is room for new graduates in the world of Software Development. We simply lack the understanding of how to break into this industry from our university education alone.

Three years ago, I graduated having no idea what my future would look like, but today I can confidently say that I am a professional software developer with a bright future ahead of me. I write this article in hopes of comforting those whose job search looked like mine, and to share the valuable pieces of advice I received about the post-graduation job hunt. This information truly shaped my career for the better and I hope you find these tips as helpful as I did.

Now without further ado… Here are my top 10 tips for the recent, job-hunting Computer Science graduate.

Image

10 Tips for the Job-Hunting Computer Science Graduate

Below each tip, I’ve included external articles where you can find more information on the subject matter. The authors and websites do not reflect my own personal beliefs, but I found their resources to be relevant and helpful for further research. Feel free to use these links as a springboard into your own research!

1. Understand your most difficult obstacle will be getting experience.

Everyone wants developers. Heck, everyone NEEDS developers. However, are most businesses willing to take the time to slow down and teach someone the skills they need to get the job done? No.

Time is money and when a business is rushing to get products and patches out the door, they are not able to slow down long enough to bring a new developer up to speed. That is why getting a job right out of college can be so difficult. You are going to be at a disadvantage when you first start out; even if you had internships, leadership experience, and numerous volunteer hours (like I did). Companies evaluate how long it will take until they start seeing a return on their investment.

Be patient and understand that not every work environment will be conducive to your learning. There are positions out there though. Look hard, and look thoroughly, and you’ll find them.

2. Make sure your code is visible to potential employers.

This was one of the first pieces of advice I got regarding my job search and I wish I would have embraced it earlier. In college I took 3 different capstone courses, each producing a 2-inch-thick binder full of code and systems that I had personally constructed. Despite all of that hard work, not a single one of the interviews I had got to see the work I had made because it wasn’t available for them to view!

Github and Bitbucket are incredible resources that you should utilize if you’re planning to contribute to enterprise-level codebases. It is becoming more common for job applications to request links to personal repositories of code so technical recruiters can review your skills before setting up interviews. Many individuals I know have received job offers based on their open-source contributions alone! Invest in learning about these source control management platforms. You won’t regret it.

3. Start growing your professional network through social media.

LinkedIn is a popular professional social-networking site that I have used to network from the comfort of my own home. Between meeting new professionals, setting up coffees with people I admire, and reading the helpful articles, LinkedIn is a great resource for anyone looking to grow professionally. Also, it is a decent platform to utilize when searching for that first job.

If you haven’t made an account already, look into creating a LinkedIn profile and take advantage of the recruiting resources available with the free membership. It is also important to note that other social media platforms, such as Twitter, are full of software developers sharing their knowledge and experience. Take advantage of these communities, and don’t be afraid to contribute to them yourself! Everyone has to start somewhere.

4. Don’t be afraid to find a recruiter.

As I mentioned earlier, there are more positions available than there are developers to fill them. Because of this, companies have a challenging time finding the best qualified candidate. We all know, where there is a problem, there is money to be made. Cue the entrance of the Technical Recruiting industry.

Technical recruiting agencies have helped close this gap by offering services to companies by providing them with talent at no cost to the individual being hired. Recruiters get paid by finding you the best fit with an employer. Recruiters have a pulse on local businesses tech requirements and where entry-level software engineering positions will be available.

Don’t be afraid to contact an agency if you’re having a hard time getting businesses to respond to you on your own. In some cities, it might even be difficult to get a job without the help of a staffing agency simply because of the trust recruiting agencies have built with local businesses.

Work with a recruiting agency, understand their process and how that will directly affect your job hunt. Not all agencies or recruiters are alike, and it’s important that you and your recruiter have the same goals regarding positions you are interested in.

5. Know what you’re looking for.

Though you may not know exactly what you want to do for the rest of your life, you will probably know the type of hours you want to work during the week, the salary you will expect and whether or not you will want/need benefits.

One of the biggest things I discovered when I entered the industry was the differences between full-time employees and contractors. Though the titles themselves don’t inherently have a difference in the work at hand, it will affect how much you get paid, time-off, benefits, and overall job security. Before you begin your search and negotiating your salary, write down the things that you’ll need to take into consideration:

  • Do you have any big vacations in the near future?
  • How often do you need your paycheck?
  • How much do you spend each month? Personal? Bills? Other responsibilities?
  • Are you planning on moving anytime soon?

Some individuals wish for a full-time position with a certain organization (full benefits, PTO, and holidays off), but you may have to work as a contractor there before the employer is willing to hire you full-time. Research the market in your area while you are networking. You might be financially flexible now but require more stability in a few years, you never know.

Also… important tidbit.

Wherever you land, the likelihood of you being there for more than 3 years is very low. In 2017, the Software Engineering industry had the highest turnover of any other industry, and for good reason. Between the demand and the rising compensation to entice talented engineers, the cost of your time will significantly increase the more you work. Take this into consideration as you look forward to accepting your first position; you probably won’t be there forever, so what are some compromises you can make for a year or two?

6. Your worth != what you’ll be paid

One of the most difficult pieces of advice for me to accept was the reality that the salary I am offered will not directly equal my worth as a professional.

Hypothetically, let’s say I am great candidate for an entry-level position. I’m hard-working, eager, and willing to learn and I’m worth a specific amount in the workforce. Though this is very logical thinking, it isn’t necessarily how businesses think when it comes to salary negotiation. Despite their eagerness to get talented developers, they are still in the business of making a profit. Which can mean offering a lower salary to someone who’s willing to accept it.

You might need to view your potential salary as “how much will get me motivated to go to work in the morning” versus “how much am I ‘worth’”. This change in mindset can save your self-esteem and stress-level as you begin salary negotiations. The likelihood of them aiming lower than you think you’re ‘worth’ is high. As long as there are individuals willing to accept a lower salary, you will have a hard time finding someone who’s willing to pay you what you think you are worth.

Though this might be frustrating at first, understand that the number it takes you to “get up in the morning” will increase over time. You won’t be at the low end of the pay scale forever. The more experience you have, the more power you will have in negotiating your salary. Rest assured that there are plenty of ways to climb in the technology industry.

7. Get familiar with testing and testing frameworks

Though it’s rarely covered in an undergraduate degree, software testing is something that you will encounter in almost every development job.

As an engineer, your job is to develop great solutions alongside ensuring those solutions don’t break previous functionality. Through utilizing testing frameworks, developers are able to identify when bugs produced in newly produced code.

By addressing these issues early on, you can eliminate a large portion of the bugs a client may find through regular interaction with the product. Though you can never truly eliminate all bugs, you can take responsibility for the product by using testing best-practices.

Testing can help you become a better developer. As Boris Beizer, an American software engineer and author, once said…

“More than the act of testing, the act of designing tests is one of the best bug preventers known. The thinking that must be done to create a useful test can discover and eliminate bugs before they are coded — indeed, test-design thinking can discover and eliminate bugs at every stage in the creation of software, from conception to specification, to design, coding and the rest.”

8. Utilize your school’s post-graduate resources

This might sound like a no-brainer, but don’t forget that your university has an incredible amount of resources at their fingertips. They have made it their business to produce young, talented professionals who are ready for the workforce. Don’t be shocked that businesses reach out to them on a regular basis asking for candidates. You will only discover these opportunities if you take the time to talk with them and ask!

I graduated from a small, private university and even there I had an impressive amount of resources to aid me in securing my first job. Between resume reviewers, local company contacts, and even exclusive job opportunity postings, Universities have a wealth of resources. Let’s not forget about job fairs that are constantly happening throughout the city! Take the time and investigate the resources available. You might be pleasantly surprised at the help they provide.

9. Interview often

Oftentimes, we put an extreme amount of pressure on ourselves during a job search. If you’re anything like me, interviews are anxiety producing, nerve-wracking, and an overall unpleasant experience. However, all of this is simply because of inexperience in the actual act of interviewing itself. If you’re not comfortable in who you’re speaking with and knowledgeable of what exactly they’re looking for, you are going to be nervous! What’s the best way to combat interview anxiety? … More interviews.

Throughout your career you are going to work in numerous places so it will benefit you to become a “professional interviewer”. You already know you won’t be staying in the same place forever, so what’s the harm in having a conversation about other job opportunities? If you interview for positions you are not necessarily wanting to accept, it will be that much easier to interview for jobs you’re very interested in.

Always make sure to keep your options open. It really sets you up for success when it comes to embracing tip #10.

And lastly…

10. Make sure you and your family are #1. ALWAYS.

This is truly the beginning of one of the biggest adventures of your life. You’re in far too great of a field to hate your job and that’s an amazing thing. If I’ve learned anything these last three years, I would say that nothing is worth sacrificing my relationships for; not even a really great paying job.

You have one of the most sought-after skill sets in the world right now… don’t forget that.

Once you’ve landed that first job, getting the next will be that much easier. The idea of leaving a job that has taught you so much can be scary but remember that at the end of the day capitalism doesn’t play well with sentimentality.

In a world that changes quickly, it is important to put yourself and your continuing education as a priority in your continual job hunt. The better of a position you’re able to put yourself in, the better you’ll be able to take care of your family and your future; and at the end of the day that’s the most important thing.

Image Myself outside of Slalom Consulting LLC (Saint Louis, MO), my first employer as a Software Engineer. I was officially hired one month post-graduation and I couldn’t have been happier.

I hope that these pieces of advice resonate with you as much as they did with me. There is plenty of room in this industry for all of us, and everyone you meet with have experiences that you can learn from. If you have a great piece of advice that you think new grads should know, please share it in the comments below!

Thanks for reading and I wish you the best of luck in your job hunt.

Jenna Palmer, @jpalmerproject (Twitter)