В пожилом возрасте многие сложные отношения со временем становятся самоочевидными. Поэтому часто бывает непросто понять, как приблизить свои навыки к чужому. Как младший разработчик, работающий вместе со старшим, я каждый день понимаю, как много мне еще предстоит узнать, и я постоянно думаю о новых способах лучше изучить определенные навыки.
Оглавление
- Случаи использования
- 1.) Используйте доску Canban
- 2.) Поддержите идеи
- 3.) Объясните, как читать документацию
- 4.) Это не просто работа, если вы делаете ее правильно
- 5.) Не ждите от 9 до 5
- Заключение
- Другие мои статьи
Случаи использования
Чтобы принять во внимание правильное обращение, необходимо рассмотреть фактический вариант использования. Так что же такое исходная ситуация?
- Работаете над новым проектом?
- работаете над существующим проектом?
- изучать общее программирование?
Новый проект
При работе над новым проектом вы должны сначала очень тщательно спланировать архитектуру программного обеспечения вместе с младшим. Лучше всего создать рисунок, который затем можно сразу использовать в качестве документации. Создайте архитектуру, подумайте, какие классы вам нужны и где их создавать. Используйте диаграмму для просмотра зависимостей. Вместе подумайте о том, как должен быть структурирован код. Это простое консольное приложение, все приложение работает локально? Например, нужно ли реактивное программирование? Есть ли новые методы для этого? Если да, то есть ли полезные упражнения? Нужно ли создавать упражнения самостоятельно?
Всегда помните: простого объяснения обычно недостаточно, если человек понятия не имеет об идее или подобной ситуации.
Существующий проект
На мой взгляд, это одна из самых сложных задач для начинающих.
Уровень, на который переходят опытные программисты, обычно выше, чем у джуниоров по всем направлениям. Даже если джуниор уже владеет языком, он быстро становится запутанным, как только, например, используется более короткий синтаксис для операции (например, LINQ, понимание списков, тернарные операторы).
Младший столкнулся с волной информации и требований и в основном не знает, с чего начать. Если старший использует в своей программе шаблоны проектирования и особую программную архитектуру, все становится еще сложнее. Вы должны предположить, что младший не знаком с этими темами. Мне очень помогло изучение дизайна и архитектурных шаблонов в университете. Книги, предоставляющие конкретную информацию о шаблонах проектирования и архитектуре программного обеспечения, обычно содержат очень подробные объяснения. Чтобы знать, что доступно и в каких случаях используются шаблоны и т. д., их следует изучить. Это очень помогло мне выучить и понять соответствующие шаблоны для экзамена. Поэтому одно из решений — поручить новичку написать краткий обзор наиболее важных шаблонов проектирования.
В существующем проекте у младших часто возникает ощущение, что они должны быть в состоянии сделать все как можно быстрее, чтобы иметь возможность управлять всем самостоятельно. объяснить младшему, что это не так. Рим тоже не за один день строился. В зависимости от размера проекта это может быть невозможно. Определенно есть проекты, которые настолько обширны, что может пройти 2-3 года, прежде чем вы сможете управлять всем самостоятельно. Подумайте, как долго вы работали над этим в старших классах, прежде чем настаивать на этом.
Общее программирование
Если у джуниора мало или совсем нет опыта разработки программного обеспечения, считайте его необработанным алмазом. Дайте ему практические задания и заставьте его освоить требования. Например, ваши упражнения могут использовать LINQ или другие альтернативные нотации. Какие среды разработки имеют смысл? Существуют ли какие-либо инструменты для графического обучения, например WPF? Основы, такие как ориентация объекта, сериализация и десериализация, соглашения об именах, разделение кода на несколько методов, важны, но теперь вы можете комбинировать эти основы с более опытными функциями, такими как шаблоны проектирования, чистая архитектура. Младший может с самого начала научиться программировать лучше всего. Интерфейсы являются важной ценностью и не должны быть упущены во введении. Мне очень помогло то, что я получил упражнения на C# для классов и объектов, а также для LINQ. вскоре я познакомился непосредственно с чистой архитектурой и моделью слоев Джейсона Тейлора. Важно давать джуниорузадачи, позволяющие ему расти. Задания могут быть достаточно сложными.
1.) Используйте доску Canban
независимо от того, какая форма обучения используется. Канбан-доска — один из способов, который мне очень пригодился в юниорском возрасте. В первые дни для большинства людей было почти невозможно иметь обзор , особенно когда новые задачи постоянно добавляются с каждым изменением кода. Канбан-доска помогает всем поддерживать порядок.
2.) Поддержите идеи
Старшим часто бывает трудно понять, как думает младший. Многие идеи могут показаться запутанными или излишне сложными. Причина этого в том, что эффективные способы никогда не использовались джуниорами.
Решение этой проблемы состоит в том, чтобы дать младшему возможность объяснить свою идею. На следующем этапе старший должен пройти через планирование с младшим и объяснить, что хорошо, а что неэффективно. Вы должны быть очень осторожны с этим. В разработке программного обеспечения часто бывает так, особенно у новичков, что они быстро теряют мотивацию.
Чтобы сделать процесс обучения максимально эффективным, джуниор должен сам придумывать решение. В случае возникновения трудностей подсказки, конечно, очень приветствуются.
3.) Объясните, как читать документацию
Давайте будем честными: есть хорошие документальные фильмы, а есть мусор. Тому, кто не понимает разницы, очень сложно развиваться. Одним из самых важных навыков разработчика является очень быстрое понимание и применение. Но этому нужно научиться в первую очередь. Как только младший доберется до сути, покажите ему, как читать документальный фильм. Сядьте с ним и покажите ему что поможет вам сразу в документации и почему. Откуда вы знаете, что эта информация верна? Как вы узнаете, на какой платформе искать? вы читаете все или просматриваете документацию? > Когда вы просматриваете их, как вы извлекаете нужную информацию?
Вы должны знать: Юниор обычно не знает точно, на что обращать внимание, если он никогда не сталкивался с такими ситуациями. Ваша задача — рассказать ему об этом.
4.) Это не просто работа, если вы делаете ее правильно
Разработка программного обеспечения — одна из самых востребованных и обширных тем в мире, состоящая из нулей и единиц. Покажите своему младшему что возможно, если вы только приобретете навыки. Будьте образцом для подражания и делайте мир программирования интересным, пишите статьи на Medium, ставьте перед ним проблемы, убедитесь, он может получить сертификаты и рассказать ему столько историй успеха, сколько сможете вы. Это очень трудоемко на начальном этапе, но учтите, что впоследствии вы сэкономите много времени и быстрособерете компетентную команду, если разработчики также заинтересованы в работе в свободное время.
5.) не ждите от 9 до 5
что именно вы получаете от предписанного рабочего времени, если вы израсходовали свои возможности через 4 часа, а остальное время просто сидите без дела, не концентрируясь? Вместо этого позвольте дню закончиться раньше и в расслабленном состоянии или предложите младшему (если он заинтересован) сделать перерыв или потренироваться. В разработке программного обеспечения также не проблема работать из дома. — так почему бы не пойти домой пораньше, провести немного свободного времени и посидеть часок вечером? То, что существуют почасовые нормы, не означает, что их нужно соблюдать. Работайте изо всех сил, но не заставляйте себя концентрироваться по 8 и более часов в день. Младший всегда должен знать, что чистая работа за 5 часов, даже если это меньше, лучше, чем плохая работа.
Заключение
Научить младшего такой сложной работе может быть очень сложно. Вы должны всегда думать о том, как ВЫ предпочли бы узнать это. Всегда учитывайте, сколько времени вам понадобилось, чтобы что-то сделать или сколько вы учились, чтобы достичь того, что вы имеете сейчас. Подготовьте свои собственные репозитории с упражнениями, которые охватывают все, пусть младший учится и расслабит рабочее место. Но самое главное: слушайте джуниора и отвечайте на его вопросы. Дайте ему понять, что глупых вопросов не бывает, есть глупые ответы.
Другие мои статьи
Если вам понравилась эта статья и вы хотите узнать больше об инженерии программного обеспечения, подпишитесь на меня и ознакомьтесь с другими моими статьями.
- LINQ — Как избежать вложенных циклов в C#
- .Net C# — чистая архитектура и принцип инверсии зависимостей
- Singleton — ЕДИНСТВЕННОЕ объяснение в C#
- Объяснение методов расширения в C#
- Шаблоны проектирования Wizards — составной шаблон в C#
- Паттерн брокера и как он работает
- NoSQL против реляционных хранилищ данных
- Парадигмы программирования — краткое введение
- C# — объектно-ориентированное программирование (ООП)
- C# — простота объяснения единой ответственности
- OCP — Что действительно важно
- 8 лучших советов по повышению вашей мотивации как программиста
- Краткий экскурс в Сети
- Отправка и получение — 7-уровневая модель OSI
- Сетевые протоколы 7-го уровня легко объясняются