I'd recommend Steve McConnell's Code Complete. While merlyn's Learning Perl got me started in programming, Code Complete turned me from a beginning programmer into a professional (of sorts), even though it generally deals with languages I rarely use. The Pragmatic Programmer is another excellent book... but you've already got that. :)
in reply to How do I become a good programmer?
Also, I've rarely had to come up with algorithms on my own, since there are such nice algorithm books out there.