Here is all you need to know:

void main()
{
  for(i = 0 knowledge; i < infinite knowledge; i++)
    while(you don't know how something works) 
    {
      Read(Your Brain, i);
      Experiment(Your Brain, i);
      Learn(Your Brain, i);
    }
}

It is all a mindset.

My experience as a programmer has taught me a few things about writing software. Here are some things that people might find surprising about writing code: