Saturday, January 23, 2021

Software engineering topics I changed my mind on after 6 years in the industry

image

Software development topics I've changed my mind on after 6 years in the industry

Published: 2021-01-23

Things I've changed my mind on:

  • Typed languages are better when you're working on a team of people with various experience levels
  • Standups are actually useful for keeping an eye on the newbies.
  • Sprint retrospectives have their place so long as they're for actual course correction (i.e. "holy shit, that went poorly!") and not some god awful  'agile' / 'scum master' driven waste of everyone's time
  • Software architecture probably matters more than anything else. A shitty implementation of a good abstraction causes no net harm to the code base. A bad abstraction or missing layer causes everything to rot.  
  • Java isn't that terrible of a language.
  • Clever code isn't usually good code. Clarity trumps all other concerns.
  • Bad code can be written in any paradigm
  • So called "best practices" are contextual and not broadly applicable. Blindly following them makes you an idiot
  • Designing scalable systems when you don't need to makes you a bad engineer.
  • Static analysis is useful
  • DRY is about avoiding a specific problem, not an end goal unto itself.
  • In general, RDBMS > NoSql
  • Functional programming is another tool, not a panacea.

Opinions I've picked up along the way

  • YAGNI, SOLID, DRY. In that order.
  • Pencil and paper are the best programming tools and vastly under used
  • Trading purity in exchange for practicality is usually a good call
  • Adding more technology is rarely a good call
  • Talking directly to the customer always reveals more about the problem, in less time, and with higher accuracy
  • The word "scalable" has a mystical and stupefying power over the mind of the software engineer. Its mere utterance can whip them into a depraved frenzy. Grim actions have been justified using this word
  • Despite being called "engineers," most decision are pure cargo-cult with no backing analysis, data, or numbers
  • 90% – maybe 93% – of project managers, could probably disappear tomorrow to either no effect or a net gain in efficiency.
  • After performing over 100 interviews: interviewing is thoroughly broken. I also have no idea how to actually make it better.

Old opinions unchanged:

  • People who stress over code style, linting rules, or other minutia are insane weirdos
  • Code coverage has absolutely nothing to do with code quality
  • Monoliths are pretty good in most circumstances
  • TDD purists are just the worst. Their frail little minds can't process the existence of different workflows.

  We'll see which of these have flipped or changed at year 10.



from Hacker News https://ift.tt/2Y7Snft

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.