As far as facts, if you know a lot of facts, you can reason about how changing one fact (eg, "we write this value to this SQL table here, and we are going to stop doing it") allows you to reason about how other facts are affected ("Modules X and Y expect that data to be there").
I wasn't clear on that example. If he's talking about CSV, there's nothing wrong with that (though I wouldn't call JSON "bad"). If he's talking about delimiting text with the bell character, yeah, that's ghastly.
> without context
I feel like most of the examples don't have enough context to make a fair judgement.
If it's just a small amount in one place, simple formats like CSV and JSON can easily be parsed, and especially generated, manually. If they're used all over the codebase, manual parsing would create a huge amount of duplicated code. There just isn't enough context.
From the link: >"6-7 years higher than mine"
Gee.. since when only 6-7 years more experience than a presumably junior engineer is considered to be an old fart?
That makes me feel really old right now :(
You know it, but how do you know the old fart in the article knows it?
I think the question being asked is whether the old fart has wisdom, or is just a mediocre/bad developer who's been around a while.
I think the point of the examples, was to provide context for people to help the asker determine the answer.
tldr, You address the specific examples well, but I think maybe you haven't answered the real question.
nah. depends on context. given a large existing codebase that already has effective communication implemented via special delimiters, recreating that same functionality in JSON really does not make much sense.
....sad though it is to say...
import 'csv'
JSON: go with the more standard JSON, "special delimiters" sounds brittle --> old fart loses
customers: don't solve their problem unless they paid for it or it's very small (<1hr). If it's a good customer they'll understand, bad customer will ask for more and more --> old fart wins
functionality: restrict if it's a headache to support unless it's something everyone else has already has --> tie, old fart and young gun should discuss it
genericness: big warning sign! In my first few years I was always building frameworks, now I solve problems. When the time comes to build a framework you'll know it but it takes many years to develop that wisdom --> old fart wins
To make matters a little harder the old fart seems to naturally have encyclopedic knowledge or was forced to develop it in a day and age of printed manuals (I remember those days and am glad they are gone!) The current generation of programmers has less need for rote memorization but keep in mind that there's some value in encyclopedic knowledge beyond the pure facts. If you know a lot of stuff without having to look it up your brain also becomes better at algorithmic thinking because you have more data to practice on. Sadly, my own memory has never been so great.