Каковы типичные повседневные задачи программиста начального уровня? [закрыто]

Что я хотел бы знать: каковы ежедневные обязанности выпускника-программиста на рабочем месте игровой индустрии? Это в основном кодирование, анализ, проектирование или что?

Спасибо.

P.S. Сейчас я нахожусь на втором курсе университета и работаю в направлении специализирования в программировании игр, в частности, в игровых процессах, инструментах или программировании пользовательского интерфейса.

64 голоса | спросил kymully 14 72010vEurope/Moscow11bEurope/MoscowSun, 14 Nov 2010 21:18:28 +0300 2010, 21:18:28

4 ответа


102

Основываясь на моем опыте (в Соединенных Штатах, нанятый колледжем на проект, который только что вышел из прототипирования и был командой около 50, был отменен, затем мы продолжили еще две игры над четыре года я был там с общей базой разработчиков около 200),

  • Вероятно, вы потратите около 50-70% своего времени на программирование. В это время я включаю в себя «забавные вещи», такие как получение действительно умной функции, а также время, когда вы смотрите на дамп памяти в течение 8 часов подряд, пытаясь выяснить, что произошло. Может быть, 25-50% из них - это полноценное программирование с сидением-на-вашей-клавиатуре и полу-в зоне.
  • Еще 15-25% в встречах и административных задачах, таких как сортировка ошибок, встречи о сортировке ошибок, составление расписания, документация высокого уровня для других программистов и производителей, электронная почта, обновления всего проекта /компании и т. д. Это зависит от того, сколько у вас автономии - если у вас нет автономии, тогда вы сможете тратить больше времени на программирование, потому что вы потратите меньше времени на настройку собственного графика. Если вы больше контролируете свое расписание, вы можете работать над более интересными вещами, но тогда вам нужно потратить время на это.
  • Еще 15-25% помогают дизайнерам /художникам, присутствовать на творческих собраниях на самом деле об игре, постоянно обновлять документы для дизайна игр и т. д.

По мере того, как вы поднимаетесь в классе оплаты, время, затрачиваемое на программирование, вероятно, будет идти вниз . Вам нужно будет принимать более административные решения, призванные помогать менее опытным людям в команде и тратить больше времени на обработку документации и проверку кода /архитектуры. С положительной стороны качество качества программирования, вероятно, будет расти; вы сможете работать над более интересными функциями (и более разочаровывающими ошибками).

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

ответил 14 72010vEurope/Moscow11bEurope/MoscowSun, 14 Nov 2010 23:28:17 +0300 2010, 23:28:17
25

Помимо обсуждений на высоком уровне, которые Джо поднял, есть еще несколько вещей, о которых вы должны знать.

  • Обычно вы используете какое-то отслеживание ошибок или инструмент отслеживания задач, который ваш лидер будет использовать для назначения вам задач. Иногда они одинаковы (т. Е. FogBugz). Иногда ваш список ошибок будет через издателя, а ваш список задач находится на внутренней вики. Вы не просто садитесь и начинаете делать все , ваши задачи будут направлены.
  • Иногда вас попросят оценить ваши задачи. Это подразумевается при использовании таких систем, как FogBugz. Часть ваших обязанностей будет /должна /должна состоять в том, чтобы сломать функцию более высокого уровня на части, которые вы можете использовать, чтобы правильно оценить, сколько времени потребуется для того, чтобы увидеть, как на пути вы заканчиваете вехи и т. Д.
  • >
  • Многие студии перешли на более гибкие /стильные методы. Обновление диаграмм сжигания (т. Е. Утверждение, что вы потратили X часов на задачу Y и ожидаете, что это будет сделано в Z-время) довольно распространено. Ежедневные встречи на стенде, вероятно, немного более распространены. В любом случае вы будете следить за тем, над чем работаете.
  • Вы будете использовать управление версиями /источниками. Чем больше студия, тем больше вероятность использования Perforce. Вы должны знать об этом (проверять файлы, делать файлы, разрешать локальные конфликты слияния). Вам также может быть предложено понять ветвление и объединение ветвей. Некоторые студии работают там, где все разработчики получают свой филиал, и вы можете зарегистрироваться столько, сколько хотите, и слияния, когда ваша ветка. Другие студии (наши) просто имеют «не нарушать основную» политику, поэтому вам нужно убедиться, что вы обновляете, выполните быстрый тест, чтобы убедиться, что вы ничего не сломали, then check in Некоторые студии не имеют такой политики, и люди все время ломают дерьмо, и это очень раздражает, и вам нужно научиться обходить это.
  • Кодовые обзоры довольно распространены. Иногда они имеют кодовый отдел. Наша команда использует подход, основанный на кодах, где он больше по одному для отзывов при проверках. В любом случае вам следует ожидать, что вас попросят предоставить критический анализ кода других народов.
ответил Tetrad 15 12010vEurope/Moscow11bEurope/MoscowMon, 15 Nov 2010 15:31:54 +0300 2010, 15:31:54
11

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

Многие из того, что я сделал, также были связаны с ИТ. Разработка внутренних инструментов была большой вещью - некоторые из них напрямую помогали с игровым разработчиком, некоторые из них автоматизировали вещи, которые ранее делались вручную. И, конечно, исправления ошибок для других инструментов, в том числе установщика Microsoft для Windows Live.

Playtesting была еще одной довольно приличной частью, и я также отвечал за то, чтобы сделать некоторые из сборников, которые были перенесены на игровые приставки. Ошибки в игровом мире довольно трудно отследить и требуют много работы, чтобы выяснить причину.

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

ответил Matthew Read 15 12010vEurope/Moscow11bEurope/MoscowMon, 15 Nov 2010 05:15:43 +0300 2010, 05:15:43
4

Мой последний проект года - это элемент холста HTML5. В настоящее время я работаю над интернатурой в течение последних двух месяцев, когда мне приходится переносить существующую флеш-игру на холст HMTL5.

Из того, что я могу рассказать вам о моей жизни здесь, хорошо, это тяжело. Требования команды имеют очень конкретные требования. Какой щелчок мыши должен делать то, как эффекты должны применяться к игре. Независимо от того, насколько сложно это сделать для программиста даже по самой глупой просьбе, его нужно решать, и после того, как все требования будут выполнены. Отчёт об ошибках начинается. Бог настолько раздражает. Это действительно начинает нервничать. Смещение 1px за клик может превратить вашу жизнь в ад, поверьте мне! Это может означать новое структурирование всего вашего места позиционирования и взаимодействия, чтобы вы могли приспособиться к их капризам и фантазиям.

Но это тоже весело! :) Явная радость от написания этой действительно умной функции, взаимодействующей с сообществом о том, как можно воссоздать функцию, которая срабатывает автоматически. Все это. Свои времена, как вы, вы не жалеете о том, что работа. Делает это чувство лучшей работой в мире, а мои племянники самые крутые в мире.

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

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

ответил Shouvik 15 12010vEurope/Moscow11bEurope/MoscowMon, 15 Nov 2010 08:08:42 +0300 2010, 08:08:42

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132