Well, truth be told, this may just be satire. This hiring manager sounds a bit too knowledgeable of the keywords (even if many of them are miscategorized) for the sort of dumbbell that is being portrayed here. But then again, maybe not. Maybe not…
I’m not really a programmer, so if I might ask: Is it even that common for programmers to know a lot of language “fluently,” or do they tend to specialize?
I have a geek friend who does programming, and:smack: network engineering, and literally grew up with computers and he can function in something like 14 or 15 different ‘languages’
He programs linux for fun … he and I have very different ideas of fun …
I’m not a skilled programmer, but I know enough about the nature of programming to realize that whoever posted this ad doesn’t know anything about the nature of programming. If a programmer is experienced enough that he can call himself “fluent” in that many languages, then he must necessarily be far beyond the point where familiarity with a language would even matter.
Those who truly understand computer science don’t sit around all day trying out different languages for fun. They just understand at a fundamental level what needs to be done and then work with whatever language best suits their needs, regardless of whether they’re familiar or not. This can be accomplished by beginning with a template or sketch of what the overall structure of the code might look like and then just filling in the gaps.
Cryptic C62 is more or less right, if you are an experienced software engineer, you know the high level concepts, algorithms, design patterns (remember those), and can translate your designs/logic paths/flow charts (remember those) into code using whatever languages are available for you to use. Yes, every dang programming/scripting/macro language has it’s own syntax and quirks (especially the quirks), but you can soon adapt if you understand the underlying concepts.
Hmm, Social Media and no mention of Flash…
Voyager, no this was not April 1st. It was yesterday or today. Unfortunately the ad is now down, possibly killed by the flaggers. If you ask me, they should have voted into Best of Craigslist instead.
Most programmers know at least a handful of languages to one degree or another. Generally, they’ll go through a phase in their late teens or early 20’s where they get really obsessive about learning new languages or operating systems. But after a while, that gets pretty old and you switch to a more “need to know” basis. The high level concepts translate pretty well from one language to another so you just pick up the new language as necessary (usually swearing copiously at the language designers in the process).
Note, though, that the real difficulty with programming nowadays is not knowing a language but knowing the vast array of APIs (application programming interfaces) that come with each operating system. Applications today are graphics intensive, often require network communications, and just generally require a heck of a lot more sophistication than just “hello world”. If you want your application to work and play well on Windows or Linux or OS X or the latest smart phone, then you have to learn a lot of fiddly methods and function calls. And, of course, this set of APIs is a moving target as the operating systems evolves and the technology evolves (e.g. Microsoft’s migration from MFC to .Net). So someone who knows C++ well but has only been programming on a Windows machine would require significant ramp-up time when moving to a new platform like Unix or the Mac.
This depends on how similar the new language is to the ones you know. For example, going from Java to C# is barely a transition; going from C++ to Prolog might well be too much for some programmers to make in a single jump. Heck, going from C++ to Unix shell scripting can be a major transition, if you’re accustomed to fancy IDEs and the idea of object-orientation as your preferred way of thinking.
(In terms of human languages, Java and C# are Catalan and Occitan, whereas C++ and Prolog are French and Quechua. Unix shell is a trade language or lingua franca.)
Programming languages, like human languages, tend to cluster in families with some cross-fertilization between family groups. So, once you know a few languages in a given family adding another from the same family is easy. If you know a few languages from a variety of families, adding another in any of the families you know of is a lot easier than trying to learn a whole new language from a whole new family.
That said, there are an absolute shit-ton of programming languages out there, especially if you lump protocols under the banner of ‘languages’ as the Craigslist dude seems to, so knowing all of them really isn’t an option. Knowing of all of them is barely even possible.
Indeed. I like the way he or she casually tosses in that the candidate must be adept at development on Windows NT (NT??), IBM (whatever that means, maybe OS/400 or whatever it’s called these days), Linux and Solaris. That’s at least three very different environments. Good luck finding someone who’s an expert in all of them.
But I have seen plenty of stuff like this before from recruitment agents. All they really know is that certain acronyms are significant in certain fields.
Windows NT is the only Windows that matters on the desktop these days. It encompasses Windows 2000, XP, 7, and Vista, in addition to, yes, things like NT4 and other dinosaurs. I have no idea about WinCE or other phone-and-tablet OSes from MS.
IBM systems are used a lot in the Real World, along with Cobol and easy listening jazz. Names have changed, though: AS/400 systems, the ‘midrange’ database systems, are iSeries now, and the big iron mainframes, the System/390 (begat of System/370, there was no System/380, begat of System/360), are zSeries.
More similar than different, from what I’ve seen.
True enough.
And that you must have five years’ experience in something that was introduced six months ago.
Real programmers move wires around on circuit boards. (Yes, the first computer that I programmed had circuit boards that you changed in order to change the program on it. I just programmed it on paper tape, however – I wasn’t a “real” programmer.)