Mistakes as an Undergraduate Job Seeker

Years ago I wrote a huge guide about job searching in my final year as a STEM undergraduate, and I’ve updated it off and on ever since. I wrote it specifically because I had just gone from the applicant to the recruiter and saw both sides, so I had all my advice fresh in my head.

Now, with the knowledge that I have and looking back on my experience, if I were to go back in time and re-do the entire process of choosing and applying for jobs as an undergraduate, this is what I would do, in 5 steps.

Step 1: Figure out personal skills and advantages

Mistakes I made: I held the title of my degree higher than the skills I could learn in my time in undergrad. Even though I knew I liked coding and could deal with the annoyances of it, I still hustled in the last year to get myself set up for data science jobs because I thought my math degree would be more relevant to get me an opportunity there and not in software. I could have just recognized my skill and interest and positioned myself to do software engineering from the get-go.

What do I mean by “skills and advantages”? For you to figure out these two things:

Think using the following concept: you can figure out what you’d be good at (job-wise) by understanding what things you are able to deal with that other people aren’t. For example, some people can’t stand the tedious nature of programming. If you can, and you enjoy it to the point where you hit “flow state” while working on programing projects, then congrats, in my opinion you have found an optimal career starting point.

Other job functions may not be as obvious as this, but the idea is to try to understand yourself better about 1) what you enjoy doing so much that you forget to eat and sleep (flow state) and 2) what you are willing to deal with (that others aren’t) that gives you a particular edge. The intersection of these two can provide insight into potential career trajectories.

Step 2: Learn about types of jobs in the desired industry

Mistakes I made: I could have done a lot more research about the job functions themselves. I blindly applied to data [analyst, scientist, engineer] positions without really thinking about it, I was just looking for any initial opportunity. Sure, this worked out just fine, but if I could go back and do this again, I know now that it is worth the time to research what type(s) of job function(s) are most interesting, not only to best fit yourself personally, but also so that your chosen projects to make a portfolio out of will be as relevant as possible.

Bottom line:

Note: I should mention that you should apply for any internships you qualify for to get some initial experience no matter what it is - if you can get your foot in the door to get some experience, do it. For me, I did apply to many things but got no opportunities. This is an area where the name of your degree matters a lot.

I’d strongly recommend using YouTube as a resource to hear from people who have actually been in industry and what they’ve experienced. There are so many YouTubers who share their experiences as (insert job title here), both positively and negatively. I watched a video from a data scientist years after I started my career, and realized everything he was saying was what I had taken years to see and understand about the field from being adjacent to it as a data engineer. I could have seen his video before I graduated and gained significant insight right off the bat.

Step 3: Learn to use multiple relevant technologies used in the industry

Mistakes I made: I wanted to do data science, and I dove so deep into R that I essentially ignored SQL and DS python libraries like Pandas, sklearn, etc. It wasn’t a mistake to learn R, but I focused too much on it and didn’t branch out. I barely dabbled in basic SQL. I knew Python, but not the DS libraries, which could have been useful to show on my portfolio.

Bottom line:

Note that if you can’t get the tech for free because it’s proprietary, then you might be able to ask the university you’re at for a student license (if you can’t get one for free anyways), especially if you’re doing a research project that uses the tech. This is a great way to get access to programs like special CAD software or other tech that requires a license.

Step 4: Build a portfolio that shows work ethic, adaptation and resilience

Mistakes I made: I had a good technical GitHub portfolio, but much of it was just surface-level explanations of the projects. It lacked the depth of what went right and wrong, extensions for the future, how I optimized my workflow throughout the project, where I struggled most, how I thought we could improve stakeholder communications, etc.

Bottom line:

Charts, graphs, graphics, pictures of your research, a GUI, etc. all make a portfolio more dynamic. It is too easy to just write about what you did and have a wall of text on GitHub connected to a bunch of programming files. Make it more dynamic and enjoyable to read - make it into a story about your project, what went wrong, what went right, takeaways from the experience, future work etc.

Step 5: Apply to jobs, with an emphasis on development programs

Mistakes I made: I did not focus on development programs as closely as I could have. I definitely started applying early enough (fall before spring graduation) to find more than just the few I applied to. I still focused too much on applying to tons of jobs that required 1-3 or 2-4 years of experience, which were long shots for a fresh graduate. Also, I did not apply to many co-op/intern positions even for recent grads, because I wanted a full-time job guarantee. I should have applied for more of those, because a lot of them may offer full-time opportunities after the internship, or at the very least be a backup plan if I didn’t find anything.

Bottom line:

Seriously, development programs are your best bet to gain concrete experience while also having time to learn on company dime. You can find them by using my link above about keywords like “college grad” and “new graduate” - these sorts of keywords will find more pinpointed opportunities best fit for fresh graduates. These are competitive, and the applications are normally more lengthy, requiring essays or larger portfolios, assignments, etc., but it is worth it to put your best foot forward on these and really spend the time to make a good application.

Final Notes

These steps lay out the basics of what I would do if I were an undergraduate today and wanted to be prepared for a first step into industry. These are a good foundation and not comprehensive, but I think these are all highly important to be a successful undergraduate job-searcher who wants to be proactive in their career trajectory as soon as possible.

Note: Master’s as a backup – I did apply to Master’s programs as a backup in case I was not hired, and I think this is a good idea. If you miss the boat of the fresh graduate hiring opportunities, you might be unemployed for a while trying to scrape something together for yourself. Having a program ready to start a few months out after graduation serves not only to ease worries of sitting around doing nothing while applying for jobs, but also lets you continue deferring loan payments if applicable. In my case, I was hired before I needed to accept any of the offers for the M.S. programs, so it worked out well.

Note: Student loans – If you are in massive debt and haven’t decided what to do before the final year, my advice is to aim to get your foot into the door of software work. Start early to learn Python and begin to market yourself as a junior software engineer. These positions pay extraordinarily well (60k+ easily to begin, and normally 100k+ in roughly the first 3 years), and you can make short work of those big loans. All scientific fields have their associated programming packages and standards, and companies need programmers that understand both the computing and their field.

Note: RELAX – Mistake I made: I tried to impress everybody and probably failed many times. I could have been more honest and talked more openly through how I was thinking about the position with the recruiter(s) instead of hiding my questions that I thought were stupid. Being open and honest and showing true interest in the position are more important than having a perfect answer for every question.

It is OK to not have experience. Have backup plans (my plan was to continue for M.S.) in case nothing works out. Try to treat the interviews as conversations to get to know the opportunity and company better, instead of interrogations about your skills. Recruiters who are working to find fresh undergraduates to hire understand that experience levels will be limited. Being prepared by learning the right technology, starting early in the job search, and knowing your strengths all help to make you a more confident and hire-able candidate.

Reminder: “plans are useless but planning is indispensable” – Dwight D. Eisenhower. Use this guide non-religiously to get your head on the right track with regards to your journey, and learn from my mistakes.

Good luck!

Dan