Seems like OO is everywhere. What if someone just doesn't grok it beyond a simple level, no matter how many books, workshops, kindly mentors etc they've had? Like some people are tone-deaf and can't carry a tune in a bucket, there seem to be some who just aren't going to carry on within a project based on deep and sophisticated object designs. Yet these are smart people who surely would be of great benefit in some role in some organization.

What types of projects in what industries are largely free from OO, and can be expected to stay that way for the next several years?

My advice would be to become a DBA or do another database related job. There are some new technologies allowing to store complex objects into cells, but I don't think these will be adopted large scale in the foreseeable future.
–
Louis SomersAug 4 '12 at 9:51

Maybe you are overthinking OO. Forget all the OOA / OOD / design patterns / UML blah blah blah. In the end OO programming is about managing dependencies between software components. That is a concern of every programmer working on an application bigger than a couple of thousand lines.
–
kevin clineAug 4 '12 at 19:37

Any industry that uses C is obviously going to be non-OO.
–
user16764Aug 4 '12 at 21:18

5 Answers
5

OO tools could be used to make very unnecessarily complex software that does not provide any realistic value. Some developers think that complicating the simple make their IQ show.

People did that even before OO. I know a guy who wrote an entire application in Assembly in a COBOL shop where no one knew how to do Assembly for no technical reason whatsoever.

On the other hand, some may think that they are doing the right thing by using the full power of the paradigm.

I see that teams in organizations should decide on a level of sophistication that they can all work comfortably with and talk more openly about complexity without feeling inferior when they declare that they are not comfortable with it.

You can create perfect business applications without using fancy OO skills. Very few, if any have to jump the OO ship today.

A professional with Little or no OO knowledge, can participate in different IT activities.
These activities can represent a project on their own or be a part of a project:

Like some people are tone-deaf and can't carry a tune in a bucket, there seem to be some who just aren't going to carry on within a project based on deep and sophisticated object designs. Yet these are smart people who surely would be of great benefit in some role in some organization.

Sure, every organization 'needs' middle managers.

All joking aside, being tone deaf isn't the same as not being able to grok OO. Many of the OO principles (a segment of code should only do one thing, a segment of code shouldn't mix 'levels' of abstraction, limit the scope of visibility to a variable, etc) apply just as readily to imperative or functional programming. They're just good ideas when developing software. If you can't understand the basic good ideas of developing software, you maybe shouldn't be developing software...

Unfortunately, I don't know if that would really work out. A major part of being a programmer is having the ability to adapt to the environment. I can't really see a job interview for someone who fits that description playing out in their favor.

That being said, I would imagine that any organization that develops code with low level languages would be ideal. I have seen telecom projects that have been written mostly, if not all, in C.

If you are smart but don't grep OO, don't work in the software industry as a programmer - OO is de facto standard, in software development, and even if one likes OO or not, it is a must-have-at-least-some-knowledge for any professional programmer. So the obvious solution: choose a completely different industrial line. And if you really want to work in the software industry, choose one of the tasks @Emmad Kareem listed in his very good answer above.