Your boss wants it yesterday, but it better be good when judged by the standards of tomorrow. Your customers want every feature they can imagine, but don't you dare confuse them by giving them all the buttons they want. Your fellow programmers want your code documented, but they just respond "tl;dr" to anything you write.
As technology evolves, so too do the dilemmas developers confront. Every choice, from platform to data store to how much control to give your users, is fraught with questions. And thanks to the cloud, the rise of mobile tech, and the hastening cutting edge, it seems as if the programming world faces a new choice -- and dilemma -- at an increasing pace.
Packaging your problems and giving them a name can help you manage them and maybe even find solutions, or so they say. Toward that end, here is a list of the most significant dilemmas facing programmers today. It is by no means complete -- then again, what project related to application development ever is?
Dilemma No. 1: When to say when on feature requests
Dilemma No. 2: How much documentation is enough?
Dilemma No. 3: To the cloud, or not to the cloud?
Dilemma No. 4: Maintain old code, or bring in the new?
Dilemma No. 5: SQL vs. NoSQL
Dilemma No. 6: Go native, or target the mobile Web?
Dilemma No. 7: How much control should users really get?