Ask HN: Advice for a frustrated CS student
I'm a 21-year-old CS junior undergraduate, and it looks like I can't put my mind into working on side projects.
I don't have problems with the field of Computer Engineering , I actually find it quite fascinating and interesting. I'm hooked by reverse engineering, and I'm thinking into working in Information Security. My university doesn't have such a cursus, so I devised I had to earn some experience by myself via some side projects, solving online CTFs.
Except I can't help being deterred and frustrated when trying to work on them. I try to code a little something, a little game, google some documentation, write some snippets, ducttape them together and see the whole thing self-destruct with obscure exceptions. Googling those errors doesn't bear fruit often.
Yes, I'm aware of all the trial and error involved in programming, but I noticed that frustration comes back when I tackle any kind of creative endeavour (I'm currently trying to learn how to draw) and even when playing video games (roguelikes and shoot them up games).
I would also like to feel that thrill when solving problems on your own, making "air castles" from scratch.
How can I get over that frustration? How can I acquire the persistence necessary to undertake any project and see it through to completion?
I know that there is some kind of "playfulness" involved in it, but I can't put a finger on it....
Thank you for your time.
19 comments
[ 4.2 ms ] story [ 62.3 ms ] threadThe playfulness comes from developing an internal map of how the programming language you use exposes the underlying system. Cutting and pasting from examples is not going to help you.
Solving problems sets with discreet tasks attached to them like the project euler problems may help give you a structure to develop your fundamentals.
If you dont enjoy doing it in your free time. Don't try to force yourself. You will never succeed. If you are an aspiring entrepreneur then there are still plenty of ways to get involved in the startup scene without being a code monkey. One lesson I learned is that if you enjoy something, you will both do well and want to persevere when the going gets tough.
I don't get excitement and joy from programming: so what? There are moments when I can't get pleasure or joy out of anything I do, like sleeping or eating, but it doesn't mean I should stop doing either of those things.
I'm not interested by entrepreneurship and startups for the moment, for now I'm more into acquiring technical skill.
Even in the workforce, I complete projects in a timely manner with a very meticulous mindset, but they never feel like accomplishments anymore. They are just artifacts.
I think one of my issues is I have swayed from the objects that drew me to computing as a hobby. I loved blackhat hacking, socializing in IRC, and gaming on quakeworld.
I have Google Glass sitting at home on my desk. I installed the toy REST app and sent a few hello worlds to the device. I have a list of domains waiting to be populated with content and apps. I just don't have the passion anymore.
I get a glimpse of it when I get to work on my car. Opening up that terminal just never brings that adrenaline anymore.
Black hat means that you use your knowledge of computer security to commit crimes. If that's the case, it's not a good idea to express such an idea on an account linked to what I can only assume is your actual name.
I suspect, and I hope for your sake, that you are using the term as a way to describe the entire field of network security, which includes White Hats, Grey Hats, and Black Hats.
An engineer has documentation, a reverse engineer is a monkey.
drink your fucken ovaltine clown-faggots.
I hate encryption.
The problem was I actually sucked at programming, something I didn't realize until I started working. Being forced to put your nose to the grindstone and work with large code bases teaches you so much. My first few months were frustration after frustration all of which would have resulted in me abandoning the project if I wasn't stuck at work.
The result was after the co-op I was able to actually progress meaningfully in my hobby projects which resulted in me actually sticking with them.
Join Toastmasters to learn public speaking: http://reports.toastmasters.org/findaclub/
Complete an online course about project management.
I'll most likely need certifications, but my scholarship cannot cover that for now. I'll save up for those once I'm in a taskforce.
I know asking for help when you really need some isn't wrong, but how did older programmers tackle that conceptual "blank page" syndrome, without all that information abundance, when they didn't want to annoy their coworkers?
What you described here makes sense as a software building methodology, but how do you deal with more psychological issues, such as fear and frustration?
Books. And desire. And breaking things down and doing one step at a time. "Information abundance" is a mixed blessing; it makes it much easier to find information, but it makes it a lot easier for people to get out of the habit of working things through.
There's no requirement that you be doing other interesting job-related work while in school. Enjoy that time any way that you find best, as long as you finish strong.
I also tried teaching myself some Django via online tutorials, but I must say web development isn't my cup of tea : One of those tutorials showed how to make a basic blog. I typed all the code by hand step by step. The admin interface shows up, the development server runs without errors, but errors arise in urls.py and the templates. I copypaste the relevant code to check. "Unmatched parenthesis" template error still showing. Googling the error: no relevant matches. I flip the table and ragequit.)
I like to think I have low-frustration tolerance, although I pick high-frustration video games (I'd probably love Dark Souls), but I still want it to develop that skill in case of (to show my portfolio yup, but in my case, said portfolio is pretty much inexistent, and that worries me to have nothing to show to potential employers, especially in the field I aim to work.)