- Учите английский. Хорошие клиенты не готовы ради вас изучать русский, украинский, китайский, латынь и пр.
- Расставляйте приоритеты. Будьте определённее.
- Не ждите вечность: если долго не получается что-то решить, у вас есть ментор, сторонние профессионалы, официальные форумы, книги, видео на YouTube в конце концов.
- Прочитайте хотя бы clean code прежде чем работать с другими людьми.
- Самообразование никто не отменял. Курсы, книги, менторство.
- Исследуйте (иметь навыки quality researching немаловажно). Предже чем написать очередной велосипед посмотрите нет ли уже того, что вам нужно.
- Не упирайтесь своим ЭГО в то, что вам говорят. Нужно рассматривать не только свою позицию, а и позицию другого дева. Ваше ЭГО спрячьте поглубже и рассматривайте все варианты, а не только свой. Ваш вариант может быть чертовски ужасным как на уровне архитектуры, так и на уровне реализации.
- Практикуйтесь, но и не забывайте о теории. Одно без другого не даст вам того баланса, который нужен чтобы выжить на большом проекте. Вы можете круто писать код, но оставаться на уровне middle-, потому что всё что у вас будет - это опыт в написании кода. Кроме того, вы не изучите базовые принципы на уровне практики. Если вы будете знать только теорию и никогда не пишете код, то не сможете выполнять задачи даже как джун. Должно быть как одно, так и другое.
- Изучайте базовые концепции. Если вы будете знать что-то в общем, (например concurrency), то будете убивать много зайцев одним выстрелом. Эти знания + документация дадут возможность быстро изучать новые технологии и абстрагироваться под разные ЯП, под капотом которых лежат эти же концепции.
- Умейте решать задачи. Нужно уметь решать что угодно. Иногда даже приходиться решать как угодно. Не нужно бояться марать руки и переступать через принципы и правила. Исключения случаются и они не должны нас стопорить. Да, это может быть "грязным" решением, но если система не поддается изменению (нет достаточно знаний, не хватает людей, не хватает денег, отказ заказчика от переписывания системы с нуля), то вам придётся марать руки.
- Читайте чужой код. Смотрите в логи. Одним словом: читайте. Так уйдёт меньше времени на исправление бага/ошибки.
- Аргументируйте ваши решения. Умейте объяснить.
- Изучайте внеурочно что-то своё. Пишите полезные pet-проекты, которые кому-то нужны. Это могут быть ваши друзья, родные, вы в конце концов. Развивайтесь, иначе отстанете и со временем не будете полезным нигде.
- Отдыхайте. О выгорании не просто так читают много лекций.
- Придерживайтесь конвенций: это касается как общих конвенций, например по синтаксису ЯП, БД и т.д., так и конвенций на проекте.
- Не расстраивайтесь если что-то не получается. Поверьте, у senior-девов тоже бывают плохие дни. К тому же, никто не отменял переключение на другие задачи.
Часто всё зависит от величины проекта, а также от того, правильно ли настроены процессы ведения проекта.