Pretty much everything I'd say is covered in this thread.
I'd also like to add that being a generic programmer is fine out of college, I'd recommend trying many different fields of programming to see what you want to specialize in. There's hugely diverse fields that all need talented programmers to get shit done whether it's database, web, user interface, embedded work etc, along with different industries like finance, medical, automotive, robotics etc. It's impossible to not have any experience in anything and decide what is best for you, so I'd recommend trying out a bunch of stuff.
I'd also like to add that being a generic programmer is fine out of college, I'd recommend trying many different fields of programming to see what you want to specialize in. There's hugely diverse fields that all need talented programmers to get shit done whether it's database, web, user interface, embedded work etc, along with different industries like finance, medical, automotive, robotics etc. It's impossible to not have any experience in anything and decide what is best for you, so I'd recommend trying out a bunch of stuff.