That booming varies where you are in the world. I've seen Java be big in one city and C++ be the thing in Redmond, WA, USA.

So there is no one language to learn. You need the skill to solve problems, design a system and use many languages.

For example my last system used C++, MySQL, HTML, XML as well as some serial port protocols. Then I was on my next project working an old system with plain C. The next month was some legacy VB6.

I don't think you can get by with just this and that today.

And base your career not on "what is hot" but on what you enjoy doing.
Nothing worse than going to the office every morning with a scowl on your face because it's going to be another agonising day of doing something you hate, and repeating that for 40 years.

A course will teach you a specific technology. The knowledge you gain will be out of date soon afetr you finish the course. Whatever is "booming" today will be "boring" in a year or two. Your career will continue for decades.

So rprofit is right. Get as wide a range of experience as you can. As someone who has hired many developers in my time I can tell you that 1 year of good experience was worth more to me than any 3 year course.

Technology is changing at an accelerating pace so an ability to self-educate will be a great asset. However, in the rush to keep pace with the technology, make sure to develop the ability to communicate effectively. No matter what you are asked to do technically, the ability to understand anbd be understood is critical. Typically, when asked "what is the first language I should learn", my response is English.

The Wall Street Journal reports that employers nationwide are having a tough time finding workers who can "communicate clearly, take initiative, problem-solve and get along with co-workers."

Note what item they listed first.

Note what item they listed first.

And note what item they listed last. Surprised at that one. Seems like "communicate clearly" and "get along with co-workers" should be grouped together at the top of the list. What good are good communication skills if you can't get along with anyone? "Team player" isn't listed, but would be in that group too, the overall point being that the days of the genius programmer with tons of quirks and no social skills working independently are gone forever, if they were ever there to begin with, unless you are the boss. Even then, it's going to be hard to retain employees if they can't stand to be around you. You can be the best coder or engineer on the planet, but if no one else can understand your ideas or you can't communicate them or you're so awkward or unpleasant that no one is willing to work with you, you're useless in a team project.

Edited 3 Months Ago by AssertNull: grammar/punctuation

Just because "Get along with co-workers" was listed last does not mean it is not important. It is important because it was on the last. That's like saying if you list the top three surgeons in the country the guy in third is a hack because he was the last on the list.

Agreed. All four are important. Just pointing out that for me personally, "get along with co-workers" would be #1 or maybe #2 on the list, above "take initiative" and "problem solve" and maybe even above "communicate clearly". "Surprised at that one" meant I was surprised that it was not ranked above "take initiative" and "problem-solve", both of which are very important, but not quite deal-breakers for me, whereas someone who can't get along with other people is a deal-breaker for me regardless of what else they bring to the table. YMMV.

Reminds me of a stand-up comic (Jewish) who said that his mother would give him two shirts for his birthday. She'd say, "try them on." He'd pick one at random and the mother would immediately reply, "the other one, you didn't like?"

I like 'em all, I just like "get along with coworkers" more. :). Or more accurately, I dislike people who can't get along worse.

But "communicate clearly" is definitely high on the list. I think this interchange is an example. Pretty sure we don't disagree on that list. ;)