Еще вариант пойти в ту отрасль разработки, где по определению строгий порядок. Какое-то время работал на проекте SAP Hybris - регламентировано все, вплоть до именования классов и форматирования кода.
1. Middle, Senior, Lord и т.д. - это большая условность. В одной компании можно быть вполне себе сениором, в другой - еле на мидла тянуть.
2. Право называть себя даже мидлом дают не знания, а количество дерьма, которого довелось хлебнуть на реальных проектах.
Роман Денискин, в этом и отличие динамически и статически типизированных языков. Если методу положено принимать строку, туда не впихнешь число без явного преобразования. Оператор if воспринимает только булевы значения, а в Java нет автоматического логического приведения.
Исключения возможны в выражениях вида 1 + "1", где число будет приведено к строке. С оператором "минус" это не прокатит, в отличие от JavaScript.
Похоже, это особенность IDE от JetBrains.