Living With Zombie Software
The budding software developer is excited! She has landed her first programming job.
She’s never done programming for other humans before, but she’s eager to learn! She’s read plenty of books and has a plethora of pet projects under her belt.
She’s developing a website for a small business in her town. Things start off great! But soon, assignments pile up, and her code quality diminishes. After weeks of iteration and developing, her code starts to look like a house of toothpicks.
The website works though, and by the end of the summer she’s back to school.
Oh no! One day after calculus, her old boss calls and says there’s a problem! Time to dig through the pile of conditionals and code carbohydrates to fix a bug. Which will probably break something else.
Our hero feels she has an obligation to keep that code up to date, because it gave her a start. But alas, she must remember that it is a job, after all. She completed the task - and worked hard.
Doing programming work should be a choice.
A year later, she has improved. She looks back on that code when fixing bugs and scolds her past self. She must remember it’s ok, she was a neophyte, coding (probably) alone.
It’s a job, not charity
Our hero’s skills increase, as with her income. But she still feels she owes her old code attention. It owns her. It has come back from the grave of her portfolio to haunt her. It owns her.
Someone must tell her that it is all right to say ‘no’. It is all right to realize that you are worth more now. Either demand more money, or stop working on it.
*Just because you created a monster (it’s probably not that bad) doesn’t mean you have to spend your life trying to tame it. *
Laugh about it
Programming is a learning experience. It is also extremely difficult to write clean, robust, functional code. There is a reason we make solid $$$.
You wrote some shitty code at your first job. It’s not yours, it’s theirs. Pour any guilt you have back into yourself. Improve what you’re writing. And don’t stop.