The former is full of grounded-folks who went back for school to get MCSE/Oracle MCSE and dutifully do their work everyday and the latter is full of self-entitled jerks who think their CRUD applications are somehow original because it's in Python/Ruby?
Outsourcing is and has been a reality. Instead of complaining injustices, the market is always right; you just have to adapt.
Or one could say the former is full of Joe Sixpack clock-punchers who spend 50% of the day on ESPN.com whereas the latter are creating the infrastructure for the jobs the IT types will be going to DeVry for in the future.
dude, there are many people that are doing things that are not web related, or simple crud, or a simple iphone app and are more interesting and complex.
Please. Your assumption that if you are a software engineer you are probably just doing some CRUD app, is flatly wrong.
And I agree with Locke1689, anybody that equals IT with actual software (or system) engineering is ignorant of the space.
And I agree with Locke1689, anybody that equals IT with actual software (or system) engineering is ignorant of the space.
IT is a very broad term that can potentially cover most anything primarily related to computing. Rather than arguing what it does or doesn't mean, it's generally preferable to recognize the relevant meaning of the term in context.
Though in this case, he's right, it appears the authors are ignorant about much of the industry and are using the term "IT" to mean traditional corporate "IT departments" responsible for internal infrastructure (pc/email/network)
I disagree; Most software engineering is CRUD. Bioinformatics is CRUD with Biology. Trading systems is CRUD with FIX. High performance computing is CRUD across clusters. Game programming is CRUD with DirectX/OpenGL. Even compiler design and Linux kernel is CRUD, except low-level CRUD with assembly or device-drivers.
Anytime you start doing something novel, you are no longer a software engineer; you are a computational biologist, quant, game designer or computer scientist. It's not about splitting hair but having the domain knowledge in addition to coding skills. (Because let's not kid ourselves, programming is easy) If people insist on elevating themselves, then it's their prerogative. But since the market is right and is programming skills are becoming a commodity, I would rather be rich than popular.
I think you're stretching the meaning of "CRUD" far beyond its useful range. CRUD is a fairly specific term that refers to a database with a user interface. There are a great many applications that are built around this basic idea. Software like the linux kernel superficially resembles a CRUD application, at a high level, and you could identify elements that are like a CRUD application, but most of the hard problems solved by the linux kernel bear little resemblance to the class of web applications called to mind by the term "CRUD."
Fine, I guess I'm referring to computer scientists then. You're playing semantics.
Edit: Actually, there are no CRUD jobs in kernel development. There aren't CRUD jobs in a lot of fields. There aren't any CRUD jobs in database design and development. There aren't any CRUD jobs in compiler design. Any argument to the contrary betrays a fundamental ignorance of what CRUD means[1].
Over-simplify even more and we have a generic verb... Not only software engineering, everything is CRUD!
A baker does CRUD with bread, a surgeon does CRUD with people's organs, a dentist does CRUD with teeth, and a physicist simply does low-level CRUD at an atomic level.
By stating it this way it sounds simple, but you know, the devil is always in the details...
Huh, I don't really feel defensive at all. I simply don't feel the need to justify computer science as a discipline or software development as a profession. I originally came into college as a physics major and am doing theoretical computer science (math) as a depth focus in my major. These are generally thought of as the "hard" fields -- but I don't find any of them harder than computer science. Computer science just doesn't strike me as a field that needs defending. If it were easy there wouldn't be so few good practicing it.
He doe have a pretty straight forward tone and in writing comes off as a little condescending, regardless of that there is one gem in his message that I agree with:
It's not about splitting hair but having the domain knowledge in addition to coding skills.
That one I would have to say is pretty spot on, domain knowledge adds a lot of value to a developer.
As for the it's all CRUD, I think that is a oversimplification at best. Software development can be rolled up into patterns and best practices but to oversimplify it down to it's all CRUD is a little beyond the reality of the duties of the role.
When was I complaining about injustices? I like to think myself a fairly good developer for my experience level and age group and, thus far, employment opportunities have not been scant.
My point was that if you don't actually know how to do anything you probably won't have a job. This is true of both of the examples you put out but not true of the people I'm talking about.
No, the former usually works at a company whose profit doesn't come from software or computers. They usually work on internal-facing systems that other members of the company are forced/required to use to get their work done.
The latter is usually the exact opposite of this.
Disclosure: I am in the former group and really want to be part of the latter group.
a) there has never been a "perfect market" left to its own devices.
b) there can never be one in any pragmatic way.
c) Who measured it scientifically, or proved it abstractly that it is "always right"?
It's more like: "we are used to working and bending to the market, so, we won't question it. Oh, and those other folks in USSR had a terrible fate when they fought the market, so we wont try anything stupid".
Outsourcing is and has been a reality. Instead of complaining injustices, the market is always right; you just have to adapt.