Having to do everything turned out to be a real benefit later on, I was comfortable with such diverse things as communicating with customers, designing UI, identifying and tracking plans, architecture, and other non-programming tasks. With today’s roles unless you are in a startup environment (sometimes not even there) as a programmer you rarely get to do anything but write code. People even joke about programmers doing other things like designing.~ Andrew Wulf from, http://thecodist.com/article/how_many_people_does_it_take_to_write_software
I certainly didn’t do anywhere near everything. (Notably, it doesn’t seem I got very good at communicating via the years of my early experience.) But I agree with the general sentiment. It’s all the peripheral stuff that I had to sort out, figure out, build, do, etc. which I think turned out to be the keys to my later — dare I say it — “success”.