Как моя любовь к настольным играм помогла мне стать лучшим разработчиком

Я уверен, что в какой-то момент своей карьеры вы столкнулись с необходимостью стать лучшим разработчиком или укрепить какие-то навыки, которые вам были бы любопытны. Возможно, вам надоел стек, над которым вы работали последние несколько лет (привет, .NET!), или вы просто хотите попробовать самый популярный из тех, что есть на радаре технологий.

Проведя небольшое исследование, вы, вероятно, попали в какой-то пост, в котором упоминалось, что, чтобы стать лучшим программистом или доминировать в каком-то навыке ... Что ж, вам нужно практиковаться, верно? После этого, я уверен, вы читали о домашних проектах, некоторых простых / сложных проектах, охватывающих один язык, библиотеку, стек и т. Д.

Это было правильным решением. Однако я чувствовал, что у меня есть одна большая проблема с этими сообщениями. Если вы сейчас читаете это, вы, вероятно, чувствовали бы то же самое, что и я. Предлагаемые проекты для домашних животных, как правило, довольно скучны, и у них нет места для усложнения. Более того, что наиболее важно, вы не заботитесь о них.

Приложение «Погода», чат в реальном времени, Twitter Feed, приложение, подобное Spotify, приложение, подобное Instagram, все популярные приложения. Все они имеют что-то общее. Вы не любите их развивать. Мне не нравится над ними работать.

Итак, позвольте мне рассказать вам свою историю о том, как я выбрала свой любимый проект.

Я всегда любил настольные игры. С детства мне всегда нравилось играть в Монополию и TEG (аргентинская версия Risk). Став старше, я старался больше увлекаться настольными играми (спасибо BoardGameGeek!), Хотя я живу в Аргентине, а обычаи сейчас довольно суровые. Одна из немногих игр, которые мне посчастливилось взять с собой в одну поездку, называется Splendor.

Splendor - пошаговая настольная игра, разработанная Марком Андре и иллюстрированная Паскалем Квидо.

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

  • Возьми драгоценные камни
  • Купить карту развития
  • Зарезервируйте карту развития

Это динамичная игра, в которую, как только вы изучите механику, играть будет очень весело. На Амазоне он стоит около 20 баксов, поэтому, если у вас есть деньги, я бы порекомендовал вам купить его и наслаждаться им так же, как и мне.

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

  • Реагировать на анимацию
  • React / Redux с Typescript
  • Больше практики с React Hooks
  • Некоторая новая / популярная библиотека стилей
  • Бессерверная архитектура
  • Веб-сокеты с AWS API Gateway
  • Дизайн стола DynamoDB

Как видите, есть много возможностей пополнить свои знания! Более того, я планирую написать серию статей обо всем проекте, по крупицам. Куда бы вы ни посмотрели, это беспроигрышный вариант!

Конечно, вы можете возразить, что любая из этих технологий - не лучший вариант для разработки игры, и, возможно, вы правы. Однако я могу утверждать, что это хороший процесс обучения, чтобы понять, почему любая из выбранных технологий или библиотек является плохим дизайнерским решением, в безопасной среде (помните, что это наша любимый проект, а не продукт нашей работы).

Вот и все, ребята! Я надеюсь, что у вас теперь другая точка зрения на проекты домашних животных, и на то, насколько они могут быть интересными, когда вы найдете правильный. Так скажи мне, чем ты увлекаешься? Спортивный? Музыка? Игры? Попробуйте найти там свой проект, и я уверен, он вам понравится.