I am seeing, in all the notebooks that I found, that Max Pooling is never used in the first layer of a CNN. Why this? Is it a convention among data scientist to do not use max pooling in the first layer? Or is it an error to use in the first layer?
The purpose of max pooling operation is to decrease the spatial dimensions of the input while also being robust by only considering the maximum values.
Generally, as you might have noticed, most CNNs aim at decreasing the spatial dimension of the input while increasing its depth. Very broadly speaking, you can think of this as trying to encode the information enclosed in the spatial image into channels representing different aspects of the input.
To answer your question, It would not have been an error to max pool the input right away, however, in that case, the input would not have been through enough layers to extract its enclosing information. Having said that, max pooling that early might result in losing spatial information while not gaining anything valuable depthwise.