Archive for the ‘Life Of A Programmer’ Category

Life of A Programmer — Session 1.2 — Are You A Software Engineer?

October 14, 2019

Are you a software engineer? This sounds like a really stupid question!

How can a person with a college degree in I.T not be a software engineer?

A software engineer is a person who is defined by software engineering.

A software engineer does not just “do it” at work.

So I will repeat my question. Are you a software engineer?

MORE IN THE NEXT MESSAGE

 

 

Advertisements

Life of A Programmer — Session 1.1 — Are You A Software Engineer?

October 7, 2019

Your interest in this seminar tells me that you have programming experience

You probably have a college degree in information technology or related subject.

You may have a software engineering job or are looking for one.

But are you a software engineer?

MORE IN THE NEXT MESSAGE

Life of A Programmer — Session 8.1 — Tools Help Make The Software Engineer

September 10, 2018

With the right development program, you can develop Error
Free Software.

There are some historical examples of this truth.

In the early 1960’s, Fortran was a major computing languages.

The Fortran compiler had a never ending bug list.

PL/1, the next major language, was far more reliable.

I used it at Lockheed for over five years and never encountered
any errors.

PL/I was designed in strict compliance with the principles of
simple precedence.

MORE IN THE NEXT MESSAGE

Life of A Programmer — Session 7.5 — How Do I Become a Quality Assurance Software Engineer

September 3, 2018

RULE 4 — NEVER USE A PATCH TO SOLVE A PROBLEM.

Never patch the program!!!.

A patch is usually a last minute change which is not clearly
thought out.

The product delivery is usually close at hand.

Management is saying “All you have to do is …” (The most
dangerous phrase in the English Language).

The patch will probably violate RULE 1 (The strict use
of standard methods).

None-the-less, avoid the short-cut and you will more likely
find the solution to the problem.

MORE IN THE NEXT MESSAGE

Life of A Programmer — Session 7.4 — How Do I Become a Quality Assurance Software Engineer

August 27, 2018

RULE 3 — USE OLD, WELL-TESTED, OPERATING SYSTEM CAPABILITIES.

Relative to the operating system, use the old, well established
capabilities and minimize your interface.

Think of it in a similar manner as purchasing a new car.
If you purchase a radically new model, you will become an
unwilling member of the test team.

Similarly do not use a pipe if a file will do as well. Files
were developed long before the pipes.

An above all, do not use its multitasking capabilities unless
absolutely necessary. This capability can expose you to many
challenging problems.

MORE IN THE NEXT MESSAGE

Life of A Programmer — Session 7.3 — How Do I Become a Quality Assurance Software Engineer

August 20, 2018

RULE 2 — TEST ALL WORK PRODUCTS.

I was able to “look over NSA’s shoulder” when they were developing
SELINUX (Secure Linux Operating System”.

Their activity can be best described as “programming as usual”.

I asked them about their test plans. They said that they were not
going to test the system. It would be Common Criteria tested when
delivered.

This is not an adequate test plan. Testing all of the work-products
is the only way to thoroughly test the product.

Back in my hardware engineering days, we made test plans which
thoroughly tested each circuit board. Divide and conquer!

SELINUX will fall short of its intended goal. The bad-guys will
find the weak points.

MORE IN THE NEXT MESSAGE

Life of A Programmer — Session 7.2 — How Do I Become a Quality Assurance Software Engineer

August 13, 2018

RULE 1 — RIGOROUSLY USE STANDARD METHODS.

Prepare a minimum set of standard methods that you will use on all your programming effort. Keep them “simple, stupid”.

In the hardware world, the Quality Assurance Manager working with management purchase the set of Integrated Circuits needed to get the job done.

These standard methods are your “Integrated Circuits”.

MORE IN THE NEXT MESSAGE

Life of A Programmer — Session 7.1 — How Do I Become a Quality Assurance Software Engineer

August 6, 2018

To become a Software Engineer with a Quality Assurance
capability, you must implement a basic philosophical change.

Software is not an art form; the computer is not the easel
where you can express your creative juices.

You will become an engineer responsible for providing tools
and services that will affect public safety.

You think not. I beg to disagree.

I was transferring $1000 between my savings and checking
accounts when the ATM went down. It took the bank half a
day to find my money.

You ask, what do I need to do in order to improve my quality
and be more indispensable to my employer.

RULE 1 — RIGOROUSLY USE STANDARD METHODS.

RULE 2 — TEST ALL WORK PRODUCTS.

RULE 3 — USE OLD, WELL-TESTED, OPERATING SYSTEM CAPABILITIES.

RULE 4 — NEVER USE A PATCH TO SOLVE A PROBLEM.

MORE IN THE NEXT MESSAGE

Life of A Programmer — Session 6.3 — What should a Quality Assurance Software Engineer Know.

July 30, 2018

SOFTWARE ERROR SOURCE 2: THE OPERATING SYSTEM.

The operating system is the silent partner in all software
development activities.

The operating system, also having been developed by human
beings, will also have errors.

Most of the errors will have already been discovered.

The ones that have not been discovered will, in general,
be difficult to fix.

You, as the user, will have no control over that repair
process.

Consequently, you may end up with a difficult task of
working around a system error that was discovered on your
watch.

MORE IN THE NEXT MESSAGE

Life of A Programmer — Session 6.2 — What should a Quality Assurance Software Engineer Know.

July 23, 2018

SOFTWARE ERROR SOURCE 1: THE SOFTWARE DEVELOPMENT ENGINEER.

All Software Development Engineers are human beings, not little
green-guys from Mars

All human beings, including Software Development Engineers make
errors.

Software errors created by Junior Programmers are discovered early
and easily fixed.

Errors created by Senior Programmers take a long time to surface
and are usually hard to fix.

You have probably already had to solve a very difficult problem
on a project that you completed a year ago

MORE IN THE NEXT MESSAGE