Actually I will probably go further faster and actually enjoy myself while doing so being an awesome high performance C/C++ developer.
Dead serious. If you're a top-notch developer, getting involved in other fields is silly, it's like a mechanical engineer working at a mechanic's. Remarkable waste of resources. That said, the number of people this really applies to is not a majority, and you'll typically know if you're going to be a "top-notch developer" before entering university, but late bloomers happen.
This is excellent advice (itt I suck atmosfear's dick... again) except the bit about mobile apps: working on mobile operating systems or base applications (i.e. all the included-with-OS applications) is good, but I see the mobile app market as way too dependent on advertising (which is annoying, as a mobile user) or way too dependent on micropayments. Seriously, the apps that make it are few and far between, and it doesn't take a large team to write a successful mobile app (as it does to write a big, successful PC application). Chance for success seems far lower. Also: web startups. If you choose to work at one, be prepared to not have a job in a year. No dependents, no chronic health issues, no long-term debt.
Yes, and I doubt it. Although it'd be more interesting to hear your inevitably-misinformed version, the top of the pole is C and C++ (and related: Obj-C, Pascal, Ada, assemblies, ...). After that, you've got the interpreted subgroups: first VM, then dynamic, and once you've chosen between those, you're really just picking the buzzword of the day. VB became VB.NET and C#, many previously using Java are moving to Groovy or Scala. php will always be the abomination at the bottom, with ecmascript also bringing excruciating pain. Python and Ruby will be there too, but they're generally exempt from this sort of criticism because they're of great use in prototyping and very few people are actually employed using them.
The usual battle-cry is that "you wouldn't write a web application in a traditional, compiled languages, and you obviously need web applications!" Indeed, we do, but the Indians are becoming really good at churning mediocre Java programmers out of their schools for really fucking cheap. And mediocre is good enough for jobs where you're just processing and displaying some data, and inefficiencies can be dealt with by throwing additional iron at the problem. So, unless you're top-10 percent, start considering life in Hyderabad.
I agree with you that the top of the pole is C and C++, but you cannot say that one language as influential as Java is at the bottom. Nearly every major company has switched to, or switching over, to Java. Java (and other web language) developers are in high demand and companies are willing to pay big bucks for any competent developer, even if it's just "processing and displaying some data."
And yes, it is true that in there are a lot of Indians being outsourced or taking away the jobs of many American developers. However, it is quite naive to say that it is just for Java and Web developers, it is for almost every related computer field job.
Honestly, as a software developer I do not prefer any one language over the other. Every language has its benefits (and disadvantages) and are used for different purposes. But if you really want to be successful you have to have the ability to learn new languages quickly and know when/where to apply them, AND write a lot of test to make the "higher ups" happy.
Last edited by Rainmann; 07-10-2011 at 01:41 PM.
Bookmarks