Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

My experience with programming came from a field, computational linguistics, where there LOTS of unsolved problems (computationally modeling natural language, or having effective statistical approximations). This is not an exception: many other fields (like computational biology) have big unsolved problems, and promising breakthroughs. Yet, most of the programming that is done (and most of the money made from it) seem to be in areas like Enterprise Resource Planning, Client Relation Management..etc. Companies seem to be able to churn out new versions of such software and make more money year after year, and clients keep spending money upgrading to newer versions..etc. So, as an outsider to that world, I am wondering: What are the great advancements spurring this growth? Were there some grand challenges that got solved or are getting solved?


migration rejected from stackoverflow.com Oct 15 '13 at 11:19

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as primarily opinion-based by gnat, GlenH7, MichaelT, Kilian Foth, jmo21 Oct 15 '13 at 11:19

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

The permanent challenge in enterprise is to keep their programmers from hanging themselves out of endless boredom... –  user8685 Feb 20 '11 at 17:08

3 Answers 3

up vote 6 down vote accepted


Unfortunately if you are talking about computational problems alone, then the enterprise world is certainly not a hotbed of either research or discovery, though certain enterprise applications have more than others. That's mainly the ground of computer science, and you don't see many enterprise job-postings for "Computer Scientist", do you?

However, I'm not sure if you've noticed this but most of the software created for the enterprise over the past 15-20 years (roughly the time period for software which is still in use) is shockingly unusable. Employees and customers alike either:

  • Are forced to use them and waste much time
  • Don't use it and grow frustrated that seemingly simple data is unable to be accessed easily
  • Don't use it and miss the benefits of manual workplace processes becoming automated

I have to strongly disagree with the other answer, and say that many programmers, software engineers (myself included), and possibly even some computer scientists, find the opportunity to improve this situation to be vastly rewarding, and also very interesting.

Just a few of the problems to be solved to make software more usable:

  • Better architecture to separate data model from presentation so that user experience experts can design the application without concern for the data model
  • Designing high-performing solutions so hugely varied datasets can be displayed to vast amounts of users in an instant (think Facebook)
  • Distributed systems for both scale and performance
  • User interface expertise so that new and better human-computer interactions can be easily and consistently deployed across a wide variety of applications (think iPhone)
  • Even in the web, there are so many poor practices that a good user-interface programmer can think about the details and take advantage of methods that have not been utilized well before (jQuery and other advances).

Computational linguistics is certainly a different class of problems than these. The world of enterprise software is much more of an engineering practice - as said by Stephen C in What discipline does Computer Science belong to?, "the desired outcome of a engineering discipline is things that work."

Unfortunately I don't think any of those qualify as "breakthroughs in the enterprise programming field". They're all existing techniques which just aren't being taken advantage of. None of the uninterested consultants involved have gotten around to that yet. Maybe in 30 years... –  Matti Virkkunen Feb 20 '11 at 18:51
@Matti Virkkunen - That's thinking like a computer scientist. I didn't say these problems haven't been addressed by someone, somewhere. In the enterprise field, software engineers must find out how to solve and implement these problems within the context of their own environment. But, it's probably a lost cause to hope for Comp. Scientists, or other scientists, to look at an engineering discipline with any degree of appreciation. –  NickC Feb 20 '11 at 19:17

The hardest thing to do in enterprise programming is to scale linearly when exhausting a given resource.

Common resource painpoints are:

  • CPU cycles in a computer.
  • Database I/O
  • Network bandwidth both internally and externally

Voice recognition is an unsolved challenge (on Enterprise, yes, companies are dying to get a fancy voice-controlled products, like in Star Trek Enterprise :))

Voice recognition is a core Computational Linguistics research areas. It certainly does not fit with ERP, CRM, etc. –  Anas Elghafari Feb 20 '11 at 17:13

Not the answer you're looking for? Browse other questions tagged or ask your own question.