Massive Investment With Little Return?
There are a million things out there in the world. Are you going to learn/master it all? Here’s how the typical educational program works – a monumental waste of resources in my opinion:
- 12 years in basic secondary and higher ‘education’.
- Another 3-6 years in tetiary ‘education’.
- 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 application of your learning is some contrived hypothetical problem in an exam. 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. (Don’t get me wrong, tertiary education does have some awesome benefits too).
In programming, in the same way:
- Are you going to master HTML, then
- CSS
- Javascript
- React
- The HTTP specs
- TPC/IP
- Data structures and algorithms (Knuth’s four volumes).
- As well as useful tidbits of info like Martin Fowler’s Refactor, or Uncle Bob’s books,
- As well as Ruby, and the rails framework,
- Databases and SQL
- Git
- Ioc containers
- Then Windows desktop programming: Tekla API and AutoCAD .net plugins + Unit testing and mocking frameworks.
…..before you then start programming your world-changing application?
The key is to learn as little as possible. And when I mean little, I mean as little as possible. One day for learning some basics, before starting to write your first rails app etc.
You’ll definitely struggle.
But provided you can quickly resolve those issues, you will have done A LOT without spending too much down time ‘learning’ a lot of useless crap. You’ll win out on time.
Get something half working, and if it has promise, then you can invest further resources into perfecting it. By the time you learn something, you may find that it is obsolete.
Avoid Massive Capital Expenditures If Possible: Get An Expert To Do The Work
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. A fixed price for time. The hard part is finding that expert. That connotes you being able to distinguish between professed experts and those who aren’t – and that in turn requires knowledge of high-level functions. But if you don’t even know the higher level functions of what is going on, and if you don’t know how to procure an expert, then you’re effectively no better than a highly trained chimpanzee.
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).
The basic point being: Everything takes time. Make it work with the least amount of time and resources expended.
Summary
- Time and resources are limited.
- Do the most you can with the least you have.
- If something shows promise, then add some fuel to the fire and let it shine!
Leave a Reply