When I was in college for electrical engineering, I learned to program
objective-C for the Mac and that has now become my full-time job instead
of engineering. The primary reason for pursuing a life of software
development instead of engineering was the community. The developers I
read about like Mike Lee, Daniel Jalkut, Gus Mueller, and so on made me
so very excited to write software for a living. When I had the chance to
meet them in person, along with other developers, I was even more
excited. It was a community, a group of people who gave a shit about
each other.

When you choose to take shortcuts in your freelance projects, consider
the effect on the community. When you whip out that singleton because
it’s quick and easy (and we all know it’s a bad idea), think of the
community. Think of the other developer who has to add features and fix
bugs on the project once you’re done. That poor guy (or gal) has
children to feed, expenses to pay, and needs to take this project to
make the money to take care of that. They have to add features onto that
project full of your shortcuts. They have to pay the technical debt you
acquired to get the job done. Like all clients, the client is hassling
them to get it done as quickly as possible for as little money as
possible.

Your shortcuts have made life harder for that person. That person can’t
afford to tell the client it can’t be done because they have bills to
pay. The client won’t listen when that person says the app needs to be
re-written because of the mess you left bend.

Think of the children when you choose to take those quick, easy,
delicious shortcuts. The children the next guy has to feed by adding
features and fixing bugs in your code. Don’t just try to write better
code for yourself, do it for the community. Sure, no one is perfect, but
do your best to learn how to write things so that you can be nice to
your fellow developers.