# On Graduating or: What to Optimize For


Last weekend, I graduated from UIUC with a Bachelors of Science in Computer
Science. Thus brings an end (for now, at least) to my formal education career.
It still hasn't _really_ hit me yet that I'm "done," but I am looking forward to
traveling a bit this summer, and then starting my full-time job in the fall.
This will be kind of an unorganized post, as many of my ideas aren't completely
formed yet, but I wanted to write down some reflections on my college
experience. <!--more-->

### Common Pitfalls

-   **Always worrying about "what's next"**. When you're in college, you worry
    about finding a job/internship; when you're in high school, you worry about
    getting into a good college; when you're in middle school, you worry about
    adapting to high school. This chain of "what's next"-ism goes back to the
    beginning of one's education (and probably, I assume, continues through
    one's professional career). It's prudent to _think_ of the future, but I've
    found it to be a mistake to optimize solely for it. A healthy balance of
    considering the future, while still experiencing and appreciating the "now",
    is probably the best approach.
-   **Starting assignments late**. In my experience, _the most reliable_
    predictor of student stress is when they start assignments. If you have an
    assignment with a hard due date and start it with just enough time that you
    think you'll be able to finish in time, you're likely in for nasty
    surprises. The biggest tip to reducing stress I'd give to an incoming
    student is to start assignments when they're assigned/released. You don't
    have to _finish them_ super early, but getting started and doing a good
    amount of work on them right after they're released will allow you to come
    up with better estimates for how long they'll take, and will allow you to
    then allocate your time better.

### Valuing Your Time

The biggest change in my workflow I experienced in transitioning from high
school to college was how much more control I had over my schedule -- and how
much more free time I had.

-   **There is value in giving your time away**. Especially when you don't have
    a lot of experience, it's valuable to be generous with your time. Contribute
    to an open source project. Volunteer with a student organization. Help teach
    an introductory course. You might not see immediate returns from these
    projects, but over time these types of activities tend to create
    opportunities that you wouldn't otherwise have.

-   **There is value in hoarding your time**. On the other hand, it's important
    to say "no". "Hoarding" might be too strong a word here, but I definitely
    experienced benefits from learning when to say "no" to time sinks.
    Periodically, take a look at the way you allocate your time and prune any
    tasks you're investing time into that don't provide you enough value to
    justify the time spent. Additionally, protect your sleep time. Find which
    activities are non-negotiable to you, and plan around them accordingly. For
    me, these things were sleep (early to bed, early to rise), time to exercise
    daily, and a bit of time to work on a side project several times a week.
    With these non-negotiable things scheduled, I could fill in the rest of my
    schedule as opportunities came up.

### Advice

-   **Take classes outside your normal "areas of interest"**. This is a cliche,
    but some of the most valuable experiences were in courses that I took
    outside my major. I still remember (and regularly use) ideas that I got out
    of my microeconomics and ethics courses, despite them having no immediate
    applicability to my computer science major.
-   **Take classes that reward you for the time you put into them**. Not all
    classes reward your time equally. There are some classes, especially those
    heavy on content memorization, that will consume a lot of your time, but
    aren't especially valuable/fulfilling. On the other hand, project-based
    classes may or may not demand a lot of your time, but are valuable to the
    extent you put effort into them. Talk with peers to find out which classes
    reward the time you invest in them and plan your electives accordingly.
-   **Be wary of "easy" classes**. Whenever it was time for people to plan their
    course schedule for the next semester, there'd invariably be a bunch of
    posts on my college's subreddit about which "easy" courses they should take.
    I found that courses that have the reputation of being "easy" often were
    actually quite boring. Courses can be "easy" because they don't make demands
    on you -- and can be quite boring or mismanaged as a result. In contrast,
    some courses are "easy" (perceptually, at least) because you are engaged in
    the content you're learning. If a course has a mass-perception of being
    "easy", be hesitant.
-   **Take a balance of theoretical and applied courses**. Understandably,
    there's a spectrum of courses on the theoretical-to-applicable spectrum.
    Taking a semester of all theoretical or all applied courses can be
    frustrating. Too theoretical and you feel like you aren't learning anything
    useful. Too applied and you feel like you're learning things you could
    figure our on your own (or with internet resources). Personally, I did a lot
    of "applied" learning outside of school via working on side projects, so I
    counterbalanced this by having a slight preference for theoretical courses
    in my academic schedule. Your mileage may vary, but in conversations I've
    had with peers it seems fairly common to forget to consider this balance
    when selecting classes.
-   **Get involved in teaching a class**. I was involved in teaching a couple of
    courses while in college. I had different levels of involvement -- from
    being an insignificant course assistant to giving lectures and designing
    coursework. It's a valuable experience to be on "the other side" of the
    student/teacher dynamic. If nothing else, you get an appreciation for the
    logistical challenges that go into teaching a large class (and you might be
    less likely to complain to a professor for "taking too long" to grade exams
    as a result). There are myriad other benefits to being involved with
    teaching a course: teaching _really_ forces you to know the material, it's a
    great way to practice leadership and organizational skills, you have
    opportunities to develop the muscle of public speaking, and you learn to
    deal with criticism (believe me: even if you're doing a good job, you will
    be criticized).

### On Grades

Grading in college is weird. If you're not planning on going to grad school, the
common wisdom is that (above some fairly low threshold) "grades don't matter".
Judging by my actions, I did not hold this view -- in fact, I stressed about
grades way more than necessary. So, this is a total "do as I say, not as I do".

Should you study an extra few hours or put some more effort into a group project
to improve your grade? Of course. Should you devote an unreasonable amount of
time writing papers for a class with capricious grading policies? Probably not.

I believe that there _is value_ in getting good grades, even in college, even
when they don't "mean anything". Many internship applications request your GPA,
getting research/TA positions is easier with a good GPA, etc. But, the point of
diminishing returns for grades in college is _much lower_ than in primary
school. At a certain point, you're just doing it for yourself. This can be a
good thing: grades can be a good carrot/stick to keep you engaged in a course
you otherwise would blow off. However, it's good to develop a healthy
relationship with grades, and really internalize that _you are not your grades_.

In high school and early in my college career, my GPA was a number to optimize.
Later, I developed enough maturity to realize that the thing I should optimize
for was _understanding_ course material, not the grade itself. I still probably
spent too much time stressing about grades than was necessary.

### A Final Note

Going to college has a ton of cultural emotional expectation associated with it.
High school students spend 1.5-2 years of their life devoted to getting into
college: taking standardized tests, visiting their "reach" schools, bleeding
their hearts into (what later read as cringey) personal essays, dismayal at
getting rejected from their dream school(s), elation when they are accepted into
a top program, budding tribalism when they wear their soon-to-be-college's
sweatshirt to "decision day", etc. The college application/acceptance process
was one of the most onerous, emotionally charged periods of my life; it's an
experience I wouldn't wish on an enemy.

Then, when you arrive at school, you're inundated with people offering
hyperbolic pronunciations like "these will be the most important 4 years of your
life", "the friendships you create here will be lifelong", and how various
people met their spouse at [YOUR SCHOOL]. It's probably healthy to eschew much
of these expectations.

The reality of actually being in college is pretty great: you have an enormous
amount of freedom. You have an opportunity to "start clean", both academically
and socially.

Learn what you like doing, do a couple of things that make you uncomfortable,
develop your skills, and gain experience. Take everything as a learning
experience, and you'll have few regrets when you graduate.

