You get a task to add/modify some functionality estimated for an hour. At first, you have no idea how to do it.
What would you do:
* Go through all of the code related to that functionality, learn by yourself what it does and how it works. In this case you spend a day maybe learning the code.
* Ask somebody to explain what you have to do in this task, how things related to that functionality work, what code you can reuse, what code you have to develop from scratch. In this case you spend 20 minutes talking to your colleague and about hour modifying the code in exact places your colleague told you
I was thinking recently that it would be great to work as a freelancer from anywhere on different things every time and don't stick to something for a several years. But I'm afraid I won't be able to find something really challenging and interesting like things I would work on at full-time job in some SV tech startup. By interesting and challenging I mean something with performance challenges, huge amounts of data, distributed systems, scaling and stuff.
Am I right and I should better look for a full time job? Or am I just don't know how and where to find freelance projects?