Several studies[1] have concluded that you need to spend at least 10,000 hours doing something to become a top expert. 10,000 hours is equivalent to 5 years of working full-time, but don’t think you can count each work hour as one hour towards this total, since you are much more likely to be forced to work on mundane tasks than when you’re doing this as a hobby. Enrolling in a university without mandatory attendance for 3-5 years without caring about your grades can give you enough spare time to accomplish this. If you don’t already have one, a university degree with poor grades can still be useful for visa purposes, when traveling or emigrating.
Regarding programming specifically, I would do a broad spectrum of “hard” stuff that most programmers avoid, as part of your learning. For example: writing video decoders (H.264 uses several delightfully complex algorithms), transactional databases, implementations of several Internet standards and software for embedded devices.
Finally, I find that it’s easiest to get paid your worth if you work as a freelancer for several companies that have prior experience with outsourcing programming tasks to freelancers.
You can find sources for this by googling “10 000 hours”.
Several studies[1] have concluded that you need to spend at least 10,000 hours doing something to become a top expert. 10,000 hours is equivalent to 5 years of working full-time, but don’t think you can count each work hour as one hour towards this total, since you are much more likely to be forced to work on mundane tasks than when you’re doing this as a hobby. Enrolling in a university without mandatory attendance for 3-5 years without caring about your grades can give you enough spare time to accomplish this. If you don’t already have one, a university degree with poor grades can still be useful for visa purposes, when traveling or emigrating.
Regarding programming specifically, I would do a broad spectrum of “hard” stuff that most programmers avoid, as part of your learning. For example: writing video decoders (H.264 uses several delightfully complex algorithms), transactional databases, implementations of several Internet standards and software for embedded devices.
Finally, I find that it’s easiest to get paid your worth if you work as a freelancer for several companies that have prior experience with outsourcing programming tasks to freelancers.
You can find sources for this by googling “10 000 hours”.