Coding skills

M

Malcolm McLean

Flash Gordon said:
Malcolm McLean wrote, On 17/02/08 18:08:

You said there was no professional body, you were wrong. There are two in
the UK alone, one dedicate to just IT professionals. Just because you and
lots of others are not members does not stop them from existing especially
as lots of people *are* members or one or both of them.
The British Computer Society is not a professional body. That is to say, it
does not control conditions for entry into a profession known as "computer
programming", and it has no powers to prevent anyone from practising as a
computer programmer.
 
C

CBFalconer

Kelsey said:
.... snip ...

Consider two programmers, one of moderate skill, one rather more
advanced, each tasked with doing a similar job. The difference
in the job being that the moderately skilled coder works in an
environment where there are no unrealistic expectations on
shipping dates and the like.

That programmer has the opportunity to sit down, spend the time
up front and really engineer the application, to avoid many bugs.
The other fellow, despite being a technically better programmer,
simply hasn't got the time to do this; he needs to get the code
working now, deal with the bugs as they arise. Which is liable
to produce the less buggy app, and what does that tell you about
the relative skills of the programmers?

I disagree. The better programmer, knowing the sort of errors that
can arise, and not wishing to be troubled by them, will initially
write safer, and thus more bug-free, code. He knows that a
non-working program is pointless, and thus doesn't generate one in
the first place. He ends up producing better results faster.
 
A

aarklon

In practise it is easier to write the specification in code and cut out the programmer entirely. When you come to reduce a specification to code, you'll usually find that it doesn't work. So actually you need some very skilled people on the programming team.


Can you give a real life example for your statement:

When you come to reduce a specification to code, you'll usually find
that it doesn't work

OR

at least can you make it clear what is meant by "reduce a
specification to code"
 
R

Richard Heathfield

Mark McIntyre said:
Interestingly I don't think I've ever meet a single person I was aware
of who was in the BCS,

Neither have I, but I have met a married person who I know is in the BCS.
 
B

Ben Bacarisse

Mark McIntyre said:
Interestingly I don't think I've ever meet a single person I was aware
of who was in the BCS, in 13 years of working in IT in the financial
services sector.

I have met several, but then they made it their job to meet me, so I
suppose it was inevitable.

[For anyone who wants to know, both the BCS and the IEE (not unlike
the IEEE in the US) both wanted to be the "chartering" body for
programmers in the UK and to do that they needed degree courses to be
certified as leading to some part of their official chartered software
engineer status and I was running such a course. I am not sure how
far they have come -- this was at least a decade ago.]
 
I

Ian Collins

Malcolm said:
In practise it is easier to write the specification in code and cut out
the programmer entirely.

When you write the specification in code, you place more value on the
programmer at the expense of others, like those so called "system analysts".
 
D

dj3vande

Malcolm McLean said:



Ha! :)


Converting it correctly and robustly is rather less easy.

I don't know what you're talking about.
Once I have a full and accurate specification for what I want a program
to do, I just feed it to a compiler, and converting it correctly and
robustly is a completely mechanical process.



4) good programmers do have an appalling habit of being truthful (which,
among other things, makes it harder to get interviewed in the first
place);

I've noticed that a lot of people I know have a much higher ratio of
job interviews to job offers than I do.
I've been trying to decide whether this is a Good Thing for most of the
past ten years.


dave
 
F

Flash Gordon

Malcolm McLean wrote, On 17/02/08 22:45:
The British Computer Society is not a professional body.

I suggest you sue the BCS for misleading advertising then, since under
"About us" on their home page they say, "BCS is the leading professional
body for those working in IT."
That is to say,
it does not control conditions for entry into a profession known as
"computer programming", and it has no powers to prevent anyone from
practising as a computer programmer.

If you are going to use your own definitions for terms then you need to
state what definition you are using otherwise no one will know what you
means. So in this case what you intended is true but what you actually
stated is clearly false. Tell me, have you redefined all the terms used
in your field of work as well, such as molecule?
 
B

Bart van Ingen Schenau

Dear all,

I have heard many arguments from s/w engineers(doing appln
programming) having 2-4 years of experience that

1) There is not much deal in coding, anyone can do it, as lots of
source code are available in the net

Hacking together a program from borrowed sources can indeed be done by
anybody.
Programming skils come in when
- you can't use borrowed sources, or
- the borrowed sources do not magically fit together, or
- you need to fix some bugs (or implement changes) in the program.
2) coding only amounts to 30% of the project

That figure actually sounds a bit high for my experience (which is
based on developing embedded consumer systems).
In my experience, designing takes about 40%, coding 20% and testing
another 40% of the total development time.
3) it is all about designing the project done by project lead /
project manager

The project manager usually does not do any technical work at all.
In my opinion, design should be a shared effort, under the direction
of the project architect or lead developer.
4) some even say that computer programming doesn't have much
scientific basis although mathematically it may have some basis

Is there any truth in above statements ?

OR

why coding skills are not given much importance ?

Because their importance does not get recognised. :)

Bart v Ingen Schenau
 
W

William Pursell

When you write the specification in code, you place more value on the
programmer at the expense of others, like those so called "system analysts".

Perhaps I'm misunderstanding some terms here. When you "write
the specification in code", does that mean write the specification
by implementing it? In that case, you haven't cut out the
programmer; you have become the programmer.

If the term "programmer" simply means "person who converts someone
else's design into machine readable form" while doing zero
design themselves, well, that's just horrible. Does anyone
really have such an unenviable task? Sure, I can see spending
maybe a year or two doing that, and even doing that maybe
40% of the time for another few years, but surely no one
can do that full time for long without going insane.

How is it that people are using the term "programmer" in
this thread? I think some definitions are missing. Is
"programmer" a bad word to use on the resume these days?
 
M

Malcolm McLean

Flash Gordon said:
Malcolm McLean wrote, On 17/02/08 22:45:

I suggest you sue the BCS for misleading advertising then, since under
"About us" on their home page they say, "BCS is the leading professional
body for those working in IT."


If you are going to use your own definitions for terms then you need to
state what definition you are using otherwise no one will know what you
means. So in this case what you intended is true but what you actually
stated is clearly false. Tell me, have you redefined all the terms used in
your field of work as well, such as molecule?
The word "professional" is one that is misused so often that it is beginning
to change its meaning.
It means "do for a living", as in "professional cleaner", or "has a good
job" as in "man, 34, professional, GSOH". However the real meaning is that a
professional is a member of a professional body which regulates the conduct
of its members for the protection of the public, under a charter.
For instance structural engineers, but not software engineers, are required
to have a charter before they are allowed to put up buildings. Similarly an
accountant needs a charter before he can sign off a company's books. There's
also a trainee or intermediate stage, normally lasting about five years, and
terminating in professional examinations.

The British Computer Society is using the term professional in a misleading
sense. They do have a charter, but it's a Mickey Mouse one, because they
don't control entry to IT careers.
 
M

Malcolm McLean

William Pursell said:
Perhaps I'm misunderstanding some terms here. When you "write
the specification in code", does that mean write the specification
by implementing it? In that case, you haven't cut out the
programmer; you have become the programmer.

If the term "programmer" simply means "person who converts someone
else's design into machine readable form" while doing zero
design themselves, well, that's just horrible. Does anyone
really have such an unenviable task? Sure, I can see spending
maybe a year or two doing that, and even doing that maybe
40% of the time for another few years, but surely no one
can do that full time for long without going insane.

How is it that people are using the term "programmer" in
this thread? I think some definitions are missing. Is
"programmer" a bad word to use on the resume these days?
The ambition of management is to have an entirely smooth process.

High level management decree that there shall be an IT system to, say,
computerise stock management in the warehouse.
The systems analysts, under middle management, then gather the requirements
for the system, saying exactly what the program s must do, what data they
hold, what outputs they will give, even to the extent of designing mockups
of the stock viewing screens.
The specifications are then handed to the programmers who simply code them.
"We consider programming to be a low-to-medium skill job" is a common boast
you used to hear a few years ago. The spec is so good that coding it up is
purely mechanical.

Not so often will you hear that boast now. The problem is that the systems
analyst phase becomes so detailed that the requirements spec is effectively
a programming language. However it is one that doesn't run, so it doesn't
have the discipline of actually having to work.
That's why IT projects notoriously go over budget.
 
I

Ian Collins

Malcolm said:
The ambition of management is to have an entirely smooth process.

Not so often will you hear that boast now. The problem is that the
systems analyst phase becomes so detailed that the requirements spec is
effectively a programming language. However it is one that doesn't run,
so it doesn't have the discipline of actually having to work.
That's why IT projects notoriously go over budget.
Ah yes, the good old days, or if you are in the UK, current government
IT projects.

Maybe that's why the term "programmer" has become tainted and
"developer" is taking over.
 
F

Flash Gordon

Malcolm McLean wrote, On 18/02/08 11:32:
<snip Malcolm redefining "profession" to exclude engineering disciplines
and the BCS>
The word "professional" is one that is misused so often that it is
beginning to change its meaning.

Yes, and *you* are misusing it. Definitions include:
a calling requiring specialized knowledge and often long and intensive
academic preparation

None of the definitions I can easily find mention your suggestion that
there is a requirement to be a member of a body before you can practice it.
It means "do for a living", as in "professional cleaner", or "has a good
job" as in "man, 34, professional, GSOH". However the real meaning is
that a professional is a member of a professional body which regulates
the conduct of its members for the protection of the public, under a
charter.

The dictionaries disagree with you.

Historically the UK government also disagreed with you. Being a
chartered engineer allowed you to formally whitness documents that
required a professional to witness them. One example was countersigning
a passport application, the rules are relaxed now but explicitly list
membership of the BCS in a professional grade
http://www.ips.gov.uk/passport/apply-countersign.asp
The list was a *lot* shorter when I got my first passport and it was a
member of the IEEE (or maybe the IEE) I had countersign for me.

The British Computer Society is using the term professional in a
misleading sense. They do have a charter, but it's a Mickey Mouse one,
because they don't control entry to IT careers.

Rubbish. They use the term professional in the same way the dictionary
does. Also, just so this is not entirely UK-centric, the Australian
government disagrees as shown here
http://www.accc.gov.au/content/index.phtml/itemId/277772/fromItemId/6193
So does Princeton http://wordnet.princeton.edu/perl/webwn?s=profession

In fact, I have failed to find a dictionary definition that agrees with you.
 
J

John Bode

Dear all,

I have heard many arguments from s/w engineers(doing appln
programming) having 2-4 years of experience that

1) There is not much deal in coding, anyone can do it, as lots of
source code are available in the net

As with everything else in software, the answer is It Depends. It
depends on the project, the implementation language, the aptitude of
the person writing the code, etc. Some tasks are easier than others,
and some people have a greater aptitude for programming than others.
Anyone can learn to write code, but only a small percentage of them
have the aptitude to do it for a living, and a smaller percentage of
them actually do it well.
2) coding only amounts to 30% of the project

Depends on the project. Ideally, the bulk of the work is done in the
analysis and design phases, so that the coding phase goes relatively
quickly and more time can be spent doing thorough unit, integration,
and systems testing. In Real Life, the coding phase tends to be where
you find horrible gaping flaws in the analysis and design, and have to
plug those holes on the fly. Schedules slip, testing is deferred or
curtailed, management gets pissed, and you wind up shipping something
that *probably* works, but nobody really knows for sure. IOW, the
coding phase may initially be planned as 30% of the total project, but
inevitably that percentage creeps (or in some cases, leaps) upwards.
3) it is all about designing the project done by project lead /
project manager

It's all about getting the requirements correct, getting the design
correct, implementing the design correctly, and verifying that the
implementation satisfies the requirements correctly. All phases of
software development are equally important.
4) some even say that computer programming doesn't have much
scientific basis although mathematically it may have some basis

Computer Science *is* a branch of mathematics. However, it's true
that for a lot of day-to-day programming tasks, you don't really need
to know that much about Turing machines and finite automata.
Is there any truth in above statements ?

OR

why coding skills are not given much importance ?

The only people who really understand the demands of programming are
programmers; unfortunately, it's easy for people with little or no
programming experience to underestimate the level of work involved, or
worse, to treat it like an assembly line problem (more bodies == more
coding == more work done in less time, when in reality it doesn't work
like that).
 
J

John Bode

[snip]
This is, IMO, a big problem over at Microsoft, or at least, has been for
years. It's not that they lack skilled coders; they don't. They have
some of the best and brightest. However it appears, at least to an
outsider, that those skills are largely crippled by the application of
too-short release dates and the like: the coders, while themselves often
excellent, simply lack the time to tackle the job in a manner that would
produce fewest bugs, fewest problems. Instead, it's "get the code out
now, we'll fix it in a service pack".

I've never worked for Microsoft, but I did work for a company that
operated exactly that way. Management bonuses were tied to setting
and beating aggressive deadlines, so we were always working in panic
mode. Resource allocation *started* at 100%, so any slippage at all
meant working evenings and weekends, and you could never get caught
up. It got to the point where if the product would install and start
up without crashing immediately, it was shippable. Our battle cry was
"we'll fix it in the field."

I don't work there anymore.
 
S

Serve Laurijssen

CBFalconer said:
I disagree. The better programmer, knowing the sort of errors that
can arise, and not wishing to be troubled by them, will initially
write safer, and thus more bug-free, code. He knows that a
non-working program is pointless, and thus doesn't generate one in
the first place. He ends up producing better results faster.

There are lots of factors involved in determining "good" programmers, like
heathfield said elsethread this is a large terrain. Always writing safe code
can also give you the reputation that you get stuck in details too often.
As I always say, there are no good programmers everybody sucks in one area
or another.
Not documenting, not communicating, writing unmaintainable code, always
late, no good math skills, creates many bugs, lazy, too stubborn....whatever
 
W

William Pursell

There are lots of factors involved in determining "good" programmers, like
heathfield said elsethread this is a large terrain. Always writing safe code
can also give you the reputation that you get stuck in details too often.

Sometimes, complaining that a program segfaults when presented
with unexpected arguments will give you the same reputation. It's all
a matter of degree and environment, unfortunately. When the
predominant
mind set of the organization is to let crond respawn processes that
unexpectedly die, you cannot expect to find much support for
expending effort writing robust code if it adds anything to
development time. Why it is that 100 extra hours of maintenance
is more acceptable than 10 hours of additonal development time
is a mystery...but not for the managers that already got their bonus
and moved on.
 
C

CBFalconer

Malcolm said:
.... snip ...


The ambition of management is to have an entirely smooth process.

High level management decree that there shall be an IT system to,
say, computerise stock management in the warehouse.

The systems analysts, under middle management, then gather the
requirements for the system, saying exactly what the program s
must do, what data they hold, what outputs they will give, even
to the extent of designing mockups of the stock viewing screens.

The specifications are then handed to the programmers who simply
code them. "We consider programming to be a low-to-medium skill
job" is a common boast you used to hear a few years ago. The spec
is so good that coding it up is purely mechanical.

Not so often will you hear that boast now. The problem is that
the systems analyst phase becomes so detailed that the
requirements spec is effectively a programming language. However
it is one that doesn't run, so it doesn't have the discipline of
actually having to work. That's why IT projects notoriously go
over budget.

:) An accurate summary.
 
F

Friedrich Dominicus

4) some even say that computer programming doesn't have much
scientific basis although mathematically it may have some basis
A think I never will forget and for what I now have prejudices
for (universtiy staff) , was while learning developing OR Software at the universtiy. The
stuff sounds like "Programming is trivial".

If programming is that trivial why should there be any bug?
why coding skills are not given much importance ?
Good question, because it's trivial ? ;-(

Still angry thinking back....

have a pleasant "programming day"
Friedrich
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top