Всем привет. На волне обучения программированию решил тоже запустить инициативу. Только дело в том, что я даже близко не учитель, никогда этого не делал даже не пытался, поэтому и подход будет особенный.
Я разработчик ПО. В данный момент я работаю в одном Американском стартапе в области data-science, не скажу в каком, так как реклама, в роли одного из архитекторов и ведущего разработчика. Работа у нас построена таким образом, что я участвую в разработке всего продукта целиком, начиная с того, что видит пользователь в браузере, заканчивая запросами в базы данных. Это называется фулл-стек. Такой подход имеет преимущества и недостатки, но сейчас не об этом.
У меня есть идея небольшого проекта, это будет онлайн-игра в аэрохоккей. Ничего сверхъестественного, всё просто. Однако, этот проект потребует мобилизации всех моих знаний на всех уровнях компетенций фулл-стек разработчика. Пускай не в том объёме, в котором владеет, например, JavaScript-ом любой нормальный фронтендер, и нагрузки не будет как у гугла, но тем не менее.
Этот проект я буду писать с чистого листа, с минимальным привлечением сторонних библиотек, в восемь-десять этапов по неделе или по две каждый, так как у меня есть ещё и основная работа. Результаты каждого этапа я буду выкладывать в общий доступ, комментировать, возможно в формате видео, возможно туториалами, не решил пока. Буду отвечать на возникающие вопросы по мере сил.
Вообще, у меня корыстный интерес, не буду скрывать. Я хочу немного фана, это раз. Я хочу структурировать знания, это два. Три, я хочу челлендж, довести работу до конца. Не знаю, получится ли, буду стараться.
Участникам же это поможет в выборе направления. Новички смогут посмотреть на весь процесс разработки целиком (а я смогу сыграть злого продукт-менеджера, диктатуру гарантирую). Сможете проанализировать либо мой код (мне не будет стыдно), либо писать параллельно свой.
Я расскажу, что нужно установить, и как сделать так, чтобы всё это работало. Тем, кто уже программист – поможет так же, как и мне структурировать знания, обменяться опытом и повеселиться. По технологиям – писать будем на языке Dart. Просто потому, что основную часть кода я пишу на нём, и мне будет проще не переключаться на другой язык.Он похож на C# и на Java. Опять же, на этом языке можно написать и сервер, и клиент, удобно. Есть Flutter, можно потом будет в мобильную разработку уйти, но не об этом сейчас… Всё это кроссплатформенное, работает на Windows, на Ubuntu, на Mac. Понадобится вменяемый компьютер, чтобы не нервничать и не ждать реакции курсора.
Естественно, я не буду писать идеальный код, не ждите серебряных пуль. Я буду стараться на основе своего опыта лавировать между двумя крайностями: «преждевременная оптимизация» и «лячкаем говнокод» и не буду пытаться объять необъятное и впихнуть невпихуемое. Ещё раз, основные задачи продемонстрировать новичкам процесс, чтоб они определились с выбором, и обменяться опытом с более опытными товарищами.
Буду давать ссылки на книги и статьи про те вещи, про которые буду рассказывать. Основной материал буду стараться готовить раз в две недели или чаще, на вопросы отвечать по мере возможностей и в рамках адекватности.
Итак, канал с материалами будет тут: https://t.me/aerohockeyondart
А чатик здесь: https://t.me/joinchat/BdLZSxnxhZjMTFXD4UFoTw
P.S. я не представляю скольким людям это будет интересно, так что, возможно, мой план будет скорректирован в ту или иную сторону после публикации поста.