It's All Upside Down: What I've learned about software development and why it seems opposite to everything I was taught