The Top 10 Programming Skills That Will Get You Hired

CommanderFrank

Cat Can't Scratch It
Joined
May 9, 2000
Messages
75,400
If you are in the market for a new tech position and want a little inside information on what you may need as far as skill sets go, how much you can expect to start and where the jobs are located, InfoWorld put together a dreaded slideshow, albeit handy and factual, of the 10 skills that are in most demand and all of the particulars.

Adding new programming skills to your IT toolbox is essential in the struggle to stay relevant in the fast-paced tech world, but knowing which technology to choose isn't always obvious.
 
any time i see these lists it just makes me cringe. html, really? please don't misunderstand me, but walk into a job interview and tell them that you only know html - and you want 80k/year. see what happens.

once you understand an object oriented language, such as PHP, python, or C# - you can pretty much easily pick up any of the others within weeks. my salary isn't determined by the fact that I can site down and write JavaScript/HTML/PHP/Python/Ruby/C# - it's that if a new tool comes out next year - I could easily pick it up and use it.
 
The majority of employers could care less about what languages you know; syntax is easy. Proving concepts is what gets you hired. Many high-up professionals I know in the industry complain that graduates don't have basic skills, such as a strong understanding of OO, algorithms, etc. Any idiot can teach himself a programming language in a week.
 
any time i see these lists it just makes me cringe. html, really? please don't misunderstand me, but walk into a job interview and tell them that you only know html - and you want 80k/year. see what happens.

once you understand an object oriented language, such as PHP, python, or C# - you can pretty much easily pick up any of the others within weeks. my salary isn't determined by the fact that I can site down and write JavaScript/HTML/PHP/Python/Ruby/C# - it's that if a new tool comes out next year - I could easily pick it up and use it.

Agree 100%. What a useless list. They basically took the top 10 programming languages, and called it "IT Top 10 Job Skills List".
 
The languages are important to know -- but once you know one or two languages well and have mastered the basic concepts, learning another is a matter of a few weeks at worse.

Of course, bouncing back & forth between languages is guaranteed to give you migraines -- I'm currently supporting one older project in VB6, supporting another project that is based on Keil C on an 8051, having to occasionally revisit some Windows networking C# code for yet another contract, while my primary job right now is writing Linux device drivers under C (ARM platform).

If you want to look for a good skill set to make good money -- learn low-level embedded programming, how to write device drivers, FPGA programming (VHDL, etc), or DSP programming.
 
once you understand an object oriented language, such as PHP, python, or C# - you can pretty much easily pick up any of the others within weeks. my salary isn't determined by the fact that I can site down and write JavaScript/HTML/PHP/Python/Ruby/C# - it's that if a new tool comes out next year - I could easily pick it up and use it.

Which OO is good to being with, PHP, Python or C#?
 
Which OO is good to being with, PHP, Python or C#?

The language doesn't matter as much as the concepts. I would personally shy away from PHP as it's kind of a mess. Python and C# are both good languages, but I'm partial to Python. Java isn't bad to know either, and will definitely pound OO into your head.
 
I'm sorry, I didn't mean to offend :D Just trying to convey a point; I tend to exaggerate a bit :p

Huh, I am not offended :)

I am currently in the process of teaching myself JS and I am having a hard time. It's a bit annoying as all the important concepts seem incredibly unintuitive and overly complex to me. Had a hard time with math in school, too. Damn it. Not being smart and being perfectly aware of it is painful, damn it.
 
While the industry knows better, what I can't stand are friends/family who think its all just "computers". I do network engineering for a living and those same people don't understand why I can't program either. :rolleyes: I got nothing but respect for you guys that code. I was good at math and I could program most likely if I wanted, but I didn't even have the patience for it. Programming, however, isn't the only avenue to take for good money in the technology industry luckily though.
 
Huh, I am not offended :)

I am currently in the process of teaching myself JS and I am having a hard time. It's a bit annoying as all the important concepts seem incredibly unintuitive and overly complex to me. Had a hard time with math in school, too. Damn it. Not being smart and being perfectly aware of it is painful, damn it.

Stick with it. I gave up quite a few times, and I consider myself to be a pretty good programmer now. Unfortunately most of the best lessons I've had have been from sitting for hours pulling my hair out :D
 
Stick with it. I gave up quite a few times, and I consider myself to be a pretty good programmer now. Unfortunately most of the best lessons I've had have been from sitting for hours pulling my hair out :D

This would explain my baldness.

Side note been learning php, found a few good books and doing the w3c tutorials. The damnedest thing is I can read a complete code and understand almost every damn thing, but for the life of me I can write my own code. GRRRRRrrrrrrrr
 
The language doesn't matter as much as the concepts. I would personally shy away from PHP as it's kind of a mess. Python and C# are both good languages, but I'm partial to Python. Java isn't bad to know either, and will definitely pound OO into your head.

OK Phyton and Java it is. What are the best ways to focus on and learn the concepts?

Thanks for your help.
 
OK Phyton and Java it is. What are the best ways to focus on and learn the concepts?

Thanks for your help.

Pick up some books, start reading, and doing. That's the only way you're going to learn. Pour hours into it, and don't quit. If you get stuck, go back and start over until you get unstuck.

I also, for the life of me, don't understand why people dissuade others from learning php. While there is no metric as to what runs the internet, it's widely understood that well over half the websites out there are built on php. The only reason php could be considered a mess is that because it's so popular there is some reallllly bad code out there. However, if you want to learn something that is well-supported, relevant, and easy to find help with - go the php route. fwiw, the core language is obviously solid enough to run Facebook.
 
OK Phyton and Java it is. What are the best ways to focus on and learn the concepts?

Thanks for your help.

Plenty of good books and internet tutorials out there. A few minutes on Google will find you plenty of information :)

I also, for the life of me, don't understand why people dissuade others from learning php. While there is no metric as to what runs the internet, it's widely understood that well over half the websites out there are built on php. The only reason php could be considered a mess is that because it's so popular there is some reallllly bad code out there. However, if you want to learn something that is well-supported, relevant, and easy to find help with - go the php route. fwiw, the core language is obviously solid enough to run Facebook.

I just don't recommend PHP for learning OO concepts. It does not strictly enforce OO principals, therefore I don't find it to be a good learning tool in this case.
 
I learned to program with PHP and OO with Java. Learned C for memory management.
 
I just don't recommend PHP for learning OO concepts. It does not strictly enforce OO principals, therefore I don't find it to be a good learning tool in this case.

php doesn't strictly enforce anything, this includes OO methodology as well - but it's in there, and if you can understand it, likely you'll grasp the OO concepts that are present in more structured languages such as Java and C (if you don't, then you probably don't understand the OO model anyways).
 
PHP is very useful -- and so is C#.

Personally, though, the best place to learn OO techinques is to just start with the basics -- i.e. C++. Once you have mastered C++, it is VERY easy to move to the others -- as Java, C#, PHP, etc. all descend from a C/C++ heritage.

Personally, even though a lot of my code is in C++, there is a lot of C++ I never touch. OO is good for certain tasks, but many of the "true" OO languages can notorious for leading to very complicated program models that are unbelievably difficult to debug (especially when there is a lot of inheritance going on). A well written, modular C program that follows OO design methodology and with very strongly typed statics/externs, etc. is often much more efficient and much easier to debug than a pure C++/C# type application is -- although you have to do more of the work yourself where memory allocation/garbage collection/cleanup is concerned (i.e. there are no constructors, etc.). This also often means smaller, more efficient code -- which often runs much better on low-level embedded processors (which are still used in almost everything) and also on embedded ARM/Linux systems as well. There are reasons that most OS kernels are still written in pure C.

Basically, there is almost nothing that a well written C program can't accomplish as well or better than a C++ program. Based on past project experience working with many engineers, I have seen that C++ and C# code gets to the 90% level MUCH faster than straight C does -- and that it then stalls at the 90-95% level being debugged for longer than the time savings versus straight C usually are.

The other lesson I have learned is that C# under .Net is fantastic at doing about 90% of what you want to do in a complex application -- and the other 10% is virtually impossible without resorting to massive amounts of subclassing or unmanaged code involving direct Win32 API calls.

Of course, a lot of it also depends on what your target and goals are -- i.e. a large application with a complicated UP, a simple web app, or something that involves controlling hardware or low level networking.
 
Stick with it. I gave up quite a few times, and I consider myself to be a pretty good programmer now. Unfortunately most of the best lessons I've had have been from sitting for hours pulling my hair out :D

Thanks :) I used to do scripting 15 years ago but programming is entirely different. Will do my best for a few months as I hate giving up.

This would explain my baldness.

Side note been learning php, found a few good books and doing the w3c tutorials. The damnedest thing is I can read a complete code and understand almost every damn thing, but for the life of me I can write my own code. GRRRRRrrrrrrrr

Same exact problem. Reading is fine, actually coming up with solutions on my own seem pretty damn impossible at times. It gets worse after looking up a solution and comparing it to my approach. I didn't choose the noob life, the noob life chose me... for some twisted reason. Though corporate politics seemed easy, after a certain point I couldn't live with myself anymore.

We require more minerals, so programming it is... for now. I hope you succeed. Wish me patience :D
 
fwiw, the core language is obviously solid enough to run Facebook.
Yes and no. A good deal of Facebook is written in PHP, but none of it goes through a PHP interpreter. It's compiled to byte code and executed in a VM or jitted via HipHop. Prior to that, PHP was translated into C++ and then compiled using a standard C++ tool chain.
 
Personally, though, the best place to learn OO techinques is to just start with the basics -- i.e. C++.
I've never heard anyone refer to C++ as "the basics" before: it's very likely the most complex language in modern usage.
 
That list is, in practice, a shopping list for offshore "talent".

The list should read, "needs to know and provide in addition to.. " DOMAIN KNOWLEDGE!

Without domain knowledge, you're just a "plug-able" resource (machine) which is then quickly swapped out to offshore vendors.
 
All the jobs in this article paid right around 90k. And the majority were in New York. I would like to hear from people that live off of 90k in New York.
 
Pick up some books, start reading, and doing. That's the only way you're going to learn. Pour hours into it, and don't quit. If you get stuck, go back and start over until you get unstuck.

I also, for the life of me, don't understand why people dissuade others from learning php. While there is no metric as to what runs the internet, it's widely understood that well over half the websites out there are built on php. The only reason php could be considered a mess is that because it's so popular there is some reallllly bad code out there. However, if you want to learn something that is well-supported, relevant, and easy to find help with - go the php route. fwiw, the core language is obviously solid enough to run Facebook.

OK thanks. I'm staying on the web development side of things for now before I move onto apps.
Going to set aside some time everyday to learn the basics. I will learn PHP also, but one step at a time.
 
what really surprised me was how little jobs there are.

there's a huge demand for developers right now, not sure where you're at but right now the place I work for is hiring (and several other places I know of).
 
what really surprised me was how little jobs there are.

How FEW jobs???
At least in a lot of areas (like my own), it's more like how few qualified developers are available.

We've had rec's open for over 2 years now that we can't fill with qualified people.

In my own area of the country, the unemployment rate for engineering positions is 0.8% -- yes that is POINT 8 percent NOT 8 percent. The only way around here to get qualified people is to poach them from other companies -- which gets EXPENSIVE.

The problem is that with the unemployment rate that low, the ones who actually ARE unemployed usually are for a reason (often they are incapable or hard to work with).

I've known several companies that have had to hire back retirees at exorbitant rates just to find someone capable of doing the work -- this is ESPECIALLY true for good analog EE's who deal with power circuitry and things like clamping radiated noise emission.

The same is true for good embedded software engineers and people capable of doing direct hardware interfacing -- especially when DSP code, VHDL, or straight assembly is involved (i.e. places where very high speed, low latency code is needed -- like doing large numbers of high accuracy DFT's and FFT's in realtime).

This is why I say learn C++ and C *FIRST*. Once you know them, you can apply what you have learned to all the other languages.
 
Mdburkey Wrote: "This is why I say learn C++ and C *FIRST*. Once you know them, you can apply what you have learned to all the other languages."

Which books would you recommend to learn from? Are some better than others or are they all the same?
Thanks
 
I would say learn java for OO, It drills it in so hard. Python is good and not very difficult to learn either.
 
Mdburkey Wrote: "This is why I say learn C++ and C *FIRST*. Once you know them, you can apply what you have learned to all the other languages."

Which books would you recommend to learn from? Are some better than others or are they all the same?
Thanks

Try this:

http://www.phy.pmf.unizg.hr/~matko/C21/

It looks like it's the same as the book, which I personally have and recommend, if you don't mind things a bit dry :p

I'm not sure about this one, but it's from the same folks I think:
http://introcomp.fisica.edu.uy/biblio/Sams - Teach Yourself C++ in 21 Days, Second Edition.pdf
 
Try this:

http://www.phy.pmf.unizg.hr/~matko/C21/

It looks like it's the same as the book, which I personally have and recommend, if you don't mind things a bit dry :p

I'm not sure about this one, but it's from the same folks I think:
http://introcomp.fisica.edu.uy/biblio/Sams - Teach Yourself C++ in 21 Days, Second Edition.pdf

I try Java everyonce in a while but can't stand it. Not sure why. PHP on the other hand is dead easy and fun. C/Java/PHP are all relatively similar.

Python is really neat, and I had no issue learning it, despite not being familiar with the style of syntax/formatting.

You can't go wrong learning any programming language IMO. Even Javascript (which is also similar to C/Java/PHP) but of course many "programming languages" are technically "Scripting languages" or "Markup languages"... if you wanna get anal about it :p Folks where I work are technically savvy but still consider ANYTHING remotely complicated as "programming", so whatever....
 
You want to make yourself marketable, learn HTML, JavaScript, asp.net, T-SQL, and c#/VB.net. There's still a place for thick clients obviously, but web languages and skills are so pervasive, you can find work anywhere.

Funny side note, our CIO sits on the board of some very, very big players in the tech world. The other day he tells us that companies are so desperate for COBOL programmers, they're paying a fortune right now. Of course, you'd have to pay me a fortune to write COBOL again.
 
You want to make yourself marketable, learn HTML, JavaScript, asp.net, T-SQL, and c#/VB.net. There's still a place for thick clients obviously, but web languages and skills are so pervasive, you can find work anywhere.

Funny side note, our CIO sits on the board of some very, very big players in the tech world. The other day he tells us that companies are so desperate for COBOL programmers, they're paying a fortune right now. Of course, you'd have to pay me a fortune to write COBOL again.

I feel about Fortran the way you feel about COBOL.

As far as your programming advice -- I agree on C# especially (though not particularly on vb.NOT) and on JavaScript. Actually, I'd probably focus on Java itself more than JavaScript -- specifically on Dalvik (i.e. Android).

That said, while web programmers are in some demand, they are the one thing we have been able to find far too many of -- and most of them know very little beyond web programming. So, yes, there is a demand, but there is also more competition -- hence, lower pay most of the time.

The biggest demand (and lack of supply) I see is for good embedded programmers -- which is the glue that holds everything else together and embedded controllers are used across pretty much every industry these days (and will be pretty much from now on). For this, the primary languages are still largely pure C (and still even a smattering of assembly here & there). However, with the advent of cheap embedded controllers like Raspberry Pi, for VERY simple applications even Python is becoming useful. Additionally, a lot of the embedded systems (like the Olimex boards) are beginning to run Android. That said, at it's core Android is still a Linux 2.6 kernel -- and for device drivers and if speed is really needed, you are probably better off to just write for Linux C/C++ to begin with.
 
On the same note as my last post -- for any serious programmer/engineer/tinkerer: go buy a Raspberry Pi or an Olimex OLinuXino.

They are wonderful for tinkering with and learning programming, etc.
 
there's a huge demand for developers right now, not sure where you're at but right now the place I work for is hiring (and several other places I know of).

I'm at the Designer stage and I want to advance to the development side of web programming.
Some of my customers need data management and I lose out on that business, because I can't migrate medical records from their existing site to the one I would design.

I'm missing out on the big money, so I'm going to make that weakness a strength my the end of this year.
Going to start with Java/Javascript, then PHP, Python and SQL. I'm sure everything else should fall into place after that once I get into app development and the various C languages.

Good stuff here. Bookmarked.
 
Back
Top