Future Articles

These are topics for future articles. Interested in suggesting one here that you would like to see?

Time

  • Slow Programming
  • No time “allowed” for refactoring.
  • Coding defects that are hard to find, usually will be easy to fix.
  • “How long until the defect is fixed?” “5 minutes when I find it”
  • Rewarded more for fixing and creating fast — firefighters.
  • Planned obsolescence in SW–the cause: Fast, Cheap, Good – pick two

Quality

  • What is production ready?
  • Writing tests — engineers not QA engineer.
  • Defects: fixing it is only part of the solution.
  • Defect free code is not possible. Yes it is and it is NOT expensive.
  • Defect free does not mean high quality.
  • Testing can remove all defects. No it can not…
  • Design for quality
  • Design for testing — if you can not test it, then it must be redesigned.
  • With Quality Assurance — “Assurance” is the important part.
  • No time “allowed” for refactoring.
  • Where are the defects in the code? Look for the “knots”
  • Continuous deployment does not mean:

Reuse

  • “Programmers are obsessed with ease rather than simplicity…”
  • Don’t Clone code–make libs
  • Why are libs not backwards compatible?
  • Reusable libs in application code is rare.
  • Using code from other sites and not saving
  • Why the constant renaming or aliasing of variable and parameters?

Culture

  • Engrs need to rant… Good mgrs are not threatened by it.
  • Programmers are humans, not machines.
  • Outsourcing too much. No in-house technical experts.
  • “Programmers are obsessed with ease rather than simplicity…”
  • Programmers are humans, not machines.
  • Why are libs not backwards compatible?
  • Variable naming (e.g. CONSTANTS, scope)
  • xml abandoned for JSON. Digital dark age.
  • New programming languages – what is hot now, README.md – another markup.
  • Eng goals vs. operational goals
  • There used to be talk of elegant or beautiful code–no more.
  • Computers used to be thought of as infallible.
  • NIH — not talked about much anymore
  • Everyone should learn to program.
  • Experience vs. new
  • Why do the “new” programs not really look that new?
  • Backquotes for executing commands in shell scripts have been replaced years ago.

Scale, solid design, Security

  • Creative process… sleep on it…
  • Experience… the rule of 3. Three designs, three languages, three start-ups, three years.
  • Self repair vs. command and control
  • Why don’t engineers use a tool like Nagios for alerting problems.
  • NIH — not talked about much anymore
  • Like spell checking, performance tuning is last
  • Why is try/throw/catch not being used everywhere?
  • Need to use a ssh key in a script? Just remove its password. What!!

Techniques, style, tips

  • Good engineers question the tasks they are assigned
  • Development structured and managed similar to production
  • Directory organization for doc and code
  • Version control schemes
  • engineer-tips.html
  • basic-eng-practices.html
  • Error Handling
  • Leveled diagrams, graphics, tables
  • Merging code — engineers not release engineer.
  • Why can’t I have hyphens in my telephone number?
  • The less you encode into names the better.