Как вы можете получить работу в компании с инновационными инструментами и методами, если ваш нынешний работодатель использует более старые/менее инновационные методы?

На самом деле существует два типа ИТ-команд/компаний. Один тип пытается следовать каждому промышленному стандарту и внедрять передовые технологии (такие как J2EE, безопасность и прочее), в то время как другой придерживается более низких стандартов и использует старые технологии.

Когда я на собеседовании, интервьюерам, кажется, не нравится тот факт, что моя нынешняя компания не использует определенные методологии или практики. Например, на вопрос: «Как вы можете убедиться, что получаете надлежащие требования от клиентов?» мой ответ мог быть только: «У нас есть встреча, чтобы обсудить это с ними».

Если моя компания не использует инновационные методы и практики, то слова о том, что я быстро учусь, не помогут. Кажется, что если вы не можете получить опыт, вы не можете получить работу, а поскольку вы не можете получить работу, у вас нет опыта.

Что делать человеку в такой ситуации?

Что такое хороший ответ How can you ensure you are getting proper requirement from clients??
@amphibient Я предполагаю, что требования должны быть разработаны с клиентом не только путем запроса, но вы также можете использовать быстрое прототипирование. Клиент расскажет, работает ли ваш прототип, а чего не хватает. И не просто спрашивайте «клиента» — я попросил клиента привести на следующую встречу одного из конечных пользователей. Затем пользователь должен сказать, сможет ли он работать с нашим прототипом. (Вы догадались, что? Не хватало двух важных вещей...)

Ответы (5)

Я знаю, что это может показаться безвыходной ситуацией, но верьте – все может измениться!

Знай рынок

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

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

Улучшение технологических навыков

Некоторые навыки связаны с новейшим и лучшим набором технических инструментов — в программном обеспечении, таких как JEE, Ruby on Rails, Eclipse — в основном с любым инструментом, который либо используется в качестве компонента чего-либо, либо используется для создания чего-либо. Это, как правило, области, которые со временем меняются наиболее быстро, и область, в которой существующий проект, скорее всего, отстанет, поскольку изобрести новый виджет намного проще, чем интегрировать его в существующий продукт.

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

Или - если вам действительно нужно обучение с гидом - конференции, учебные курсы или курсы в колледже. Конференции поставят вас ближе к переднему краю, но они не предложат столько руководства или структуры. Курсы колледжа предлагают самый глубокий опыт обучения в течение многих недель, но они, как правило, немного отстают от передовых технологий, поскольку для разработки учебной программы требуется время. Буткемпы колеблются между ними.

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

Улучшение процесса и практики

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

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

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

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

Наконец - интервью

Независимо от того, где вы находитесь с точки зрения современного набора навыков, когда вы идете на собеседование, не сосредотачивайтесь на том, чего вам не хватает, — сосредоточьтесь на том, что у вас есть, и на том, как себя продать.

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

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

Например, прочитав приведенный выше запрос « Как вы можете убедиться, что вы получаете надлежащие требования от клиентов? », можно ответить следующим образом:

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

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

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

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

Истинный. У меня были плохие времена на собеседовании, потому что интервьюеры всегда сосредотачиваются на моих слабостях / том, чего я не знаю. Я никогда не думал, что могу утверждать, что мой прошлый опыт может помочь мне быстро учиться.

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

Во-вторых, существует множество источников, из которых вы можете узнать что-то новое за пределами своего рабочего места. Сколько книг вы недавно прочитали по областям, которые вы имеете в виду, когда задаете вопрос. Даже если вы не можете применить все, что описано в «Чистом коде» , вы, вероятно, должны знать, по крайней мере в теории, как все можно сделать правильно. С точки зрения управления требованиями книга Дина Леффингуэлла — хорошее начало. Это, конечно, только примеры; в Интернете есть много отличных источников, из которых вы можете выбирать.

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

В-четвертых, не зацикливайтесь на конкретной технологии. Одна вещь вряд ли изменится, если вы не измените проект. Другое дело, что хороший разработчик не должен так сильно привязываться к одному языку программирования или фреймворку. Они меняются слишком быстро. Кстати: когда я набираю, я рассчитываю, что ты очень хорошо знаешь технологии, в которых ты активно работал, а остальные -- не очень. Я понимаю, что вы не научитесь программированию в конкретной технологии по книге — вам нужно потратить некоторое время на ее использование, прежде чем вы начнете бегло говорить.

На заметку: если после собеседования у меня сложилось впечатление, что вы изучаете только то, что вам говорят делать на работе, это говорит мне кое-что важное о вашей готовности учиться .

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

Продемонстрируйте внешний опыт работы.

В программировании хорошо то, что вы можете легко продемонстрировать навыки, не связанные с вашей работой. Если вы хотите работать с новыми технологиями, работайте над этими технологиями, пишите о них, вносите свой вклад в некоторые проекты с открытым исходным кодом, создайте учетную запись на github и публикуйте собственный код, демонстрирующий, на что вы способны. Укажите все это в своем резюме. Это покажет, что, несмотря на то, что ваш работодатель использует старые технологии (например, J2EE), вы заинтересованы и можете научиться новым технологиям.

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

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

Во-первых, вы можете использовать это как повод для смены работы. Обязательно сообщите им, что:

  1. Вы знаете об этом и использовали их в свое свободное время.
  2. Вы открыты к изменениям и готовы учиться новому.
  3. Вы доказали свою способность изучать новые технологии.

В некотором смысле будет меньше кандидатов, имеющих опыт работы с новыми технологиями. Есть момент, когда более новые становятся более популярными.

Им нужно знать, что вы используете старые инструменты не потому, что сопротивляетесь изменениям.