День 1605. #Карьера
9 Ментальных Моделей Сеньора, Которыми Должен Овладеть Каждый
Сеньор — это не звание, а способ мышления. Большинство руководств и курсов сосредоточены на том, чтобы научить вас новейшим фреймворкам, а не научить вас мыслить. Вот 9 ментальных моделей, которые помогут вам мыслить, как сеньор.
1. Принцип Парето: 20% усилий дадут 80% результатов. 20% вашей работы дадут вам 80% навыков. 20% ПО, над которым вы будете работать, обеспечат вам 80% признания. И т.д. Определите и сосредоточьте свои усилия на 20%, которые окупаются.
2. Закон Паркинсона: вы потратите всё время, которое выделите себе, независимо от того, сколько времени реально требуется. Выделив 100 часов на побочный проект, вы потратите 100 часов. Даже если его можно было сделать за 10. Нужны твёрдые сроки, иначе вы никогда не закончите.
3. Решения "с односторонней и двусторонней дверью": первые необратимы, так что не торопитесь, вторые можно легко отменить, поэтому избегайте оверинжиниринга. SQL и NoSQL база — решение первого типа. А выбор между for, foreach и LINQ можно легко изменить. Выбор фреймворка для изучения обратим – всегда можно переключиться на другой. А выбор между остаться разработчиком или стать техническим менеджером, обычно сложно откатить назад, т.к. непросто сохранить технические навыки на управленческой должности.
4. Закон Конвея: структура ПО будет имитировать структуру команд и организации, которые его создают. Команды разработчиков строятся вокруг технических навыков членов: frontend- и backend-инженеры, администраторы БД и специалисты по DevOps. ПО, которое они создают, будет отражать структуру их коммуникации. Обратите внимание на то, как команды общаются и организуются. Структура и качество ПО, которое они производят, будут такими же.
5. Круг Компетенции: знать, что вы знаете, а что нет, и придерживаться того, что вы знаете, пока круг не расширится. Лишь немногие разработчики понимают круг своей компетенции и работают над его улучшением. Большинство отвлекаются на новые фреймворки, перескакивают с одного дела на другое и превращают набор своих навыков в бессвязную кучу. Определите свой круг компетенции, оставайтесь в нём и неустанно работайте над его расширением!
6. Рассуждение от основ: чтобы глубоко понять что-то, надо разбить это на основополагающие элементы и рассуждать на этом уровне. В эпоху новых фреймворков и библиотек, разработчики, которым удаётся понять принципы, лежащие в их основе, могут с лёгкостью ориентироваться во всём этом хаосе.
7. Мышление второго порядка: всегда думайте о последствиях. Вы довольны своей работой, но компания сталкивается с финансовыми проблемами. Можно сменить работу, но надо пройти собеседование. Значит сначала нужно преодолеть свои страхи, а уже потом улучшать навыки. Вы можете думать, что всё будет хорошо, и ничего не делать. Но мышление второго порядка заставит вас понять, что это самый рискованный вариант. Хорошие исполнители всегда учитывают последствия своего поведения и действуют соответственно.
8. Обратное мышление: решение задачи является обратным задаче. Чтобы найти решение проблемы, подумайте о том, как проблему создать. Что делать, чтобы получить повышение? Подумаем, что нужно, чтобы оставаться на том же уровне: не улучшать навыки, делать минимум, лишь бы не уволили, не просить больше, не ходить на собеседования и т.п. Теперь переверните всё вышеописанное, и у вас есть решение проблемы!
9. Делать вещи правильно или делать правильные вещи: если вы делаете неправильные вещи, вы никогда не достигнете своих целей. Вы можете услышать о популярности Kubernetes и потратить сотни часов на его изучение и сертификацию по облачным сервисам. Но, если ваша работа с этим не связана, эти навыки не практикуются, а реальные ваши навыки (о которых могут спросить на собеседовании) деградируют. Это не проблема нехватки времени или дисциплины. Вы правильно делали неправильные вещи.
Источник: https://dev.to/dragosnedelcu/9-senior-developer-mental-models-every-programmer-should-master-1jlk
Post #1951
1.78K
- 👍 22