Best Practices and Errors to Avoid The Wrong Abstraction Why Senior Devs Write Dumb Code and How to Spot a Junior From A Mile Away