Re: [opensuse] Re: [SLE] Novell-Microsoft: What They Aren't Telling You



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

M Harris wrote:
On Tuesday 14 November 2006 11:37, Randall R Schulz wrote:
I cannot reconcile what you wrote here with what your wrote in the
previous post: That programs are text and that by writing a program
you've created patentable mechanisms.

Good point... I need to clarify just a bit... the world view has changed
since you and I were in school (some of the other posts were trying to get at
this) and consequently the {MATH - PROGRAMMER} connection is not as distinct
today (if at all) like it was 15 or 20 years ago.

Today there are quite literally thousands of "programmers" that do not
understand mathematics concepts 101 and yet they write profound software text
files. These folks are *not* being educated in mathematics as a theoretical
science; rather, they are being trained with the skills necessary to move
data fields from one business app to the other. Yes, some degree of logic and
at least an ability to count are requirements... but many "programmers" today
are being taught differently than you and I were taught; in my opinion they
are being *trained* instead of being *educated* (and there is a profound
difference).

Well thankfully for most software projects we've moved way beyond the
point where mathematics are related.

While being able to think in logical terms, which is highly related to
mathematics indeed, today's issues are much more about
- - software architecture and design
- using patterns instead of NiH
- MDA is an illusion
- knowing UML is best at a drawing board and not for generating code
- learning approaches like Domain Driven Design or agile methods and
keep what you think is appropriate and matches your organization/
project/coworkers (and not apply it as-is)
- - mastering relational databases
- and that includes ORMs and their illusion of taking all
complexity away from you (which they don't)
- efficient ways of working with transactions, indexes and statements
- - clustering
- distributed caching and synchronization
- - remoting
- optimistic locking on database content
- handling the lack of distributed object identity
- - knowing and using appropriate technologies and standards
- - at least a basic understanding of the underlying concepts
- operating systems
- TCP/IP networking
- multithreading/process communication and locking, etc...

Usually most developers already fail at understanding the very basics.
Frankly, most don't even *really* understand what OO is all about and
how to apply it properly wrt the possibilities of the various languages
(e.g. for Java: use interfaces a lot; composition over inheritance; high
cohesion, low coupling; ...)
(note that I'm saying that in the context of e.g. Java, C# or C++
projects - if you just use C or Perl, understanding OO doesn't really
matter that much)

In my last couple of years at IBM I was beginning to notice this effect;
2002 timeframe. I was frankly appalled at the lack of math and language
skills of new-hires coming into the department. Oh they could copy and tweak
a java script with the best of them, and manipulate a "Lotus Notes Database".
However, they had trouble communicating clearly in writing, and were
seriously deficient in mathematics skills (and I don't mean arithmetic). And

Communication, in a technical sense, is totally understated in IT.
Knowing software patterns, being able to structure your thoughts,
drawings (UML or whatever), documents, etc...
That's just extremely important as soon as you work in a team (which is
almost always the case), but almost all developers fail or lack wrt that.

Planning is similarly important and not understood enough.
But I guess it just has to take you a few years to be able to
realistically evaluate and plan task efforts. It's most probably a
matter of experience and cannot be taught much.

forget completely about trying to code a dual circular linked list of
pointers to template class objects and have very many of them be able to
support it... they just didn't get it. I remember one time trying to get a

I don't know what kind of software you are working on, but... thankfully
for most projects you really don't need to think about stuff like that.
If you use Java, just use what's in the JDK.
If you use C++, just use what's in the STL or Boost.

While I agree that being able to write such stuff properly is important
because if you don't get _that_ right, well... ;)
But I would dump any developer off of my project if he writes something
basic like that that already exists in a library (especially the C++ STL
or the Java JDK).
The NiH antipattern (not invented here) is a terrible thing.

particular department to use my server concept (Linux RH at the time) for
support and mission critical deployment.... and I was told they just couldn't
because they did not posses the required Unix skills! (and we all know what
they meant by that-- they only had M$ windoze development environment skills
or less) Oh don't get me wrong... we had top notch comp sci grads that DID

Sure looks like there is still a lot to gain on the IT job market when
you have high Linux and/or Un*x skills.

have the knowledge... but many did not. The point being that in my view ALL
programmers should have the background---period--- however, that has nothing
to do with whether software text symbols (as text, ascii ebcidic-whatever)
should be considered part of the logic mechanism (patentable), or should be
considered (as my viewpoint holds) only a copyright text source. Most
programmers today are software text authors (or redactors) and not only do
not have the sufficient background (my opinion) but could also care less...
as long as they can pound out the text and their boss is happy with the
delivery dates.

While I somewhat disagree on the mathematics background, I totally agree
with the conclusion.
Guess we have to live with the fact that 50% of all software developers
just plain suck, 40% are OK, 9% are good and 1% are highly skilled
experts. But that's just drawn from my personal experience (and maybe
somewhat exaggerated).

cheers
- --
-o) Pascal Bleser http://linux01.gwdg.de/~pbleser/
/\\ <pascal.bleser@xxxxxxxxx> <guru@xxxxxxxxxxx>
_\_v The more things change, the more they stay insane.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFFWk6Rr3NMWliFcXcRAll+AKCKeK0rC71lLbceD03k/ZvVp9wdlACgnh1P
pTXlUnThk+H/3F0+pRLDE5Y=
=GxXS
-----END PGP SIGNATURE-----
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx



Relevant Pages

  • JAVA PROGRAMMER OPPORTUNTIES FOR JAVA PROFESSIONALS WITH TRINITY
    ... JAVA PROGRAMMER OPPORTUNTIES FOR JAVA PROFESSIONALS WITH TRINITY ... Title: JAVA Programmers/Senior JAVA Programmers ... and experienced software engineers with above skills for various ... Trinity Consultancy Services is a leading source of Information ...
    (comp.lang.java.programmer)
  • Re: Static vs Dynamic
    ... Are you saying that the Java designers have been ... Not a very good advertisement for that language. ... it's easy to miss the bug because the code looks quite correct ... from programmers is a waste of time. ...
    (comp.lang.lisp)
  • OO BASIC or "B++"?
    ... behave functionally like pick basic even if the syntax ... Because Java doesn't allow operator overriding and I ... to have both system programmers *and* application programmers working ... You might say that this looks like any number of "MV functionality in ...
    (comp.databases.pick)
  • Re: casts
    ... This is why most shit programmers refuse to learn languages including ... C Sharp and Java. ... compiler in a later edition of Visual Basic, ... language for processing data. ...
    (comp.lang.c)
  • IBM driving mainframe systems programmers into the ground
    ... this is about reality assessment skills. ... My last mainframe contract petered out in 2003 after shrinking for several ... I could not find another contract or expand the work. ... Another advantage that I have is unlike most "System Programmers", ...
    (bit.listserv.ibm-main)