Java is used in enterprise domains such as banking and telecom. In vacancies for Java Software Engineers, companies often require experience with performance issues, concurrency issues, scalability, maintainability, and availability.
I have encountered a problem: it is difficult to choose a pet project. On one hand, I cannot build a new bank-level system. On the other hand, if I choose a simple project, I will not encounter performance issues or similar challenges.
So I think I should create a playground instead of a complete project — a set of projects focused on specific cases and engineering problems. The problem is that this is not an end-to-end project. (not shippable product) You cannot really ship such a project.
What is your opinion?
What do I have to do to become a Senior Java Developer and get a remote job?