Могут ли гуру Windows эффективно работать на платформе разработки Linux? - PullRequest
5 голосов
/ 06 мая 2009

Скажем, я нахожу разработчика для Windows с более чем 10-летним опытом работы, отличными навыками C / C ++ и отличными рекомендациями в качестве универсального кодера, который добивается цели . Могу ли я нанять его для разработки на платформе Linux и ожидать, что он станет продуктивным в течение нескольких недель? Или порог слишком высок, если говорить с точки зрения среды разработки и всех распространенных инструментов, используемых в повседневной работе? Какие основные препятствия преодолеть этому человеку?

Обратите внимание, что это общий вопрос, где я в основном предполагаю типичные среды Windows и Linux (Visual Studio против Eclipse или EMACS, Установка и удаление программ вместо apt-get, мастера диалогов против командной строки и т. Д.)

Ответы [ 10 ]

5 голосов
/ 06 мая 2009

Я был таким разработчиком не так давно (но у меня был некоторый опыт * nix).

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

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

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

5 голосов
/ 06 мая 2009

Это действительно зависит от множества факторов.

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

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

Пара примеров:

  • Все API-интерфейсы операционной системы отличаются.
  • Если вы используете какие-либо большие библиотеки, у библиотеки будет кривая обучения.
  • Если вы используете более традиционные системы сборки Unix, то (возможно) будет кривая обучения их использованию по сравнению с обычным способом работы в Windows в среде IDE, такой как Visual Studio.

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

4 голосов
/ 06 мая 2009

Я много раз пытался перейти на Linux / Unix. Я могу в основном найти свой путь вокруг коробки и заняться разработкой [если у меня есть Mono]. Теперь я могу быть столь же эффективным с точки зрения основных требований пользователя практически к любому устройству за короткий промежуток времени, но если вы ожидаете, что я смогу разобраться во всей установке, конфигурации и всех других вещах, которые идут Я полагаю, что обслуживание системы за такой короткий промежуток времени вырвет все мои волосы до истечения двух недель. Неизменно, кто-то попросит меня сделать что-то, чего я не знаю, в Linux / Unix, и в конечном итоге переключится обратно на Windows, потому что я могу легко сделать это за короткое время.

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

3 голосов
/ 06 мая 2009

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

2 голосов
/ 06 мая 2009

Я думаю, что да, но вам, возможно, придется набраться терпения в течение более длительного времени. Идея: дать ему коробку Windows с работающей внутри виртуальной машиной Linux (или наоборот), так что если он сталкивается с чем-то, что он не может сделать быстро в Linux, он может переключиться на Windows для этой конкретной задачи, пока не станет более опытный в Linux. Это может смягчить некоторые «проблемы с разделением», которые возникают у некоторых пользователей Windows при переходе на Linux. Думайте об этом как "Linux с обучающими колесами".

Хорошие программисты - хорошие программисты, и их трудно найти. Вы можете заставить его работать, если хотите.

1 голос
/ 06 мая 2009

Я думаю, это зависит. Если вы отнимаете у Visual Studio человека, вы вдвое сокращаете его производительность. Если вы делаете все в emacs с помощью компиляторов командной строки, вы, вероятно, просто потеряли еще половину его производительности. Теперь, по мере того, как он становится все более знакомым, со временем это будет нарастать, но вы можете быть уверены, что этот гуру никогда не будет столь продуктивным в Linux без IDE.

1 голос
/ 06 мая 2009

Нет сомнений, что гуру Windows (если это правда) может справиться с Linux.

Единственное, что вы должны спросить себя - сколько у вас есть времени на 4 проекта, поскольку вы не можете ожидать, что кто-то, кто никогда не развивался в Linux, будет настолько же быстрым, как кто-то, кто делает это в течение некоторого времени. *

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

1 голос
/ 06 мая 2009

Почему вы не можете нанять гуру Linux вместо этого?

Забавно, как много людей заявили: «Да, конечно, он может».

Почему никто не спрашивает, захочет ли он?

1 голос
/ 06 мая 2009

Ну, если он действительно гуру, я бы сказал, да. Многие исследования показывают, что хороший программист выполняет в 10 раз больше полезной работы в день, чем обычный программист. Настоящий гуру, вероятно, производит в 100 раз больше.

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

0 голосов
/ 06 мая 2009

Если я могу вспомнить бронзовый век, когда я изучал программирование на Unix, я использовал технику, чтобы изучать вещи как можно ближе к одному за раз, как мог. Я не изучал vi, пока не почувствовал себя достаточно комфортно с C. Затем я изучил make, а затем изучил Unix API. В конце концов, дошло до того, что я просто изучал то, что мне нужно было знать, когда мне нужно было это знать, но это заняло месяцы.

По крайней мере, тот парень, о котором вы говорите, хорошо знает C и C ++. Получите его на полпути приличной IDE, если он не хочет заниматься vi или Emacs и делать. Тогда большой вопрос - это используемые API; они могут занять некоторое время, чтобы усвоить. И убедитесь, что у вас есть кто-то, кто ответит на простые маленькие вопросы и покажет некоторые мелкие, но потенциально запутанные вещи.

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