This post is a bit of a ramble, so bear with me, though I do have several points I make throughout that I think are important.
The first of which is that being a Computer Science major is awesome, if you’re looking for a job. I’ve finished only a year of my CS degree so far. I know several people who have taken the same classes that I have, and are off doing internships this summer, and even more who are a year ahead doing the same thing. And I’m not talking small deals, either. Several of them are off working for Google, Microsoft, or even Apple. Getting paid, and in some cases, they are being paid to move out to California for the summer, including transportation.
Second point: If you do not love Computer Science, don’t do it. I also have several friends I made during the last year who attempted computer science because of the money you can make, while they didn’t really enjoy, or in some cases, fully understand what they were doing. Most of them have switched majors by this point, and those who haven’t are just trudging through. Working in computer science should be a joy. I absolutely love to program. I’ll come back to this topic later, but the point I want to make here is that if you don’t love computer science, do not do it for the money. You will be miserable, even if you manage to succeed. I just spent 11 hours doing the latest computer science assignment. I wanted to cry several times, and I am very thankful for the help I received from my friends when I was particularly stuck. But now that I’m finished, I understand what I did, and I love that I was able to do it.
Instead of looking for an internship, I am attempting to get my degree as quickly as possible (Though I may try to get an internship or full summer job next year.), so I’m taking two classes this summer. One was a math class that finished in 5 weeks, and the other is a computer science class that lasts the entire 10 weeks of the summer. It’s been challenging, certainly, and grueling, but I love it. We’re learning about how the computers work, at an incredibly low level (For computer scientists.), and that stuff is fascinating. I’ve been asking questions about it for years, and I finally have answers.
A little over a month ago, a friend of mine posted on Facebook asking if anyone knew Java. Since that’s what I spent the past year learning, I messaged him saying yes, I do. He replied back, essentially offering me a job on the spot.
They need people in Computer Science, people. The jobs are there.
I ended up as a teaching assistant at an awesome programming camp these past 2 weeks, working an Introduction to Java course the first week, and an Advanced Java course the second.
It’s been an amazing experience. I have come away tired and inspired. (That should be someone’s slogan or motto, somewhere.) I’ve worked 8-5 at camp. Not only am I in the classroom constantly running around, helping 17 (Advanced) or 31 (Introduction) kids with a wider variety of confusing bugs than I ever thought possible, I have also been playing games and eating lunch with them during their breaks to keep them entertained, so I’ve basically had no breaks.
I then go to class, often from 5-8 in the evening, a three hour long upper division CS class lecture.
To say that I am exhausted at the end of every day would be an understatement. I’m not entirely sure how I actually did manage to make it through the past two weeks, and it’s an experience that I’m not sure I ever want to repeat. I have a newfound respect for those who work while they go to school. Next summer, it’s going to be all school or all work, none of this crazy combo stuff.
Nevertheless, I had the time of my life. These kids are, no exaggeration, geniuses. Many of them are grades ahead, and I know for a fact that we had at least one pre-teen in the teenager camp, who fit in perfectly. These kids love computer science. They want to learn it. It got to the point, both weeks, where I (literally, in a few cases) had to drag them out of the room during break times, so that they would get outside and exercise. When you love what you’re doing, and you’re always just a few lines of code away from making it better, it’s addicting.
One of the biggest lessons I’ve taken away from this is that kids are hungry for knowledge. They love to learn. Given the right material (For these kids, it was computer science. For others, it may be art, or music, or something completely different.), presented in the right way, they will devour it. I have never seen so many people learn so much, so quickly. It was amazing.
Several of the students have asked me for more. I know that I will be keeping in touch with at least a handful of them for years to come, encouraging them to keep up their studies and helping them with projects they choose to do on their own. I spent lunch many of the days explaining more advanced concepts to several of the students, who would simply not stop begging me to tell them more.
I don’t think I can put it better than that. Seeing that light go on, seeing that student achieve what they’ve been working on for hours, seeing them know that they have conquered it, surmounted it, that they know it is theirs, seeing that they, in Mary’s words, “have leveled up,” and knowing the integral part I played in that experience, is one of the most humbling and exhilarating experiences I have ever had the pleasure of having.
At that point, the thanks the students will sometimes give you is almost forgotten, but it truly does count. I know that, both weeks, several students filled out on their course surveys saying that I was awesome (There may have been brownies involved the second week…). The camp director told me that she had received several emails from parents whose students had many good things to say about me. The instructor with whom I worked both weeks (And who was the only reason that the course ran smoothly when they changed the curriculum on us at the last minute and threw us completely for a loop in the advanced course, where she and I were the only staff in the room.) thanked me profusely. Some of the students even bought me candy at the end of the week as their way of saying thank you. Every one of these gestures touched me, deeply.
The lesson to take away here is that if someone makes a difference in your life, if they help you through something difficult, if they’re there for you, thank them. It doesn’t have to be an elaborate gesture. It can just be a few words, or a comment on an evaluation. It can be a small gift, or even a recommendation to someone else. You may not think it makes that much of a difference. But it does. Being told all of those things (Most of them on the last day of camp.) has been amazing. It really has made this whole experience totally worth it.
A few random reflections before I finish up: I remember staying up until midnight for the year 2000, and watching to see if all of the computers would crash with the Y2K bug. Some of the students I’ve been working this week weren’t even born then. And they’re in high school. I feel old.
I also managed to take the kids on a field trip each week. The first week, we went to see the visualization lab at UT, which is powered by a set of supercomputers, and has some massively impressive stuff (Like an 80-monitor data visualization set-up, a good 4’x8′ touch screen, and an Oculus Rift headset.) that the kids–and I–really enjoyed. The second week, I took them on a tour of the CS building, which ended in the lecture hall with a Q&A session. One of the kids told me the next day that the tour was what finally made up his mind: he is determined to be a CS Major at UT Austin now, and I know I encouraged several other brilliant students who will fit in well to pursue it also.
I may be repeating myself a bit here, and I know this is the oldest advice in the book, but do something you love. I am addicted to computer science, and teaching is simply one of the most rewarding and instinctively natural things I have ever done, so this combination was pretty much perfect for me. (Even though I was a TA, and did not actually teach for any of the lessons, I spent at least 75% of the class time on my knees next to students, explaining how to do something they wished to do in their program, or what was wrong and how to fix it.) If I had been doing some kind of boring manual labor job (Which might not have been as physically and mentally taxing as this past week.), I would have broken already. I only persisted because I loved it. It truly, truly, makes a difference.
So… Thank you. To my fellow staff–directors, instructors, and TA’s–and to the students. You made my last two weeks absolutely insane, but the best way possible.
I don’t know if I ever want to do it again.
(For those who are curious, I was working at Digital Media Academy. Here’s their website. If you know someone of an appropriate age who is interested in computer science, or a field covered by one of their other camps, do what you can to get them to one of these camps. They are seriously one of the best experiences you can give that person/yourself.)