I've always struggled with math and the sciences. Throughout all my years of education, I've consistently been an A+ student in history, language and the arts. Math and the sciences, however, were always difficult. I felt it'd take me longer than my peers to grasp a concept, and even then found it difficult to retain and apply said concepts to new situations.

I've always had a respect for these subjects, however, and a desire to be "GOOD".

Now, many years later, I've found myself in a position as a web developer. I've done a lot of CSS and JS over the last 5 years and enjoy the balance of creativity and technical thinking. However, I often find my technical solutions aren't as robust, elegant or efficient as my more traditional comp-sci-backgrounded team mates.

A common suggestion is to read specs or dive into lengthy technical books, but if you're a more creative-type person, these can often feel soul draining and not engaging. Often I "can't see the woods for the trees", having a difficult time understanding what is important in a situation because there is just too much detail overload.

How can I get passed this, and learn to think more analytically, more like a programmer? There are so many things I want to make, and so many problems I want to solve, but I feel like I'm constantly digging myself into holes simply because I don't have the same technical forethought and mindset as some of my peers.

To my fellow more lib-arts-minded HN users: How did you get passed this hurdle and become a great developer?