Despite my constant resolutions to do the opposite, I’ve been MIA from here for another long while. It seems fitting that my first post after the dry spell should be me whining and wallowing in self-pity.

I’m currently attending a vocational school for computer science. I signed up for it because my university classes were not going as well as I had hoped and I didn’t feel like what I was learning was very useful, and because I was very curious about programming and wanted to know more about the inner workings of the computers I used daily.

Skip forward a year and a half to the present day, and I’m constantly frustrated with my continued inability to do anything.

This term, I’m working on a project with a classmate that involves creating multiple webpages with various forms to enter data into a database, and search for it by multiple criteria (think a library having a database of all its books with author, release date, titles and so on, if you need a more concrete example). Our pages look pretty neat, all the input fields work, there’s some validation happening (checking that required information is actually entered, and that the values entered make some degree of sense), and the data makes its way into the database correctly (including special characters like ü or ß). Superficially looking over it and testing some sample inputs might very well lead one to believe everything is coming together nicely, and we got some good grades for it in the midterm.

But at a deeper level it’s just a Frankenstein-like monstrosity, cobbled together from examples provided by the teacher and various online tutorials, bits of code from various frameworks haphazardly strung together in a trial-and-error process, clunky solutions thrown at any occurring issues until one of them stuck. I don’t understand most of what I do. I almost blindly google and copy and paste and test. It’s not plagiarism or even cheating – a lot of coding appears to consist of finding and implementing existing solutions anyway, as long as their creators made them freely available (which a lot of them do), and our teachers encourage it.

And most of what I’ve learned at the school is stuff like that. Copy and paste, parrot back what I heard, just find a pre-existing framework and use the parts you need without understanding the rest of it. Implementing the solutions itself takes at least some understanding – knowing what bit of code to put where, which bits to alter to make them work for your own code – but it’s nowhere near what I’d need to get an idea of why it works the way it works, what else I can do with it, which solutions are most efficient considering the rest of my code or my goals, how to adjust the solution for slightly different problems (or whether that is even possible), and how to shape the whole clusterfuck into a single, smoothly-working entity.

The result is that bits of the code fail, and I have no way of solving it because I don’t even know what exactly fails. An error message appears in the top left corner instead of at the input box it should appear at – why? No idea, it works with other input boxes, the whole thing is copied from a website that doesn’t say anything more about the subject, and of course I have no idea how to fix it, let’s hope the teacher doesn’t try that specific thing and move on. A button should submit a form and also redirect to another webpage on successful submission – how could I do that? No idea, I don’t know how submitting forms even really works, there’s example code I’ve copied and pasted into mine but nothing on what exactly it does. I want multiple input boxes I can put numbers into that automatically alter what numbers I can put into other input boxes based on a sum (think having 100 points to distribute on five boxes), and I sort of feel like maybe that is something Javascript can do, but I don’t actually know, because the thing I want is right at the intersection of HTML, PHP, and maybe Javascript, and I barely know how any of them work and don’t know how to fit them together in the way I want, or whether it’s even actually possible. I tried reading a book on Javascript, but didn’t understand the book, and online tutorials exist for each of these codes, but are not quite helpful on how to make them work together.

I can’t even handle my own computer. There’s a lot of documentation on every detail of Linux, but almost inevitably when I try to research a specific issue, I don’t understand the documentation: every third word seems to be a bit of jargon or reference some other functionality I don’t know yet.

I had hoped to build useful skills that would allow me to work in the field, but just as with the university classes, I’ve pretty much given up on that. I don’t know how I should ever be able to support myself if I’m apparently even unable to learn the skills I’d need to work. Everything I do feels useless and every road I start out on seems to lead nowhere.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s