А зарплата считается очень грубо следующим образом: в твоем резюме 10 технологий, каждая технология стоит 10 тысяч рублей. Что делать, если хочешь получать 150 тысяч рублей? Правильно, освоить еще 5 технологий. Конечно же, мы держим в уме, что количество ваших технологий умножается на мультипликатор опыта и получается более правильная математическая задача. Но посыл и так понятен.К сожалению, не существует никаких тестов на уровень знаний разработчика, что-то типа “пройдите тест и за 30 минут узнайте свой уровень английского языка”. Это грейды, и в каждой компании они свои. Например, если я могу быть уже сениор разработчиком в текущей компании, не факт, что я буду сениор-разработчиком в озоне, скорей всего опущусь на уровень уверенного миддла. А если пойти в еще более крутую компанию типа Google или Amazon, там я могу быть джуниор+. На то, чтоб например, называться миддл-разработчиком, ты должен без помощи посторонних лиц сам полностью закрывать все входящие задачи на разработку, и опыт наверное должен быть 1.5 года и выше. За этот период у тебя и насмотренность чужого кода будет, и уже не будешь вспоминать статические методы (если перевести на русский, то не будешь считать сколько будет 2х2, ты уже знаешь, что 4 и без калькулятора или таблицы умножения), плюс хорошо пополнится собственная база знаний решения определенных алгоритмов, которые делаешь практически каждый день. Хотя опять же, программисту не обязательно помнить все решения, достаточно лишь знать, что конкретно так можно. И пошел в интернет искать реализацию этого решения. По крайней мере у меня такой подход работает: я помню, что так можно, я это где-то видел, но не помню как - всё можно найти.
RxJava - это все же не только многопоточка (хотя и она тоже, разумеется), это больше про реактивный подход. Сравнивать ее с Корутинами - ну такое, тогда уж правильнее с Flow.