Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Cameron and Tracey Hughes

Dr. Dobb's Bloggers

Exactly How Do You Find Qualified Parallel Programming Professionals?

April 25, 2011

Right off the bat, most of the IT managers that handle the small development support staffs are off the hook regarding fears that have to do with parallel programming. They've got one of the easiest ways out. Just defer the parallel programming requirements to the cloud. Problem solved!

Then there are the army of software-consultant-integrator-developers out there that, when faced with the problems of maximizing multiple cores, will simply bill the client for the latest, greatest, one-size-fits-all-multicore-programming-in-a-box solutions, and inform the customer that everything is running at top efficiency. Problem solved!

Then, there are the poor shmucks whose job it is to make the Cloud go, or who have the mind-altering responsibility of building the one-size-fits-all-multicore-programming-in-a-box solutions, or the guys and gals that are staring down the barrel of some HPC (High Performance Computing) scientist's gun. These boys and girls actually have to do the do. Recently, I was at an organization that actually needed to hire one of these unfortunate types. So my first response was, well, look in the classified ads. See how everybody else advertises for a person with the requisite skill set and copy cat.

Surprise, surprise, surprise — I had no idea what the state of software development job advertising had fallen to. I've been lucky enough to not have to worry about the want-ads for a while. My, my, my, how things have changed. I was stunned to see ads that were looking for software developers whose responsibilities included things like:

  • Responsible for all high level customer interaction and satisfaction;
  • Must be knowledgeable of installing and maintaining large scale networks;
  • Responsible for the installation and maintenance of Corporate DBMS;
  • Responsible for setting and enforcing corporate software security policy;
  • Must know Java, Perl, C++, Grails, Groovy, C#, .NET, PHP, ASP, Javascript, XML, HTML, JSP, Oracle PLSQL, Python;
  • Website development, and maintenance, Youtube and channel content programming, Windows-Enterprise This-N-That, Mobile Programming, App Development, Virus, Spyware, Malware, and Spam removal, Cloud Liason, etc.

Mind you, this list has been paired down a wee bit and paraphrased so as not to cause an outcry from any particular company. But I couldn't imagine adding the myriad tasks involved in designing, developing, installing, and maintaining, software that required serious parallelism to any poor soul that had such a job duty list. What have things come to?

Sure, there were some ads out there that advertised for a software developer, software engineer, or programmer/analyst where the job duties were very much in line with the job title. But on that day, they were few and far between. I don't even know how with a straight face these companies place an ad like this for a single person, not to mention a software developer.

So what can you do if you're looking for someone who understands how to get the most out of instruction-level parallelism and understands compilers, multithreading, thread libraries, mutexes, semaphores, pipes, msgqueues, locking, dead locks, data race, parallel algorithms, parallel data structures, shared memory, vector programming, clustering, massive parallelism, parallel simulation, debugging tracing, documenting parallel systems at the user level, application level, operating system level, and hardware level? Someone who understands all of the various message passing schemes, including MPI, PVM, etc.? Someone who is familiar with languages like Erlang, Parallel C++, Parlog? Someone that knows the latest greatest one-size-fits-all-multicore-programming-in-a-box tools? Someone that is knowledgeable about task-level parallelism and system decomposition; someone that is interested in trying new parallel programming paradigms; or someone who would like to invent new parallel programming paradigms?

How do you advertise for such a person(s)? If we were to add these requirements to some of the want-ads I saw, it would clear the room. Maybe we should use an Android or iPhone app to contact Watson in the cloud to get some direction.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.