<p>I'll take more patents w/more patent lawyers over less patents w/less patent lawyers any day. And my opinion of lawyers can't get much lower.</p>
<p>Lot of variables involved here, so there is no one trustworthy answer. I'll make a wild estimate and say that a "typical" ME, working in a "typical" industry with "typical" responsibilities with "average" job performance and starting to work this year will take anywhere from 9-12 years from now to break $100K. An outstanding individual, who may get better raises every year plus a promotion or two, can probably make it in significantly less time than this. There will be an average pay differential between engineers holding an MS vs. a BS, maybe 10% or so.</p>
<p>About 10 years after graduation. I took the consulting route and made very good money. However, I went back to a regular job for health benefits and stock options.</p>
<p>
[quote]
an oversupply of H1B immigrants cutting wages to entry level rates
[/quote]
</p>
<p>Well, would it really be better if those companies hiring those H1B's were to simply offshore those jobs entirely? Or, probably more commonly, eliminate them entirely through technology? </p>
<p>For example, I know a company that decided to install some high-end financial accounting enterprise software. After it was fully installed and integrated, the company immediately proceeded to lay off most of the accountants and bookkeepers. </p>
<p>
[quote]
My Dad started at 20k after graduation in the early 80's. He hit 100k by 1990. Took a 50% pay cut to work at a startup. When they down-sized he went back to higher pay and hit nearly 300k by 1999. A few months after Sept. 11th he got laid off and has only worked 2 years out of the past 6 at half his old pay. Lost everything in the dot-com bust. Currently unemployed for the last year, most offers are around 60k. The high paying years took a toll on our family with his 100% travel around the country. Our savings exhausted, now we are unable to afford even the most trivial expenses and are deeply in debt.
[/quote]
</p>
<p>Well, not to be overly harsh, but if your father was really making 300k in 1999, and now you can't even afford trivial expenses and are deeply in debt, hey man, I frankly don't have a lot of sympathy for you. After all, the vast majority of Americans will never even make a third of what your father used to make. Yet they're still somehow able to afford "trivial" expenses.</p>
<p>what about aerospace engineering? like in lockheed martin or boeing?</p>
<p>"Computers will get you up there fast." csprof2000 had said so
But is working in compter industries only possible with a CS or computer engineering degree??
How about electronic industries??</p>
<p>There are many different aspects of computers.</p>
<p>Electrical engineering degree can be very useful in the computer industry for more specialized things, such as signal processing and RF. Many of these require PhD's however. Someone has to design next generation wifi technologies (which are then used in computers, etc).</p>
<p>
[quote]
But is working in compter industries only possible with a CS or computer engineering degree
[/quote]
</p>
<p>Nah, of course not. The truth is, you don't really need a CS or engineering degree to enter the computer industry. All you need are practical skills, which you can get through just reading books and writing software programs or configuring/building systems yourself. I know one girl who did precisely this. Her degree was in English, but she spent some time teaching herself software skills (i.e. reading books like Teach Yourself Java in 21 Days and then progressing to more advanced books), then practicing by writing her own programs of ever-greater complexity, then getting hired by a small local software company where through hard work and constant learning, she quickly became one of the best developers in the company. Her salary reached 100k within just a few years. </p>
<p>The truth of the matter is that, CS degree programs (like many other degree programs) force you to learn things that, frankly, you probably don't really need to know. For example, probably only a few hundred developers in the world actually need to know how compilers really work, as they are the only people who actually create compilers. 99% of all developers will never write a single compiler in their lives. Similarly, only a few hundred people in the world actually care about programming language theory (i.e. how to create your own language). 99% of all developers don't care: they will simply develop in whatever language that their employer wants them to use, and they won't care how or why the language works and they certainly won't care about designing another language. Similarly, most of the advanced algorithm and complexity/computation theory is not very useful, as, unless you're going to work for Google or a scientific computing firm, the projects you work on are probably not going to have complex algorithms. Most software jobs simply involve connecting various databases together, or bolting Web/graphical front-ends to information stores, or writing utilities that automate various tasks. You don't really need to know how to write intricate algorithms and solve, what are in effect, math problems. </p>
<p>Furthermore, not only do you not really need a degree in CS/comp engineering, heck, often times, you don't even really need a degree at all. Some of the best developers I know never graduated from college, and a few never even graduated from high school. In fact, I know one guy who was already being offered 6 figure salaries as a high school junior because by that time, he was already a highly skilled developer. Again, it's all a matter of having skills that the market values, which you can get outside of a degree program.</p>
<p>Not true about only a few hundred developers need to know how compilers work.</p>
<p>All low level programmers need to know how compilers work in order to write fast and efficient software. People who deal with microcontrollers, operating systems, device drivers, and, like you said, compilers.</p>
<p>The thing with a CS/CE degree is that it is a gateway. A lot of companies screen based on a degree. So even if you are better than someone with a degree, unless you have a good track record from being in the industry already or have complex programs that you have done for hobby, you will need a degree to get into the industry.</p>
<p>
[quote]
All low level programmers need to know how compilers work in order to write fast and efficient software. People who deal with microcontrollers, operating systems, device drivers, and, like you said, compilers.
[/quote]
</p>
<p>Well, I think you agree with me. You say that low-level programms need to know how compilers work in order to write fast and efficient software. Exactly - so let me put it to you this way: how many developers are actually trying to write fast and efficient software? The fact is, with ever-exponentially-improving hardware, your software these days doesn't really need to be efficient. The microcontroller in my car is more powerful than the supercomputers of the early days. By far the most important characteristic of that software is that it works reliably, and whether it works efficiently or quickly is far down on the list. Honestly, even if the software is working at only 10% efficiency, the hardware is usually so powerful that it hardly matters. </p>
<p>Now, don't get me wrong. Is it nice to know how compilers work? Of course! But do you really need to know it? Frankly, probably not. Again, that knowledge is truly useful only in projects where you are resource-constrained, but not only is that not that many projects, the percentage of those projects is decreasing over time, as hardware advances continue to outstrip software loads.</p>
<p>
[quote]
The thing with a CS/CE degree is that it is a gateway. A lot of companies screen based on a degree. So even if you are better than someone with a degree, unless you have a good track record from being in the industry already or have complex programs that you have done for hobby, you will need a degree to get into the industry.
[/quote]
</p>
<p>Sure, a lot of companies screen based on a degree. Yet the fact is, there are so many companies that hire CS people that there are plenty left over that won't screen you. One of the most attractive elements of the computer industry is the sheer proliferation of startup/small firms, which means that if even many of the companies screen out by degree, that still leaves many others that won't, and all you need to find is just one company who is willing to take a chance on you. Once you've gotten that chance, then it's a matter of building your skills by working on good projects, and that's how you start a career. That's precisely how that girl who I mentioned above got started: found a small company who was willing to take a chance, and then just outworked and outlearned the people there who did have formal CS degrees.</p>