In my last three jobs, I was a code maintainer. In all three cases, I was hired after the majority of the code for the project was already written.
I'm a self taught programmer. Before I ever started my first professional job, I had maybe a dozen projects under my belt that I started and shipped successfully.
Writing new code and maintaining existing code are two completely different jobs. Its like comparing an aeronautical engineer with an aircraft mechanic.
It especially sucks when you're an aircraft mechanic working on an airplane that was designed by an engineer who made no attempt to engineer the plane to be in any way logical or easy to maintain.
I'm starting to feel like to be around when the project is first starting out, you have to be one of those special people who has somehow transcended the rest of the people in the computer science field. What does it take to be in that position?
I kind of feel like this question doesn't really have any easy answer, but could anyone give me some insights? Have you ever been on the ground floor of a new project? What did it take to get there?