Независимо от того, что вы о них думаете, некоторые интервьюеры используют задачи по программированию, чтобы оценить вашу «способность кодировать и решать проблемы». Само собой разумеется, что проблемы с кодированием (вспомните LeetCode и CodeWars) приведут к повышению эффективности собеседования в таких сценариях и, вероятно, помогут улучшить ваши навыки решения проблем.

Обоснование платформы, облегчающей одноранговое программирование

За последние несколько месяцев я начал более серьезно заниматься программированием и случайно попал на несколько сессий, где мне пришлось сотрудничать с несколькими сверстниками. По сравнению с работой в одиночку, я обнаружил, что сотрудничество с коллегой делает процесс более приятным и обогащающим. Мы поделились идеями, я узнал что-то новое, и мои сверстники тоже. Это заставило меня задуматься; что, если бы существовала платформа, на которой людей случайным образом подбирали бы по навыкам, они получали случайное задание по программированию и сотрудничали, чтобы найти решение. Если бы я нашел это полезным, наверняка найдется подмножество людей, которые сочтут это столь же полезным. Это заставит вас кодировать более регулярно и познакомит вас с другими мыслями/перспективами, что потенциально ускорит как ваше обучение, так и способность объяснить вашу логику кому-то другому. У меня были фазы, когда мне нравилось писать о вещах, которые я читал и о которых узнал. Одна вещь, которую я усвоил, заключается в том, что процесс объяснения вашей логики/мыслей не только выявляет несоответствия в вашем собственном мышлении, делая вас немного более самосознательным, а также помогая вам стать более ясным мышлением.

Та же логика применима и к этому сценарию. Если вы совместно решаете проблему, объясняя свою логику на каждом этапе, вы постепенно научитесь объяснять свою логику лучше, задавать более точные и краткие вопросы и замечать несоответствия в собственном мышлении. В дополнение к этому вы оттачиваете свою способность к сотрудничеству.

Зачем я это делаю?

Когда я иммигрировал в США в 2020 году, что произошло в Нью-Йорке за неделю до карантина и через несколько месяцев женился, я запустил буткемп, собрав чуть менее 50 тысяч долларов ангельского финансирования. Моя цель состояла в том, чтобы обучить таланты Data Science в Африке с небольшими затратами. Это началось с вариации теперь уже типичного: учитесь сейчас, а платите позже (в данном случае идея учится сейчас, а нам платят через плату за найм вас на работу), постепенно трансформируя множество на этом пути в рынок живых , практические курсы (т. е. живой курс, основанный на построении конвейера данных под руководством опытного наставника). Здесь предполагается, что живой курс добавляет уровень интерактивности, который облегчает вам задавать вопросы и быстрее получать обратную связь, а также оставаться более вовлеченным в процесс. На протяжении всего этого процесса видеть, как другие люди учатся и на самом деле получают работу (мы обучили чуть более 150 человек и наняли некоторых людей на должности в области аналитики данных, администраторов баз данных и других аналитических должностей), приносит не только удовлетворение (к вашему сведению: не перекручивайте, я не верю в то, что это некоммерческая организация), но на самом деле меняет жизнь людей. Но помимо того, что я пытался похитить вашу способность оценивать недостатки моей логики с помощью эмоционального обращения, я узнал силу сотрудничества, помогающего людям учиться.

Проверка моих предположений

Теперь самое интересное: что такое предположение, если оно не подтверждено реальными данными? Чтобы проверить свое предположение, в течение последних нескольких недель я обращался к людям с разным набором навыков, чтобы запланировать одноранговые сеансы программирования для проверки моих предположений. В конечном счете, я рассматриваю тестирование предположений как предварительный курс к созданию платформы, которая лучше облегчит этот процесс и, в конечном счете, ответит на самый важный вопрос: может ли это помочь людям, которым нравится сотрудничать и чаще искать код, писать код чаще, и будет ли этот процесс привести к заметному улучшению как их навыков кодирования, так и навыков решения проблем.

Тест прост;

i.) Задача программирования должна быть рассчитана на время. Обеспечение того, что мы не только учимся решать проблему, но и в течение определенного периода времени, отдавая приоритет скорости.

ii.) Сессия разбита на этапы: 5-минутная вводная фаза (узнайте, с кем вы собираетесь сотрудничать, чтобы установить первоначальное взаимопонимание), за которой следует 15-минутная фаза для обсуждения поставленной задачи, псевдокода потенциальных решений. и попытайтесь представить потенциальные проблемы с решениями, которые мы придумали, 45 минут, чтобы вместе закодировать решение и, наконец, 15 минут, чтобы найти более эффективные решения, разбить их и обсудить, как они работают и почему они более эффективны, чем то, что мы пришли. вверх с.

Я запланировал 28 сеансов в течение примерно 20 дней. Было довольно много неявок, но я предполагаю, что по крайней мере 75% людей либо пришли, либо отложили на более поздний срок. Вот небольшой отрывок из некоторых сессий.

Если вы хотите либо запланировать сеанс коллегиального программирования и оставить ценный отзыв, чтобы помочь мне в его разработке, либо, в качестве альтернативы, сотрудничать в фактическом создании проекта, свяжитесь со мной по адресу [email protected]/emmanuels@thegradientboost. com Или запланируйте сеанс со мной на Calendly.

До следующего раза au revior.