From the starting of my software developer career I wanted to be as productive as possible. And the worst feeling I could have, was when I was working on a problem that I have already solved before, and need to refresh my memory to solve it again with applying efforts again.
Most of us (so did I) are quite lazy in applying such patterns. When the problem first occurs we usually do not want to apply patterns that would save us time in future. Until it really hurts 🙂 Then we really start working on solution.
The list of things I was not doing from the start and am sorry about that :
Using browser bookmarks
It really helps to keep already found answers close to you. So you are not obliged to search again for information that already was found. Especially when there is browser bookmark is synchronised within multiple client devices (like in Chrome). When there will be more than *some figure*, you could reorganise your collection of bookmarks into folders etc.
Keep your source code on github
Previously I kept my source code, that I often use in Dropbox. But using github makes it much easier. Things I put on github are for instance: project skeleton of unit tests project with all its packages; or skeleton of reactjs project with all required dependencies. So I do not waste time setup it all over again. I download it from well-known location and start doing valuable things.
Don’t mess around your folder structure
Formerly any file I downloaded I stored in “Downloads” folder. It is obvious that since some time I barely could found any stuff there. That said I want to say that folders structure is important and keeping information in its place is important too.
When I think about getting things fast, I always remember the comparison of searching in array of unordered items and search in search binary tree. Search in sorted binary tree is much faster. The same principle applies to many aspects of the life, including the information organisation.