What the heck is the next step, exactly? I could easily fill my days with studying, but if that was the next step, I would be enrolling in graduate school. The obvious answer is that the next step is acquiring a job as a software engineer, or some related position. However, that isn’t exactly the question I’m asking. I’m horrifically under-skilled relative to folks who are either in or entering the workforce, so landing a job is clearly several steps down the road.
Learning
School is fantastic. Your responsibilities are well defined, deadlines are available at a moments notice, and all required resources are within reach. This experience is nearly the polar opposite of what I observed during my first jaunt through the workforce. School literally feels like a vacation. Unfortunately, like with all vacations, school must eventually come to an end. Using the vacation analogy, as far as timelines go, one could say I am currently boarding my flight home. Unlike vacations, the next step isn’t clear as day. It isn’t possible for a bachelors program to prepare students to immediately produce for a company. Moreover, it isn’t even possible for the program to give students the ability to fool an employer into thinking that they have the skills to step into a productive role.
The Ugly Haircut
Upon graduating, students kinda fall into an ugly haircut phase. There is a moment when a haircut has grown out just enough that it hangs in an awkward middle-ground where it isn’t quite a new haircut, but it also can’t be categorized as grown out. Similarly, freshly graduated students are light years away from being considered experts in their field. On the other hand, they aren’t that much different from folks taking currently taking CS162. The question is, how the heck do we go about speeding up this phase where we aren’t quite ready for the workforce, but have dedicated tons of time to building this skill set. The popular answer is something along the lines of, “pick up a project that you love and the rest will come naturally”. That suggestion is far more difficult to execute in practice. Just about every job posting requires a new language or framework you haven’t yet explored. Working through a passion project sounds great until you review your prior three months and realize you aren’t the least bit closer to your goal of getting hired. Another obvious solution could be, “work LeetCode problems, refine your resume, and blast out as many applications as possible”. This doesn’t sound half bad, but what about when these employers inquire about projects you’ve been working on.
Your Guess Is As Good As Mine
I have no clue what the “correct” next step is. All I know for sure is that I will be filling my time with productive activities. No staying up late and sleeping in. I can only imagine the anxiety that would result from knowing I’m not devoting my time to meaningful goals. I’m guessing that a nice approach would be to split my time evenly between all of the aforementioned tasks. I realize that I have an insane amount of knowledge I need to gain before I’m in a place where I can realistically expect to be hired, but that insane amount can be broken down into bite-size chunks, right? I mean, I managed to earn a 4.0 GPA, so I at least know how to learn – I hope.