Software Engineering: Puzzles and Dilemmas

Photo by Taras Hrytsak on Unsplash

I am fond of saying that software engineering is all about tradeoffs. You can’t make one program solve every problem, so much of the work is deciding which problems you are going to solve. But that isn’t entirely true. Software design is all about tradeoffs. The actual implementation is less uniform.

Consider a basic API that reads and writes to a database.




Dour, opinionated leader of software engineers.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Up in the mountains: reaching 50K TPS with Neo

Flutter Roadmap-Let’s join Flutter

Building Navigation tree without Graph traversal.

Anchor Navigation Tree

Alone we can do so little; Together we can do so much with “ERPNext”

VSCode: better-comments + todo-tree

MVP to MVVM transformation

10-Year Open Source

Is GraphQL the new REST ?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Matt Schellhas

Matt Schellhas

Dour, opinionated leader of software engineers.

More from Medium

How to Fix Tech’s Mentorship Problem w/ Amex’s VP of Technology, Sarvenaz Myslicki

5 Interview Questions to Assess If the Software Engineer Fits Culturally and Technically

Glue your happy brains together with shared state

Performance Related Flu