What technical judgment did you only develop after years of experience? What's a mistake you see younger developers repeat because they haven't lived through the consequences yet?

Let's help out those fresh out of school so they don't have to repeat our mistakes.

Recommended Answers

All 5 Replies

1) If it ain't broke, don't fix it.

The code base we got from Westinghouse back in 1983 was:

  1. Horribly written (never refactored)
  2. Horribly formatted (no whitespace, incorrect or missing indentation)
  3. Poorly named variables and constants

I had to make a minor change to the code in a rarely executed module. I took the time to add a little whitespace to make it more readable (something my boss actually encouraged, at least up to that point). The line I screwed up was a call to an assembler routine which spanned two lines. The first line ended in ",,,," and my change pushed the rightmost "," into column 73.

For those of you who never programmed using punch cards, columns 73-80 were reserved for sequence numbers. In those days some companies had card sorters in case a card deck was dropped. I have never come across anyone who ever sequenced their card decks.

Anyway, compilers were written to ignore columns 73-80 so whenever that routine was called any parameters starting on the second (continued) line were off my one position. Because the code was rarely called it took weeks to track doen the error.

The original change was something minor like changing a constant to allof for an added substation, or something like that. It was such a minor change that no one thought it was worth testing. In any case, testing it would have required spending a great deal of time setting up the rare situation in testing mode (a tedious process).

The above scenario leads into:

2) Test everything, no matter how minor

Best solutions cost too much.

If the problem is solved, move on to other problems.
Anyone that asks for the best solution without sharing how to measure or rank is still learning.

What do you mean by sharing how to measure or rank?

commented: The short answer is "what metric(s) do you use to measure "best"? +17

The short answer is "what metric(s) do you use to measure "best"?

As DaniWeb is my primary business, the only metric that really matters at the end of the day is how much money ends up in my bank account at the end of every given month.

  • The amount of money that ends up in my bank account, my net profit, is based on the difference between how much money is made in advertising minus operating costs.
  • How much money can be made in advertising is based on how much, and the quality of, the traffic that we receive (mainly from Google).
  • How much traffic Google likes to send us can be oversimplified to be largely based on our engagement rate and user time on site.
  • Our site engagement is directly linked to our website performance and the quality of the content.
  • The quality of the content is often measured by how many unique users contribute useful posts each day.
  • Website performance is typically based on CDN and caching mechanisms in place.

All that being said, what do you mean by:

Anyone that asks for the best solution without sharing how to measure or rank is still learning.

commented: The question "What is best solution" is often without how they measure. I can supply best but then there's the dollars for said best. Or time.Time=$$$ +0

So you just mean that if someone asks for the best of something, they should define what they mean by "best"?

commented: And what metrics to use. Again, some ask for best then you supply BEST and they balk on cost or such. I don't expect folk to change here. +17
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.