Resource Allocation in Programming (Meta - Programming)

_config.yml

“Time, waits, for nobody!” - Freddie Mercury

There are a million things out there in the world. Are you going to learn it all?

Here’s how the typical educational program works – a monumental waste of resources in my opinion:

  1. 12 years in basic secondary and higher ‘education’.

  2. Another 3-6 years in tetiary ‘education’.

  3. Learning a billion other frameworks

And all the while, you are “learning” things without combining it with any real practical applications whatsoever. In fact, the example is some contrived hypothetical problem. That’s a waste. If you’re going to learn, then you should learn while also producing something useful to mankind: there’s no sense in wasting 3 years on a PhD which has no practical purpose apart from giving you the right to call yourself a PhD.

In the same way:

  1. Are you going to master HTML, then
  2. CSS
  3. Javascript
  4. React
  5. The HTTP specs
  6. TPC/IP
  7. Data structures and algorithms
  8. As well as useful tidbits of info like Martin Fowler’s Refactor, or Uncle Bob’s books,
  9. As well as Ruby, and the rails framework,
  10. Databases and SQL
  11. Git
  12. Ioc containers
  13. Then Windows desktop programming.

before you start writing anything? The key is to learn as little as possible. Because by the time you learn something, you may find that it is obsolete. The opportunity has passed. I recommend spending but one day, before diving straight in there.

  • Key Point: Make bank every step of the journey, not merely at the destination.

When Allocating Resources Exercise Managerial Authority With High Level Expertise from Bird’s Eye Perspective

Even better is to entirely avoid learning the implementation but to focus on learning and understanding the principles of what/why something is working as it is working and to simply outsource the implementation of those details to an expert. Why? Because there is significantly more value in identifying problems and solving them from a high-level overview point of view, than in the actual implementation of a solution to that problem - especially if that is combined with wages.

The hard part is finding that expert. In other words, the common problem in programming (as well as in business) is to find a way to obtain maximum output with the least amount of expended resources (both current and future). If you do hire an expert, then you, as the manager, need to have a very good understanding of the high level functions of what is going on, you needn’t know the specifics in great detail. But if you don’t even know the higher level functions of what is going on, then you’re effectively no better than a highly trained chimpanzee.

  • Be knowledgeable in macro. Hire an expert for the micro.
Written on May 3, 2018