Программист - это инженер, что означает, его способность освоить достаточно быстрой любой язык программирования. Главное - это начать, любой процесс обучения чему-то похож на то как ребенок изучает свой первый язык, сначала "папа", "мама", так же из программированием - по-тихоньку по чуть-чуть и вот сам не заметишь как уже сидишь в офисе, пишешь код и тебе за это платят. Так же и с английскими словами, но в идеале конечно, нужно знать английский просто для того, чтобы в тренде, наиболее свежие и актуальные статьи/новости выходят именно на английском и не все они бывают переведены на русский, хотя всегда можно закинуть это все в ChatGpt, который вполне сносно это все переведет.
Задача программиста - это не просто найти эффективное решение задачи (для этого как раз много ума не нужно), а помимо этого выстроить некий "каркас" т.е. архитектуру, которая упростит работу другим программистам и позволит удешевить процесс дальнейшей разработки. Важно, не просто писать код, а делать его максимально простым и понятным, отличие кода Senior'a от кода Middl'a чаще всего будет не в его эффективности, а именно в его простоте и понятности. Senior не мыслит только в рамках текущей задачи, он мыслит на несколько ходов вперед, нужно думать о команде, о новых разработчиках которые придут работать с этим кодом, о новых задачах, которые будут поступать.