I worked as a pharmacist from 2015 until 2021, when I decided to finally make the switch and become a software engineer. Now, I work for Walmart, more specifically Walmart Global Tech.
How Did I Find a Job?
Finding a job wasn’t easy. Especially during a pandemic. Especially having not completed the program. But the biggest thing to realize is that you are going to get rejected. You’re going to get rejected A LOT. A quick search on r/cscareerquestions or r/csmajors will show you that people apply to tons of places. People are literally sending out hundreds of applications.
Being rejected so many times is so common that OSU has gamified rejections, hosting contests in a slack channel called #rejections, where people boast about where they were rejected and how often. Because being rejected means that you are actively sending out applications, and it’s really a numbers game. But eventually we all get lucky and find that job.
Job hunting for computer science majors can take place all year round, but it is cyclical and there are seasons. The major recruiting season takes place during the summer between July and October. Some places start even earlier; for instance, Amazon this year (2021) started in June.
What’s the Interview Process Like?
Most big-name companies start with an online assessment, commonly referred to as an “OA”. There are a variety of different OA formats and platforms–Hackerrank, Codesignal to name a couple. Questions can vary but normally include some type of “Leetcode” style question. A question designed to test your coding and problem-solving abilities as well as your knowledge of algorithms and data structures. For me, I started with a Hackerrank, had a take home project, an interview to present my project, and then two more interviews (one technical and one behavioral).
How Can I Crush OAs?
The best way to get good at Leetcode style questions is to practice. It’s normally recommended that you practice in specific categories: linked lists, stacks, hashmaps, dynamic programming, starting with easier problems and working your way up to medium and maybe even hard.
There are a lot of good resources available. I highly recommend taking Codepath’s course on interviewing. It’s a free course offered to students offered a few times a year. They teach the UMPIRE method:
How to Solve a Leetcode Problem
It’s crucial to actually understand what the problem is stating. What are the inputs? What are the outputs? What are the constraints of the problem? Do you understand the solution?
Create your own test cases that test edge cases. Ask the interviewer for feedback to make sure that you’re on the right path and show that you are good at communicating.
Figure out how the problem can be solved. Do you recognize the pattern? Match the question with a data structure of algorithm to get an idea of how you’re going to solve it.
With the right data structure/algorithm in hand plan out what your code is going to do. Explain it to the interviewer.
Write the code. Transform your pseudocode/idea into working code. Walk through one of the tests cases that you wrote to find any errors. Execute all the test cases you wrote to make sure everything is passing, if not debug. When everything is passing and looks good run the test suite. Pray to the Leetcode gods that it’ll pass.
Where Can I Find Out Salary Info?
While I was unsuccessfully in trying to negotiate a higher salary from the new grad offer, I was given, one can find valuable information about salaries on levels, a site where people anonymously share their salary information.
When Should You Apply For A Job?
A lot of people ask when they should start applying for jobs/internships. After 161? 162? 352? The answer is always, emphatically, yesterday. You won’t [probably] won’t find a job or internship unless you are actively applying. And after your first internship finding a job becomes THAT much easier.