I'm in grad school now, so let's talk about what that's like and some lessons I've learned along the way.
Lesson 1: Know what you want to study
I'm currently on my second attempt at grad school.
A few years ago, not knowing any better, I started an information systems master's program at a school near where I was living in the USA at the time. I mostly chose that school because it was nearby and convenient. It had an information systems grad program, and I thought "What's an 'information system'? That sounds like a computer. I like those!" It turns out information systems is a very business-oriented field which I really hate. I haven't been able to dig up the page again, but at some point between then and now, I read the description on some website that Information Technology asks "How does the technology work?", Computer Science asks "Why does the technology work?", and Information Systems asks "How can we use the technology to fulfill our business needs?" Gross.
What I'm really interested in is privacy and cryptography. That's what I want to study. And I'm much, much, much, much, much more interested in computer science than any business crap.
After a couple years of weird limbo (thanks, COVID), I ended up starting grad school again at a different school, in Canada this time. I chose to apply to my school because
- it has a (big and) good computer science program
- it has a research group for my specific area of interest
- this research group worked on projects I was interested in (such as Tor), and I was even familiar with some of their work
- the university is located in a country where I was interested in going to school
This is a much better fit for me! I love it here! (And I periodically reflect on how fortunate I am to have ended up with such a good fit!) When it comes to grad school, I think it really pays off to know what you want to study and work hard to get there, rather than just starting somewhere and hoping it helps later.
Lesson 2: You can get paid to go to grad school!
One of the great injustices of higher education is that undergraduate college is incredibly expensive, but after you've completed undergrad, you can get paid to go to grad school. Undergrads deserve better. (Education should, of course, be free, but that's not the point of this post.)
Anyway, if you do have the socioeconomic privilege of being able to get through undergrad, you can get paid to go to grad school! Basically, you get funding for doing research, TA work, and/or similar duties you perform that benefit the school.
My understanding is that in the USA, PhD work is generally funded, while master's work is generally not (though master's students may be able to apply for jobs as teaching or research assistants). By contrast, in Canada (or at least, at my school), both master's and PhD students are entitled to research/teaching assistant work and are funded for the duration of their time.
When I was a master's student in the USA, the school I was attending was pretty cheap. (I think in-state tuition was around 4,000 USD per 4-month semester, which is quite cheap for university in the USA.) I got a job as a teaching assistant, which came with a tuition waiver (reducing that to something like $1,200 in non-waivable fees) and also paid me something like $1,200 per month. It wasn't a lot, but I was living with my parents for free at the time, so I didn't need a lot of money. I got to go to school while net gaining money. Had I had any real expenses like rent, it absolutely would not have been enough.
At my current school in Canada, tuition and fees are around 25,000 CAD per year (we're on trimesters, so that's around $8,333 per term), and between scholarships and research/TA pay, I get somewhere in the vicinity of $50,000 to cover those costs as well as rent, food, etc. My rent is $1,100/month, and I spend around $300-$400/month on food, along with about $130/month for car insurance. Of course, there are other misecellaneous costs of living, but those are the regular ones to give you an idea.
TL;DR: I'm not getting rich here, but I'm making enough to live on from doing grad school.
Lesson 3: You don't have to know everything
I just finished my third term, and so far, I've been mostly focused on courses. (We'll see what later terms are like now that I'm done with classes until I do my PhD.) Some low-level grad courses at my school are also offered as high-level undergrad courses. (This was also the case in my previous grad school experience.) I haven't taken any of those courses here, though, and I probably won't. The courses I've taken so far have all been high-level seminar grad courses, which are a new experience for me.
Basically, seminar courses give students the opportunity to engage with relevant research in some topic. Each week, the students read 2-4 assigned research papers and write reviews of them as homework before class. Then in class, someone presents the paper (2-4 paper presentations per student during the term) and leads a discussion on it. Students also work on a research project, present it at the end of the term, and write a paper about it. These projects aren't really expected to yield something publishable in the 2-3 months you work on them during the term, but they give you some exposure to research and some projects you can continue working on after the term if you want.
Prior to grad school, my math/CS classes were generally about learning specific things. The activity practiced in class was understanding (and applying) things that were being taught. These seminar classes feel very different to me because it's less about understanding all the details of the research and more about engaging with it. You don't actually have to learn every detail of the papers you read. It's okay if you don't have the background to follow the machine learning sections or if you don't know the network protocols the authors are using or if you can't follow the math behind the crypto. What matters is that you can understand the overall point of the paper, connect the paper with other research papers you read in the class, think about future work to extend the paper, identify positive and negative aspects of the paper, and so on. The project gives you exposure to the process of doing your own research, even if you don't actually have time to find real publishable results.
In grad school (or at least, in these seminar courses), you're not expected to gain a masterful knowledge of everything you read; you're expected to be able to pick up anything and learn something.
Lesson 4: Find community
I love grad school, but I've also been pretty lonely. It's hard to make friends as an adult, as I learned after graduating from undergrad. For most of my life thus far, I've been around people all the time because of school, so I naturally managed to find friends. Then suddenly, I didn't have to be around people as much, which made it harder to make connections. This was especially true because while taking classes is something one does as a grad student, grad students take significantly fewer classes than undergrads do. (Again, master's students in my program only need to take 4 classes total.)
So how do you make friends? Go to events! Do stuff! It can be hard to find the motivation or to learn about events, but make an effort. It's no good to just be lonely and depressed.
Examples of "doing stuff" for me are doing harsh metal vocals at open mic and karaoke events hosted at my school, skating at a local skate park, and playing board/card games at a local 2SLGBTQIA+ space.
It also helps that I like my research group a lot. The lab (it's just an office) is a friendly, social environment where I can often find people to chat with. (And these people even speak my language!) We have a Matrix server where some really interesting discussion happens (and it's a great place to ask for advice). At one point, we had a Magic: The Gathering group within my research lab. It's been a great time!
Your research lab might not be as good an environment as mine. The activities I think are fun might not be fun to you, or they might not be available in your area. But the point is, look for things to do and make sure you have something of a social life. Human connection is really important for mental health!