Home > Uncategorized > Signaling cognitive firepower as a software developer

Signaling cognitive firepower as a software developer

Female Peacock mate selection is driven by the number of ‘eyes’ in the tail of the available males; the more the better. Supporting a large fancy tail is biologically expensive for the male and so tail quality is a reliable signal of reproductive fitness.

A university degree used to be a reliable signal of the cognitive firepower of its owner, a quality of interest to employers looking to fill jobs that required such firepower.

Some time ago the UK government expressed the desire for 50% of the population to attend university (when I went to university the figure was around 5%). These days a university degree is a signal of being desperate for a job to start paying off a large debt and having an IQ in the top 50% of the population. Dumbing down is the elephant in the room.

The idea behind shifting the payment of tuition fees from the state to the student, was that as paying customers students would somehow actively ensure that universities taught stuff that was useful for getting a job. In my day lecturers laughed when students asked them about the relevance of the material being taught to working in industry; those that persisted had their motives for attending university questioned. I’m not sure that the material taught these days is anymore relevant to industry than it was in my day, but students don’t get laughed at (at least not to their face) and there is more engagement.

What could universities teach that is useful in industry? For some subjects the possible subject matter can at least be delineated (e.g., becoming a doctor), while for others a good knowledge of what is currently known about how the universe works and a familiarity with some of the maths involved is the most that can sensibly be covered in three years (when the final job of the student is unknown).

Software development related jobs often prize knowledge of the application domain above knowledge that might be learned on a computing degree, e.g., accounting knowledge when developing software for accounting systems, chemistry knowledge when working of chemical engineering software, and so on. Employers don’t want to employ people who are going to spend all their time working on the kind of issues their computing lecturers have taught them to be concerned about.

Despite the hype, computing does not appear to be as popular as other STEM subjects. I don’t see this as a problem.

With universities falling over themselves to award computing degrees to anybody who can pay and is willing to sit around for three years, how can employers separate the wheat from the chaff?

Asking a potential employee to solve a simple coding problem is a remarkably effective filter. By simple, I mean something that can be coded in 10 lines or so (e.g., read in two numbers and print their sum). There is no need to require any knowledge of fancy algorithms, the wheat/chaff division is very sharp.

The secret is to ask them to solve the problem in their head and then speak the code (or, more often than not, say it as the solution is coded in their head, with the usual edits, etc).

  1. June 1, 2017 21:12 | #1

    One of my favourite Dijkstra quotes is perhaps relevant to this topic:

    Why do we teach different disciplines at our Universities? Why don’t we
    teach all our students just “knowledge”? The answer is simple: our
    human skulls are too small and our days are too short.
    — Edsger W. Dijkstra (EWD562, p.1)

    He also said (though I don’t know for sure when or where):

    It is practically impossible to teach good programming style to students
    that have had prior exposure to BASIC: as potential programmers they are
    mentally mutilated beyond hope of regeneration.
    — Edsger W. Dijkstra

    and:

    Object-oriented programming is an exceptionally bad idea which could
    only have originated in California.
    — Edsger W. Dijkstra

    The last two are possibly relevant because both topics (BASIC and OO) have, at one time or another, been emphasized in early college and university courses, often under the guise of them being relevant to future careers in industry.

  2. June 1, 2017 21:24 | #2

    @Greg A. Woods
    Universities did use to teach just “knowledge”, as defined by what gentlemen were supposed to know. Then of course, people are different and enjoy, or are good at, particular kinds of subjects.

    Dijkstra said this about any language he did not approve of.

    OO originated in Norway with Simular 67.

    Dijkstra was a bigot, if he had not existed, the academic/commercial software worlds would probably be getting along together a lot better today.

  1. No trackbacks yet.