Статья будет полезна для тех, кто менторит стажеров/джунов‑программистов, и для самих смельчаков‑новичков в этом нелегком деле.
Менеджер в роли программиста
Чтобы наладить «торговый путь» игры Trax в условиях ограниченного бюджета и ресурсов команды, мне пришлось нырнуть в темную и страшную пучину PHP и Symfony. Честно говоря, каждому, кто менеджерит IT‑команды, будет полезно примерить на себя роль программиста. На своем и не только опыте встречала достаточно руководителей, которые не понимают процесса работы кодеров и как следствие унижают их за баги или «передогоренность» по срокам (потому что изначально сроки были несоизмеримы с реальностью). Казалось бы, кто из ИТ‑индустрии еще может быть не в курсе, что код не бывает без багов и как прозрачность коммуникации критически важна для достижения ключевой цели любого менеджера — принести ожидаемый или сверхожидаемый результат совместно с командой.
«Хэлоу Ворлд»
Вернемся к нашим баранам. Еще до Trax пару раз доводилось писать код на Питоне и на SQL. HTML и CSS в мире программистов вообще не котируется. 🤪 В общем, какие‑то библиотеки когда‑то качала, какие‑то переменные вводила и возвращала «Хелоу ворлд». На этом в принципе мои познания и заканчивались.
Разработка Телеграм‑бота задача несложная, поэтому то наш старший программист мне ее и доверил. Мы сразу договорились, что я буду стараться писать на основе похожих блоков в коде, документации в интернет‑пространстве или с помощью нейронки. В крайних случаях я прибегала с вопросами и просьбой помочь, чаще всего, когда нейронка не помогала решить баги.
Задача посложнее
Самыми сложными были задачи, конечно же, с логикой. Например, разработка фичи с пополнением баланса монет при прохождении уровня. Я не могла понять, в каких файлах и с помощью каких инструментов её реализовать. Старший программист сразу задал наводящий вопрос «А в какой момент это должно происходить?». Стало ясно, что в момент выигрыша/проигрыша (когда начисляется опыт игроку, который и определяет его уровень) нужно проверять, перешел пользователь на следующий уровень или нет. Если проверка говорит да, значит, начисляем монеты в соответствии с уровнем и оповещаем пользователя. Возможно, старшему программисту не пришлось бы тратить время на объяснения, если бы я «скормила» нейронке структуру файлов и «зону их ответственности».
Что могу вынести полезного для других смельчаков‑новичков в кодинге?
Нужно стараться вникать в логику, тут хорошо поможет продуктовое мышление. Каждый раз стоит возвращаться к сути и целям или пытаться понять код с помощью «юзерсторек» или конкретных пользовательских кейсов.
Нейронка в помощь. Использовала Liner, так как он меньше всех галлюцинирует, но другие прогеры мне советовали Claude. Еще не пробовала его в таких задачах, фидбэком поделиться не могу.
Самое главное — задавать вопросы в суть и задавать их много. Весь этот путь мне помогало неистовое желание докопаться до сути. Почему? Зачем? Как? И самый полезный вопрос — «чтобы что?»
Что могу вынести полезного для кодеров‑наставников у «малышей‑карандашей»?
В любом взаимодействии с младшим программистом целью и ключевой метрикой должно быть понимание ученика.
Если ученик не задает вопросы или не интерпретирует сказанное ранее тобой, вероятнее всего, речь «улетела впустую».
Ни в коем случае не стоит гасить своим опытом и интеллектом, будьте добрее, и результат сразу будет виден. Каждый человек с детства вырабатывал свои способы декодирования мира и концепций.
Обучение — это постоянный диалог и постепенное повышение уровня задач.
Результат
На уже развернутом проекте и базово настроенной логике ачивок разработала разделы меню: профиль, магазин, журнал
Чинила всякие‑якие баги, кодила кнопочки и смсочки
Реализовала логику с оплатой монет
В магазине подключила платежную систему юкассы с вебхуками
Добавила таблицу заказов, тоже для магазина
Зайдите, оцените, какой результат принес продакт, который оказался в шкуре кодера.