I no longer know anything. I have ceased to hold knowledge in my brain for long periods. Effectively my mind has become an array of pointers to actual information sources powered by a sophisticated search and retrieval system.
What has caused this complete emptying of retained knowledge? The internet.
It is now easier and more reliable for me to look up solutions to problems than to work them out for myself. A quick search with the correct key words or phrases and I’ll have the answer to my question in minutes. When presented with a bug, unless it is something very obvious, the error is copied and pasted into Google, in quotation marks with msdn added to the end. A few seconds later I’ll be staring at the answer to the issue.
Is this bad? Yes! I’ve stopped understanding at a level that I would like the issues affecting my code. I can find an answer, work through the steps to fix the problem, get the code running again and forget about it, without truly understanding what I have just done. In the long term this can’t be good for the quality of code.
Is there a solution? Yes! I work on a couple of applications on the way home on the train each evening. Its a thirty minute window with no internet access. If I come across a problem I need to fix it by working through the issues. If I don’t know how to do something off the top of my head I need to check out what the .NET framework will let me do and what methods are available. Occasionally I will need to look something up, which I can do when I get home, preferably in a book, but once or twice I’ve taken to the internet for answers.
By trying to limit my internet use I have found that I have a much more complete understanding of the solutions I am building on the train, which in turn means I am fixing bugs faster, and stopping them occurring in the first place more often.
If you are finding you are using the internet as your default bug fixing tool perhaps it might be worth having a “no internet answers” day or try programming and application or a module without referring to the internet for your answers. If it is overly frustrating at first then you know that you are relying heavily on other people to solve your problems.