5 ms·
A lot of this is really wonderful advice, though I disagree somewhat on one point. The good stuff first - I completely agree that a developer should look at a
by geebee 12y ago
A lot of this is really wonderful advice, though I disagree somewhat on one point.
The good stuff first - I completely agree that a developer should look at a maintenance project as a learning opportunity. I was lucky enough to get a lot of researchy, green field projects early in my career. But I grew a lot as a developer when I started maintaining, adapting, and modifying an existing code base. My only real caveat here is that it should be a relevant project, ideally an open source project. You'll be introduced to a lot of different developers, and you'll get a really good sense of how to work collaboratively with a lot of different people. There is a huge difference between a project that says "there's an existing open source app - it's reasonably well written, but it needs work and updating, and we need some new features" and "here's stan's old pile of crap, keep it running." The first can be a huge learning experience and great for building a network and career. This is the sort of experience that gets you to a point where you may be able to get new programming jobs without 3 references and several hours at the whiteboard showing how to find a cycle in a linked list. A lot of people know you because they have worked with you, and they know your code because, well, they've reviewed your code and you've reviewed theirs. It really is a way to rise above some of the unpleasantness of our industry.
Now for my disagreement. "Do this job because you love it." I'd be ok if we added the phrase "as the thing you do for money." I don't think you need to love programming so much that you'd do it even if you suddenly had 10 mil in your bank account. That may be an unrealistic standard.