Strong knowledge of object-oriented design Knowledge of Java multithreading Knowledge of databases and SQL Experience with building microservices Experience breaking a monolith service into microservices