Listening to Ben on the Stackoverflow Podcast talk about mean CS teacher reminded me of a story and motivated this post.
So you like tech? Do you enjoy spending time with your computer? Have you started learning how to code or even developed something? Are you curious about how things work? Then you would love a Computer Science degree.
—Me to myself choosing my degree a couple of years ago.
As a newbie developer and Computer Science and Business Administration student I was most of the time frustrated by learning things I did not care much about, dealing with arrogant and discouraging teachers or building mostly useless things for class projects and/or school assignments. During my third year I couldn't take it anymore and started looking for things I was interested in and would give a little excitement to my boring CS knowledge. In other words, I didn't want to end up hating what I once enjoyed and you shouldn't either. It wasn't easy but it was worth it and I wish I could have started even earlier. Let's be honest, there's going to be people discouraging you whatever you're doing, so this is not the exception. Ignore them.
These were the things that came to my mind:
- Build something useful and interesting
- Prove myself as a developer
- Learn a new programming language
- Learn a new/improve spoken language
- Research something regarding CS that I had no idea about
- Start a blog (not necessarily a devblog)
- Excercise more
- Still get my degree (I'm not encouraging anyone to drop out!)
As you may have figured out, these were a lot of things and time was not abundant. I had two choices: leave some things out or combine them. I didn't want to leave anything behind so I started building something useful using a new programming language in a field I had no idea about. I proved myself taking part in two programming challenges and started a blog (in Spanish) to talk about the experience and explain how I solved them. I decided to improve my English and reached level C1.
Obviously, this took a decent amount of my time in less than 10 months and my grades dropped a bit and I stopped going to the gym. Anyways, that changed quickly and was nothing serious, but it's good to know that this may happen and you shouldn't be ashamed.
The most important thing about all of this is that I learned a lot. I learned things by myself and I learned to learn by myself. I wouldn't even consider myself a real developer if I hadn't tried doing any of this, not even with my degree.
Should things change? Maybe, maybe not. Of course I'd like to see a couple of changes in Computer Science and Software Engineering degrees, but that belongs in another post. However, if you ask me, the first ball can be always on our court and avoiding frustration can start with you.
Top comments (16)
Many CS departments sponsor student clubs (mine does) that serve as hacker / maker spaces, and they are a great place to hang out with peers, play with new technologies, and learn by doing. We're doubly fortunate to also have a large workshop with multiple 3d printers, CNC machines, lathes, brakes, and everything else needed to build anything you can dream up. It also gives you a chance to work on social skills (because computer science :^)
Thanks for the feedback, Perry. That sounds like a really inspiring and updated department. I think that learn by doing is one of the best things teachers/departments can encourage and way better if they even sponsor or help.
I didn't do very well at my computer science degree for the kind of reasons you've mentioned. Academic computer science topics can feel very dry. Our lecturers were world leaders in their fields, but boy were they boring to listen to!
I've often pondered what I would tell my younger self if I could. Something like this: Rather than finding ways to spend your time on anything other than studies, you have to find ways to make it interesting. Don't be dossing around. Think out of the box to break the cycle of procrastination. I think the suggestion to blog about stuff would work. It's a way of just looking at the course material in different ways, through different mediums. Another easy one which I stupidly didn't do much of... buy the books. Sometimes it's nice (or just feels refreshingly different!) to read a book rather than a computer screen/lecture notes.
Great recommendations, Dani. Definitely very important stuff. I am glad you did that. It made also all the difference in the world to me.
A greeting from a fellow CS student from the Universidad de Valencia ;)
Definitely, Mauro! I strongly agree. It's not always that things taught in class are useless or outdated, but also that we haven't really explored the possibilities or extension of that specific domain.
Wonderful post, Daniel! I'm sure this is going to help somebody out who's in that position.
Thanks, Ben! I really hope so.
Concentrate doing things in practical way, and get your hands dirty with bits is the best thing which will help in a long way in your career.
Because I spent lot of time when I was studying on programming data structures with C, and it helped me to develop my logic for programming.
Awesome, this is so important to talk about. The best thing I did was minor in something I was really passionate about learning instead of doing--I love my job and I love developing, but I hated my major most of the time. Learning theoretical CS and math was often frustrating, but I always loved my psychology classes and they kept me engaged in school.
Thanks for the insight. Having the opportunity to minor in what you really liked or taking classes different from the CS core must really have helped.
It helps a lot knowing I'm not alone. I tried BBA for 3 years, then switch to IT. Even though I like it, after 4 years I'm frustrated. Freelancing as web developer doesn't always help suppressing depression. I really want to move forward.
Excellent post! Congrats.
The most difficult thing to do in your recommendations for me is to write a blog post!! But when i will find a motivation i will start it
Great piece, lots of good advice for someone like me looking to go back and get a CS degree. Thanks!
It's all about interest. If you actually in love with your course then get automatically interest in studying. So carefully choose you course.