Here are many testers who aspire to become automation testers using selenium. They pick random websites and create test scripts as per their own understanding.
They are good at programming using Core Java. But working on a well-organized automation project provides more exposure to different frameworks and other aspects of automation testing. By other aspects, I mean taking screenshots, logging, dealing with frames.
What all features a self learning automation QA should implement before he can consider himself good at automation?
I am giving a few examples myself:
Capture screenshots at failure
Handle pop ups
perform read/write operations from files like txt, xls, xlsx, xml etc.