Also beware the "if it ain't broke don't fix it" types who always view system design and framework suggestions as general programmer whining and thus not worth investing any time. A lot of times this is true but prolonged adherence to this will leave you with a fairly antiquated technology stack.