Time for some yearly hot-sports-opinions about coding…

Tabs are better than spaces. They just are. I said what I said.

Vanilla code is best, frameworks often add unnecessary bulk.

Readable code > clever code.

People, not code, are the most important part of your job.

QA is absolutely necessary and you need non-engineers doing it.

The commodification of AI & ML will increase algorithmic bias; which will increase the marginalization of URMs (UnderRepresented Minorities)

Incremental refactoring is Ok. Perfect is the enemy of Good and steady-progression.

It’s OK for a code base to not be 100% uniform and adhere to best practices and patterns at all times. It’s not OK to be lazy.

Opinions change overall time - and we don’t need a big refactoring effort for every opinion change.

Most software is over-engineered.

The rule on our team is if you need it once, just do it. If you need it twice, standardize the process. If you need it three times, automate it.

As a PM, always saying “that’s a great idea, I’ll add it to the backlog…” will drive your engineers crazy. If there’s iteration room, and it’s low-hanging fruit or minor user-story, maybe let an engineer chase that rabbit-hole for one sprint.