I've been freelancing and doing contract work my entire career - nigh on 13 years now. There's a mass of things I could tell you, but I'll try be succinct and tell you what I think will be most valuable. Technology doesn't pay the bills. Clean code, good architecture, solid frameworks - they count far, far less than you wish they did. As developers, we're systems oriented, looking for the ideal approach, the 'right'…
> Technology doesn't pay the bills. [...] Don't lose your idealism about making use of the right tech stack, and where pragmatic, don't miss an opportunity to explain why it's important. [...] generally the guy with the purse strings isn't technical, and is in no position to appraise your use of tech. You know, I've never understood this line of argument. The way I see it, the client is either clever enough to see te…
Too often developers do what we see as 'right' technically, which is not necessarily 'right' for the client / project. It's not something to be 'guilty' of, just something to be aware of. Although there is a balance - I've often fought for things and had them save the client's ass later.
And as for explaining why something is important - because the client should have an appreciation for why they hired _you_, not someone else.