This is very good advice, even though 95% of the people who hear it will still think they're special and don't need to learn their craft before jumping into cool stuff.
The thing I always remember from reading Feynman's various autobiographical essays -- he would always try to figure out something from first principles.
If you don't know the 'simple, always true' laws of what you're working with, you're going to be afloat on a sea of conjecture and fuzzy thinking.
Oh man... Derek is an interesting guy. He hired me to do encoding and distribution -- both the business and software sides. I did ok with the software (except for ~2006 Ruby GC unknowingly causing me problems), but my business/people skills weren't up to it at the time. The business side was very very difficult though -- it was really difficult to get the retailers to take more music after the initial load.
I've worked on safety critical software, for a couple different companies. Code quality is a very real problem.
One company, the guy in charge of software was a CE, who would have been fine as long as the hardware was at the level of sophistication as what he was taught at school (He knew 8051 microcontrollers really well). He was really good at giant switch-case statements. Function pointers were a little newfangled and suspect.
Basically, he knew enough software engineering to get the hardware working.
That's one big problem that needs to be addressed -- there aren't a lot of people being trained in the software side of embedded systems. You have CS grads who for the most part aren't given much training on the low end of the abstraction spectrum, and the opposite for CE people, so there tends to be a very fuzzy area in the middle that causes arguments between the two camps.
The other company I worked for literally had crazy coding standards that basically dictated 20,000 line functions and a bizarre sort of anti-DRY mindset that I will never understand. You were encouraged to c-c c-v a block of code, change one line, move on!
Some of the break rooms where I work have a computer you can do searches on. There are some Google image searches that just shine like diamonds. Most of them are somehow PBS related for some reason. "Bob Ross" "Fred Rogers" "Ernie and Bert", etc. I started an odd little game of people leaving google image searches on the break room machines.
If you're iterating over all your points calculating distances, you are going about this the wrong way.
(edit) The author could use my handy python quad tree if he so wishes -- https://github.com/Dav3xor/pyquadtree, and if he asks nicely, I could even add support for simple approximation of spherical coordinates.