I always thought I had a decent memory, well, besides names – I have very hard time remembering names and also mix similar names all the time. It is funny however how memory plays if amount of issues you’ve got to deal with increases.
When I used to work with my own system it was cool I could remember everything, keep in mind all parts interactions, table names script locations and do this for a long time which meant documentation was not the critical piece. Working with customers at Percona I had to keep more and more systems in mind. It worked fine for the first 10-20 but later I started to mix things or simply forget details how things worked at given customers system. I think this happens to other consultants too – this is just nature of human brain to manage information overload by discarding sum.
What do I learn from it? Well Documentation is Very Important. As many engineers I do not like documenting things too much but I understand it is critically needed as otherwise I would forget things and will have to ask customers again which is not a great service, or figure out loosing the time which is not good ether. I also learned not to chop time too much – it is much more efficient to spend actively working few days with the customer than stretch it for weeks spending half an hour every day. Finally (and this is more for customers than for myself) – if you want consultant to be confident with your systems and to be able to act promptly if problems arise and offer you efficient advice it is best to have periodic work on your systems. It does not really matters what work that is – it could be checking things are in a good order, maintenance etc – any work will keep the information hot in the consultants head and it also will help to notice changes and update docs appropriately.