1) You'll likely get better/more response if you prefix your post with "Ask HN: " (lots of folks have triggers for that type of thing)
2) You don't have to be a mathematician to be a good programmer. Tons of great programmers were not comp-sci majors so don't let that sort of thing get you down. If you've done "some basic noodling here and there... in a few languages" and you want to improve as a programmer, I'd advise you to:
- Pick a language
- Pick a pet project
- Buy a few books or take a few online classes that are on your chosen language
- Begin reading the book
- Implement your project while reading the book
- Find some sample apps written in your language and review how they did things differently
- Finish your book and buy another book/class that is specific to your language
- Pick a new pet project and implement it
- Review some open source apps written in your language
- Contribute to some open source apps
At this point you're likely ready to spend a bunch of time reading non-domain specific books but, up until this point, the value you would receive from reading books not directly related to a specific language/task is debatable. Now that you've had some experience, I think this is a great time for books like: * The Pragmatic Programmer
* Code Complete
* Head First Design Patterns
* The Mythical Man-Month
* Design Patterns: Elements of Reusable Object-Oriented Software
(Those are all titles of books BTW)Next up: build a startup!
Notice there are no math books in my list. This is different from what others would propose but, given the scant description you wrote, I don't see any need for math except to satisfy a possible desire to learn.