[Tutor] Minimum Skill Set
Alan Gauld
alan.gauld at yahoo.co.uk
Fri Mar 5 14:27:27 EST 2021
On 05/03/2021 13:50, Torbjörn Svensson Diaz wrote:
> I have a question about computer programming. Some programmers have PhD
> degrees, a full third of US programmers have no degrees and three
> quarters of US programming jobs don't require degrees. So what is the
> minimum skill set needed to perform the easiest programming tasks for a
> programmer or software tester?
The answer to this varies quite a bit and depends on what you mean
by "programmer".
The British Computer Society has a grading system for IT jobs
(the Industry Standard Model or ISM) and it defines programmer
as a relatively low skilled (and low paid) job similar to say
an office clerk or newly qualified tradesman or almost qualified
apprentice. By that they mean someone who writes code that
somebody else has designed down to procedure or function level.
They may have a high school qualification in computing or have
done an IT apprenticeship.
Below that there are those who are not officially programmers
but who spend a lot of time writing code. This includes system
administrators etc (When I say 'below' I do not mean admins are
lower rated than programmers, quite the opposite! Rather I mean
in the sense of formal programming skills and training.)
Next up the ratings comes the systems programmer/analyst. These
usually have a formal qualification in programming and can
create program designs (ie for a single process). They can
take in business requirements and translate them to software
designs. These folks earn around the same as a fully
qualified and experienced tradesman such as a plumber
or electrician. Software testers sit in this area too.
Then comes software engineers. These are folks who can design
large scale systems with multiple processes and complex data
models. Often involving networking etc. This is what the general
public often think of when they think "Programmer" They will usually
have a degree of some kind(not necessarily CS) And they earn similar
money to other professionals such as civil engineers, etc. Software
engineers tend to spend a minority of their time actually writing
code(say 20-40%).
Getting near the top we have architects who define high level system
structures, determine corporate IT strategy and design the very
largest systems. They often have post graduate qualifications and many
years experience. They earn mid-upper management salaries (notice the
significant shift in comparison from engineer to manager!) Architects
typically spend very little time (<10%) writing code, but they may
spend a lot of time reading other peoples(~20%)!
And that's the UK view, and I think similar to much of Europe.
But the approaches in other areas of the world are quite different!
Also, even in the UK it is a somewhat outdated view and may even
have been updated recently (I ended my involvement with BCS back
about 2005) The model I decribed was based largely on the old
Mainframe computing, corporate IT department mentality.
In practice, the layers described above still apply but the lower
ones now include folks working on web sites with very little formal
training, having started on HTML/CSS and copying snippets
of Javascript. They have built their skills but probably
have little if any CS training.
The absolute minimum is: however little you can persuade
someone to employ you! I know of one guy with zero formal
training who is called a programmer in his job title but
still only writes HTML/CSS and copies snippets of Javascript
or asks questions on stack-exchange and copies the answers
into his code, without knowing how they work.
But if you don't want to spend your life (re)writing web front
ends for basic level web sites and have aspirations to develop
full stack applications or work on large systems, or use
state of the art practices you will likely want a qualification
behind you. It doesn't need to be a CS degree. Any form of
STEM course will usually suffice to get you into a job.
After that its more about what you do and the experience
you acquire.
And remember those pay ranges. Being a "programmer" is no
guarantee of high pay. You could be earning the same as a
new qualified hairdresser (without tips) or on a 6 figure
salary. There is a world of difference out there.
Finally, there is another category of programmer who is
a specialist in some field or other. They may spend
their whole life working on a single piece of code.
Or they write highly complex code related to a specialist
topic like astrophysics or weather simulations.
These folks can be earning big money but working like
the tier two guy. And often qualified at PhD level - but
in their specialism not in "programming".
And, as I say, things work very differently in other
places. The only areas I have any experience with
are the USA and India. But I'll let others with
more direct experience comment.
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos
More information about the Tutor
mailing list