Programming slowly

As a novice programmer constantly seeking to better myself, I am usually up at 3am pouring through Google search results for debugging help.

Very rarely, next to never, do I just plainly give up on a piece of code before understanding what I did wrong. Even if I have an alternative path to fix my problem, I find it more enjoyable to figure out what I did wrong first.

I know that this kind of programming is very unproductive in a work environment because it is almost impossible to meet deadlines when you have to stop every so often to figure things out.

However, on the other end, I find it really annoying when people give up too easily and seek alternative solutions as soon as they get stuck. Not very DRY in my opinion.

This thought entered my mind because I am reading a debate about monkeypatching. Monkeypatching sounds like an awesome tool, but I can see a great potential for abuse by people who don’t fully understand what they are doing. I would search heaven and earth — maybe even email the library’s creator  — before trying to patch something. I would hate to patch something, only to find out later that the feature already exists, or that I am using it wrong.