This is a great point. Something "amazing". That may not be possible to do on your own. But there are some tricks you can apply to achieve that anyway:
1) Do non-amazing things that can build up to amazing things. E.g. help other projects with simple maintenance jobs like triaging tickets, reviewing pull requests, writing docs for things you know, discussing with people in IRC and mailing lists. By this you will learn things automatically that make other tasks later on easier. Another way to build up is to learn simple tools like linux, vim, git, etc better and more indepth. That enables you to handle more complex tasks with less effort and produces value in itself when combined with teaching others. The last example I can think off immediately is pg's doing non-scaling tasks. Really work with people and treat them very individually. Thereby you don't just build a following that can give more impact to what you are doing, you also really learn what other people need.
2) Don't build alone. We programmers hate all these meetings, but truth is, that few people are that good that they can do "amazing" things alone. Usually this is achieved by having a group off slightly above average people, and letting them cooperate. Organize non-meeting things that brings people together, like a lunch with your local docker group. Then use these opportunities to make small progress in complex tasks. Send everybody home with a small thing they need to do that together will be a huge step, but trust everybody to figure out what that thing is by talking not by commanding. Doing that a few times will lead to amazing results automatically.
PS: AFAIK google also doesn't do the friday projects rule anymore.
1) Do non-amazing things that can build up to amazing things. E.g. help other projects with simple maintenance jobs like triaging tickets, reviewing pull requests, writing docs for things you know, discussing with people in IRC and mailing lists. By this you will learn things automatically that make other tasks later on easier. Another way to build up is to learn simple tools like linux, vim, git, etc better and more indepth. That enables you to handle more complex tasks with less effort and produces value in itself when combined with teaching others. The last example I can think off immediately is pg's doing non-scaling tasks. Really work with people and treat them very individually. Thereby you don't just build a following that can give more impact to what you are doing, you also really learn what other people need.
2) Don't build alone. We programmers hate all these meetings, but truth is, that few people are that good that they can do "amazing" things alone. Usually this is achieved by having a group off slightly above average people, and letting them cooperate. Organize non-meeting things that brings people together, like a lunch with your local docker group. Then use these opportunities to make small progress in complex tasks. Send everybody home with a small thing they need to do that together will be a huge step, but trust everybody to figure out what that thing is by talking not by commanding. Doing that a few times will lead to amazing results automatically.
PS: AFAIK google also doesn't do the friday projects rule anymore.