Будет ли этично для аспиранта компьютерных наук нанимать помощника (программиста)?

Мне было интересно, будет ли этично для аспиранта в области компьютерных наук нанимать программиста в определенной области; чтобы он мог больше сосредоточиться на алгоритмической или математической части диссертации. Будет ли это этично? Должен ли аспирант включать этого ассистента в качестве соавтора в статьи?

Ответ на ваш второй вопрос содержится в разделе Когда оплачиваемый научный сотрудник становится соавтором?
Помимо этики, это немного ненормально. Обычно в академических кругах такого рода ситуации решаются совместными усилиями . Я настоятельно рекомендую вам найти другого ученого для сотрудничества, а не нанимать работу - это избавит вас от необходимости тратить деньги, и вы получите бонус в виде возможности для общения. На самом деле, двойные баллы, поскольку вы станете инициатором проекта и предоставите эту возможность другим — академические круги полны талантливых людей, которые только и ждут, чтобы кто-то бросил им новую проблему.
Как программист, я чувствую, что это связано с academia.stackexchange.com/questions/37370 . Если вы обеспокоены тем, что ваш код будет ужасным, но вы все равно захотите его выпустить, то наем кого-то, кто может сделать его не таким ужасным, может быть разумным вложением. Вопрос в том, насколько для вас ценен неужасный код по сравнению с кодом, который вы написали сами. Учитывая, что ответ с самым высоким рейтингом на самом деле говорит: «Ваш ужасный код в порядке, нет большой выгоды в том, что он не ужасен», возможно, он не должен многого стоить :-)

Ответы (6)

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

Целесообразно ли это, это другой вопрос... и вы обязательно должны задать его своему консультанту. Должен сказать, что мне это не кажется такой уж хорошей идеей. Ваша дипломная работа предназначена для вас... почти по определению. Совершенно нормально получить помощь от других в вашей диссертации, и некоторые люди лучше программируют, чем другие (даже в CS, я полагаю), поэтому получить несколько советов от друга на самом деле хорошая идея. Но мне кажется , что платить кому-то за часть вашей дипломной работы не очень хорошо. Либо программирование является важной частью вашей диссертации, либо нет. Если это так, вы должны сделать это самостоятельно. Если это не так, возможно, вам вообще не нужно это делать или вам не нужно делать это в такой степени, как это сделал бы сторонний профессионал.

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

Добавлено : Для ясности, я интерпретирую вопрос в том смысле, что докторант сам занимается наймом: т. е. что это его идея, и он использует свои собственные средства. (Если его университет предоставляет ему финансирование и просто просит выбрать кого-то для работы, то даже вопрос «Этично ли это?» становится менее правдоподобным.)

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

Ассистенты-исследователи очень распространены. В некоторых вещах они являются необходимостью. И, выстрадав ужасный исследовательский код, я бы хотел, чтобы больше людей наняли профессиональных разработчиков, чтобы сделать хотя бы часть их дизайна.
Более серьезная проблема заключается в том, что академические круги не решили, что программирование 1) сложно и 2) близко академическим кругам. Похоже, ОП достаточно умен, чтобы понять это, и это их попытка решения.
@Davidmh: Если кафедра или университет хотят нанять научных сотрудников для проекта (предположительно того, который выходит за рамки дипломной работы ОП, но, возможно, у некоторых аспирантов есть свои собственные оплачиваемые помощники), это было бы хорошо. Другое дело, что ОП тратит свои деньги на найм постороннего. Мой главный совет состоял в том, чтобы спросить ее консультанта, но мне трудно поверить, что консультант ответит: «Конечно, потратьте свои собственные деньги на этот проект».
@PeteL.Clark Я согласен, что делать это на собственные деньги ОП - очень плохая идея. Но я хотел указать, что выполнять всю работу самому не всегда возможно или обязательно целесообразно.
@Davidmh Я думаю, что не следует делать все самому, это почти общепринято. Я думаю, что главный вопрос здесь заключается в том, стоит ли отдавать часть вашей (!) докторской работы подрядчику.
@AAA, я не думаю, что академические круги в неведении о том, насколько сложно программировать. Дело в том, что если что-то сложно, профессионал может взять за это большие деньги. Аспиранты, с другой стороны, дешевы.
@Shep, да, думать, что аспирант делает хорошую работу, просто не знать, насколько сложно программировать. профессионал может сделать это дешевле, чем толпа аспирантов, которых вы нанимаете, чтобы делать это плохо, но никто не замечает, что это делается плохо, потому что это норма...
Может быть, это должен быть отдельный вопрос, но: Пит, я думал, что один из моих аспирантов и я могли бы руководить REU/UROP для автоматизации множества вычислений алгебраической геометрии; в настоящее время она делает их вручную. То, что эти вычисления вообще конечны, нетривиально — это ее первый результат. Она также уже показала мне интересные закономерности в данных, вычисленных вручную, где было бы полезно больше данных. Я думал, что надзор за REU, а не кодирование, будет только хорошо выглядеть для нее на рынке труда. Как вы думаете, значительное количество школ не согласится?
@David: В любом случае у меня нет сильных чувств по этому поводу. Я полагаю, что без конкретных доказательств обратного я склонен думать, что те, кто контролирует REU, «действительно стоят за» тем, что выходит из REU. Так что, если ваша ученица руководила REU и в вашем письме задокументирован ее вклад в проект, то мне кажется, это хорошо.

Конечно, но я сомневаюсь, что вы можете себе это позволить.

Давайте посмотрим, какие есть варианты:

  • Вы можете нанять старшекурсника на неполный рабочий день, чтобы он написал часть вашего кода, но есть вероятность, что вы потратите больше времени на выкапывание их ошибок и обучение их тому, что потребуется для самостоятельного написания кода. Наверное, не стоит. 1

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

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

В любом случае это не звучит как очень хорошая сделка для вас.


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

+1 за упоминание проблемы стоимости. Программист промышленного уровня (даже на начальном этапе) зарабатывает значительно больше, чем аспирант. Однако, если программисту платит учреждение или грант консультанта, то это может не быть такой проблемой.
Как разработчик, я могу подтвердить, что мы зарабатываем больше, чем просто студенты с докторской степенью.
@AbbasJavanJafari, это правда, что грант может включать зарплату программиста. На практике я нечасто сталкивался с этим, вероятно, потому, что (за исключением случая огромной исследовательской группы) финансирующее агентство будет удивляться, почему они должны платить вдвое больше, чем зарплата аспиранта, чтобы повысить эффективность аспиранта на 50%. Они увидят больше результатов, наняв еще двух аспирантов. Также большая часть гранта якобы предназначена для оплаты «образования», а не профессионального программного обеспечения.
@Shep, я согласен, это маловероятно, если только это не крупный отраслевой проект, в котором программирование играет важную роль. В противном случае чрезвычайно трудно убедить других платить вам за дополнительную помощь, когда они платят вам за работу, и если вы не можете этого сделать, возможно, им следует найти кого-то другого.
@itcouldevenbeaboat: Как бывший аспирант, я могу очень болезненно подтвердить, что мы зарабатываем меньше, чем разработчики программного обеспечения! горе нам и тд...
Некоторые старшекурсники лучше, чем многие настоящие программисты.
Я должен сказать, что для меня большая честь быть минусованным @PeterShor. Я согласен, что я немного пренебрежительно относился к студентам, но я никогда не видел большого успеха, когда исследователи обращались с ними как с инструментами для «просто написания кода». Я, как самостоятельный исследователь, с вами согласен.

Я собираюсь изложить, почему я считаю это этичным, и сопоставить это со случаем, описанным в вопросе. Сомнительно ли с этической точки зрения для меня (студента) нанимать «ассистентов-исследователей»? . Кроме того, я отвечаю с точки зрения Германии.

Вкратце: Да, это этично и это делается регулярно.

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

  • Предполагается, что студент работает самостоятельно.
  • Задачи достаточно «низкоуровневые» в том смысле, что это реалистично и ожидается, что все будет выполняться одним человеком.
  • Задания, скорее всего, будут направлены на демонстрацию навыков с меньшим акцентом на производство реального продукта. (Это не означает, что, например, бакалаврские диссертации не могут дать внушительного небольшого программного обеспечения. Но в целом создается прототип, а не готовый к продаже полноценный продукт.)

Однако после поступления в докторантуру происходят некоторые изменения:

  • Не обязательно требуется, чтобы докторант делал все самостоятельно. (Пожалуйста, ознакомьтесь с правилами, специфичными для вашего университета, чтобы узнать, относится ли это к вам.) Докторант должен выбирать направление и принимать решения на более высоких и более низких уровнях, но это не означает, что они должны писать каждую строку кода. себя после того, как концептуальная идея была задокументирована, или что они должны лично сопровождать всех 50+ участников пользовательского исследования.
  • При этом задачи достаточно большие, чтобы их можно было распределить между несколькими людьми. Если исследование финансируется третьей стороной, часто бывает так, что этот проект финансируется более чем одним человеком, поэтому значительная часть работы выполняется в сотрудничестве.
  • Хотя программное обеспечение, созданное во время защиты докторской диссертации, часто все еще находится в очень ... скажем ... незавершенном состоянии, действительно ожидается, что будут получены реальные результаты исследований. Это означает (относительно вышеупомянутого примера исследования пользователей), что недостаточно, чтобы докторант однажды продемонстрировал, что он может провести исследование пользователей, наблюдая за пятью участниками, но реальные исследования пользователей с несколькими десятками участников и более чем одно такое исследование , надо сделать. Нет смысла «мучить» любого человека, заставляя его задавать одни и те же вопросы 50 раз, когда того же можно добиться, распределив нагрузку на нескольких человек.

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

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

  • В некоторых местах докторанты часто могут нанять одного или нескольких студентов-ассистентов (обычно студентов-бакалавров/магистров), например, для поддержки в программировании. Обратите внимание, что эти студенты не оплачиваются лично докторантами, а их финансирование обеспечивается из тех же источников, что и финансирование самих докторантов. Следовательно, им не только разрешено, но и явно предназначено работать над теми же проектами, что и докторанты.(Тем не менее, эти студенты-ассистенты «нанимаются» докторантом. У докторанта возникает идея, что некоторые задачи могут быть делегированы, они разрабатывают и публикуют предложение о работе, проверяют соискателей на собеседованиях и выбирают наиболее подходящего, и они решают, что должны делать эти студенты-ассистенты. Единственный раз, когда студенты-ассистенты обычно связываются с кем-либо, кроме докторанта, который их нанял, — это для подписания контракта, что происходит в каком-то отделе кадров университета.)
  • Более того, когда докторанты руководят диссертацией бакалавра или магистра, они часто определяют тему и требования таким образом, чтобы результаты этой диссертации внесли некоторый вклад в их собственную докторскую диссертацию. Подобно этому, это также форма аутсорсинга части работы, которая в конечном итоге способствует докторским исследованиям.

РЕДАКТИРОВАТЬ: Наконец, я хотел бы добавить более конкретный гипотетический пример, чтобы проиллюстрировать, какие задачи могут выполняться таким «программистом поддержки»:

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

Однако, прежде чем это можно будет преобразовать в публикацию, необходимо проделать гораздо больше работы. Интерактивный прототип должен быть запрограммирован на основе эскизного проекта. Это должно выглядеть несколько причудливо (3D / глянцевый вид, анимация и т. д., какими бы причудливыми обычно ни отличались современные графические интерфейсы программного обеспечения), поскольку в противном случае участники исследования, как правило, чрезвычайно отвлекаются на явное отсутствие фантазии и не могут увидеть фактические новинки тестируемой концепции GUI, тем самым полностью искажая результаты в качественной части любого исследования. Затем, чтобы задачи нельзя было критиковать как нереалистичные, некоторые реальные или, по крайней мере, выглядящие реальными данные должны быть интегрированы в прототип. Обычно это означает добавление кода для загрузки (и, возможно, импорта/преобразования) одного или нескольких существующих наборов данных. Если поведение пользователя должно быть записано и/или рассчитано по времени,

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

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

  • способные учащиеся быстро учатся (в частности, когда им даются реальные задачи, а не практические задания)
  • даже несмотря на то, что создаваемое программное обеспечение должно быть в некоторой степени стабильным, оно, как правило, все еще остается «прототипом» для ограниченного количества применений и, следовательно, не требует тех же требований к ремонтопригодности или безопасности, что и код производственного уровня.
  • докторанты могут свободно выбирать и отклонять подходящих и неподходящих кандидатов на работу своего студенческого научного сотрудника соответственно (и совершенно нормально нанять кого-то только на месяц, чтобы проверить, как они работают)
  • как университетский сотрудник, докторант также несет частичную ответственность за то, чтобы дать менее квалифицированным студентам шанс улучшить свои навыки, и, таким образом, он должен ожидать, что не каждый студент, которого контролируют или нанимают, является величайшим гением в округе; это возвращается к накоплению опыта руководства командой, поскольку это часто будет означать сочетание различных уровней навыков и на более позднем этапе работы докторанта.
«Обратите внимание, что этим студентам не платят лично докторанты, но их финансирование обеспечивается из тех же источников, что и финансирование самих докторантов. Следовательно, им не только разрешено, но и явно предназначено работать над теми же проектами. в качестве докторантов». Это важный момент: я понял, что вопрос ОП означает, что кандидат платит за программирование из своего кармана. Мне это не кажется хорошей идеей. Если учреждение само платит за ассистента, это совсем другое.
Вопрос, который задает старшекурсник, касается найма ассистента для проведения «внешних» исследовательских интересов, а не для исследования диссертации или исследования, которое «официально» является частью его / ее образования. Так что это очень отличается в этом смысле.
На самом деле, я бы даже сказал, что «Не тратьте свои собственные деньги на академические исследования» — это хорошее общее правило.
@PeteL.Clark: Покупка книг для создания справочной библиотеки является серьезным исключением из этого правила.
@aeismail: я согласен (больше, чем большинство: у меня много книг).
@PeteL.Clark: На самом деле, я не вижу никакой разницы между (1) личной оплатой этого программиста или (2) использованием программиста, нанятого университетом, с точки зрения этики. Для меня разница между ними заключается в том, что (2) происходит очень часто, а (1) едва ли когда-либо финансово осуществимо для докторанта. В случае (2) именно докторант по-прежнему размещает предложения о работе, выбирает программиста и назначает задачи программисту. Ваш ответ больше похож на то, что вы вообще выступаете против концепции аутсорсинга любой работы, связанной с докторской диссертацией. Я добавил ...
... конкретный пример гипотетического исследовательского проекта, где такой аутсорсинг, на мой взгляд, был бы уместным (или, в частности, какое-то исследование CS, которое принципиально опирается на некоторое программирование, которое, следовательно, должно быть сделано, и в то же время явно не является часть «творческого научного вклада», который должен быть собственным делом докторанта).
@ff524: Ты прав; Возможно, меня отвлек первый абзац ответа RoboKaren на этот вопрос, который подразумевает исследование диссертации или что-то подобное.
@OR Mapper: я не думаю, что это имеет этическое значение со стороны ОП: как я уже сказал, я не считаю эту практику неэтичной. Однако, чем больше я об этом думаю, тем больше меня беспокоит, что для университета может быть если не неэтичным, то уж точно не лучшей практикой наблюдать за тем, как студенты тратят собственные деньги на исследование своей диссертации. В частности, в вашем конкретном примере университет не очень поддерживает кандидата, если он ожидает, что за это будут платить из его кармана.
@PeteL.Clark: Это, безусловно, верно (и, чтобы быть ясным, я никогда не сталкивался со случаем, когда докторант сам платил бы такому помощнику программиста; в то же время я почти никогда не встречал здесь докторантов, которые никогда не нанимал студента-исследователя через университет). Я согласен, что в отношении оплаты университет может быть оценен этически по-разному; ситуация для докторанта и программиста была бы совершенно одинаковой, за исключением мелких формальных отличий (кто подписывает контракт, кто перечисляет деньги).
@ORMapper: Этические проблемы возникают, если научный сотрудник пытается скрыть тот факт, что он или она не выполняет работу, и выдает «субподрядную» работу как свою собственную. В принципе, если платить студенту из университетских средств, это должно быть намного сложнее.
+1. Мне нравится этот ответ для примера исследовательского проекта GUI. Будучи студентом, занимающимся независимой разработкой программного обеспечения, я бы делал все намного быстрее , если бы над моим текущим проектом работал хотя бы еще один человек. Я отвечаю за такие задачи, как построение/управление базой данных, создание REST API, дизайн клиентского графического интерфейса и функции контроллера для сервера и клиента. На самом деле эти задачи могли быть распределены. Я уверен, что во многих видах исследований определенные аспекты программирования могут быть поручены другому человеку без особой необходимости в предметно-ориентированных знаниях.

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

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

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

На рабочем месте есть вопрос по этому поводу, который может уточнить тему.

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

Как вы собираетесь проверять, правильно ли реализовал ваш нанятый программист? Вы не можете, если только вы полностью не изучите его код, что на самом деле может занять у вас больше времени, чем реализация вашей версии алгоритма. Но даже в этом случае вы никогда не будете уверены. Что вы собираетесь делать, когда думаете о новой незначительной оптимизации? Напишите ему письмо, подождите, пока он это реализует, и получите ответ через 2 дня? Удачи в завершении вашей статьи в следующие 3 года для такого рабочего процесса. Но даже если вам удастся его закончить, всегда будет тот 1% шанс, что что-то пошло не так в его реализации и все ваши гипотезы пойдут прахом, когда кто-то другой самостоятельно реализует ваш алгоритм и докажет, что вы не правы. Что вы будете делать тогда? Винить в этом его? Как вы сможете ответить на вопросы о вашей работе, которую кто-то сделал для вас? И скажите, что вам удалось закончить первую работу с наемным помощником, а затем он переходит на другую работу. Что ты собираешься делать со своей следующей работой? Нанять кого-то еще для поддержки и расширения кода предыдущего программиста?

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

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

Этот ответ смешивает способность аспиранта что-то делать с тем, должны ли они с этической точки зрения что-то делать сами, что, ИМХО, является очень разными проблемами. OTOH это правда, что аутсорсинг не сводит работу аспиранта к нулю и может привести к чистой отрицательной прибыли. (±0)
Интересно, откуда вы берете предпосылку «даже не можете кодировать свои собственные алгоритмы». Следуя той же логике, вы должны были бы заключить, что каждый разработчик программного обеспечения, продвинувшийся в своей карьере до лидера группы или выше, неспособен кодировать, потому что он передает часть своих задач по кодированию другим разработчикам.
@ORMapper. Почему бы каждому аспиранту не нанять собственного программиста, согласно идее OP? Итак, в лаборатории с 5 аспирантами у нас может быть еще 5 «персональных программистов». Конечно, эти программисты должны посещать встречи с супервайзерами, поскольку они в любом случае занимаются кодированием и одновременно являются соавторами соответствующих статей. Чтобы аспиранты могли месяц думать об алгоритмах и сидеть без дела следующие полгода, необходимые для реализации алгоритмов. Звучит разумно для вас?
@Alexandros: Как я указал в своем ответе, в некоторых местах абсолютно нормально, что более или менее все докторанты нанимают одного или нескольких студентов для поддержки, например, в области программирования. Они не посещают встречи с супервайзерами, потому что супервайзеры не заботятся о программировании и не говорят о нем, следовательно, эти встречи не связаны с программированием. Задача докторантов — надлежащим образом проинструктировать поддерживающих студентов, как выполнять эти задачи низкого уровня, после обсуждения «общей картины» на более высоком уровне со своими руководителями.
@Alexandros: «Чтобы аспиранты могли думать об алгоритмах в течение месяца и сидеть без дела следующие шесть месяцев» - это просто не то, как это работает. Найм и аутсорсинг осуществляется именно по той причине, что, как правило, докторанты не «сидят без дела» даже один месяц и, следовательно, не имеют времени на трудоемкую, но в конечном счете простую работу, такую ​​как программирование на основе четкой спецификации.
@Alexandros: В качестве мысленного эксперимента увеличьте масштаб еще на один или два уровня. Вы видели, чтобы какие-нибудь профессора тратили месяцы на написание кода, поиск утечек памяти и отладку, потому что в противном случае они месяцами сидели бы без дела, ничего не делая?

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

Повторное использование программного обеспечения с открытым исходным кодом не является этическим вопросом.

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