As a former software engineer myself, I have to disagree with many things you say there. A large majority of your post contains stereotypes of the job and computer jobs in general.
[quote name='Icen']
If you speak Hindi
[/quote]
Speaking Hindi? wtf? Not a single person on my team spoke "Hindi", or anything else like it. We all speak English, write in English, and interact with people who understand English. All companies are not outsourced you know.
If you enjoy training your own replacement
Training my own replacement? I'm sorry. I didn't know I could train someone to obtain the vast array of knowledge that I carry. And before you ask, I have both a BS and MS in Computer Science and over 5 years of "real world" experience. That is not something you train someone on.
If you enjoy working overtime for little (or no) pay
I do not know many software engineers that work more than 50 hours a week, if that. Learn how to manage your time and you will get everything done that you need to when asked. If you have to work overtime, big deal. You will likely get comp time or other perks. If you don't get it, quit. True software engineers are in such a demand that it is easy to find a position somewhere else that will give you those benefits.
If you enjoy trying to get your code to fit with unorganized, inefficient code written by the other engineers
Do you even know the difference between a software engineer and a programmer? Work at a real company and see how many software engineers actually write code. Not very many. Engineers design. Programmers code. Software engineers are responsible for the design of software systems. It is very rare that they actually implement said systems unless the company lacks the manpower. Part of being an engineer is the ability to adapt. If you can't do this, then perhaps you shouldn't become a software engineer, or anything else that requires half a brain to do for that matter.
If you enjoy working with foreigners who speak broken English
Again with your stereotypical response. Out of a 10 member team, two of my members were from foreign countries. Most of the time they spoke better English than individuals who learned English as their native language.
If you like the idea of being replaced by an immigrant who got his masters in CS for less than 1/4 of what it cost for you to get your bachelors
What's with you and the whole "immigrant" issue? Do you think that people from India flock to the US just to become software engineers? Hardly. You do realize that companies rarely outsource the DESIGN aspect of software and if they do they surely pay for it later. Quite frankly, if an "immigrant" can come over and do a better job than you, then you deserve to be replaced.
If you enjoy working for a boss who couldn't program if his life depended on it
Since when do Project Managers, IT Managers, CIO's, and everyone of the like need to know how to program? Do you know how the real world works? It is not up to a Project Manager to write code. That is the responsiblity of a software developer. I have had a single handfull of managers that can write code. Are they there to write code? No. They are there to MANAGE people.
If you enjoy having a meeting through your lunch break so the company decides to bring in some sandwiches that look like they were thrown together in 2 seconds
wtf? no comment.
If you enjoy being paid the same amount as the local firemen who never had to go through college
…Or the local window washers for the Stratosphere
…Or the women who pass out the drinks at the casinos
…Or just about anyone else
Firemen make over 90k a year? Sign me up.
If you enjoy working in a ridiculously small cubicle
And to think, I actually enjoyed shutting the door and looking out the window at the passers by.
If you enjoy having to dress by company standards
Does the word "professional" have any meaning to you? If looking good and maintaining a professional appearance is a "problem", then I'd hate to see what you think about people who have to wear uniforms.
If you enjoy having to interview potential employees when you need to be finishing up the project that is due the next day
Again. Do you know what a software engineer does? Do you have any clue at all? Since when do software engineers interview people? While it is true that they may be present during an interview (God knows I have had to sit in on a few...) they are hardly the ones who are having their whole day tied up with it. Again, this is why you have Project managers and IT Managers, etc.
If you enjoy having to constantly learn new things (on your own time and money) because the stuff you learned 25 years ago (before they had CS degrees at many colleges) is obsolete
Oh, I'm sorry. I thought once I obtained a degree that I was done learning for the rest of my life. Stupid me.
I could continue on with this subject, but why waste my time. I still respect your stereotypical opinion, but it seems like you don't have a clue about what it actually means to work in the field as a software engineer, or even as a professional for that matter.