Означает ли наличие более высокооплачиваемой технической работы, что вы больше не можете писать код? [закрыто]

58

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

  1. Разработчик на схватку команды , которая разрабатывает для одного продукта и , возможно , работает с другими командами, которые тесно связаны с продуктом.
  2. Архитектор , который является более консультант по нескольким командам (5-6) и пытается распознать сходства между усилиями команды , которые можно были бы абстрагируются в библиотеки (архитекторы не писать код библиотеки, однако). Этот архитектор также посещает множество встреч с руководством и пытается установить техническое направление.

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

Мои вопросы: работают ли большинство компаний таким образом, что их самые высокооплачиваемые технические специалисты далеки от написания кода? Это естественная тенденция для карьеры разработчика? Может ли разработчик иметь все это (код И установить направление?)

c_maker
источник

Ответы:

75

Работают ли большинство компаний таким образом, что их самые высокооплачиваемые технические специалисты далеки от написания кода?

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

Это естественная тенденция для карьеры разработчика?

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

Может ли разработчик иметь все это (код И установить направление?)

Абсолютно. Хотя вы должны понимать , что количество кодирования будет идти вниз. Вы просто не сможете хорошо выполнять эти другие ценные вещи, если вы проводите 80% дня в одиночестве в IDE.

Другой вариант, который случается, это выбор «главного инженера» из-за отсутствия лучшего термина. Некоторые разработчики очень специализированы. Я работал с кем-то, например, кто написал гигабитные драйверы Ethernet для Linux. Он нуждался в том, чтобы он выполнял такую ​​работу за нас, и, поскольку только немногие люди могли выполнять эту работу хорошо, он зарабатывал кучу денег в дополнение к написанию кода большую часть своего дня.

Большинству компаний такая специализация не нужна. Они просто собирают данные вместе или создают еще один веб-сайт / мобильное приложение.

Telastyn
источник
1
Этот. Тем не менее, в большинстве иерархий есть несколько позиций между средней «обезьяной кода» и архитектором; Младшие разработчики, разработчики, старшие разработчики, руководители команд и даже руководители проектов часто работают под руководством архитектора программного обеспечения. Вплоть до менеджера проекта, большинство из этих должностей по-прежнему являются основными программистами, с постепенно увеличивающимися надзорными / консультативными рабочими функциями, с квантовым скачком при переходе к PM, что в значительной степени облегчает все обязанности по кодированию в пользу управления ресурсами и персоналом. Архитекторы, как правило, прыгают через PM, чтобы оставаться ближе к кодированию, но получают власть над несколькими проектами.
KeithS
1
Отличный ответ. И ваш комментарий по поводу "иметь все это" на месте. Недавно я принял сознательное решение изменить свой карьерный путь, чтобы вернуться к написанию кода. Мне посчастливилось найти компанию, которая могла бы использовать как мои архитектурные навыки, так и навыки программирования. Их определенно сложно найти.
3
«Большинство плохих компаний». Точный и лаконичный. +1
2012 г.
Google / Find в твиттере Джон Кармак ( twitter.com/ID_AA_Carmack ) Он является основателем / техническим директором ID Software, и все же он пишет код каждый день. Отличный пример.
Кодиша
Пример счетчика @kodisha Линус Торвальдс . Кажется, он не так много кодирует, как раньше.
Автодидакт
8

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

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

orip
источник
4

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

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

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

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

Я думаю, что лучшие архитекторы программного обеспечения практичны. Я видел хорошую статью http://www.infoq.com/articles/brown-are-you-a-software-architect Посмотрите на часть 4 Проектирование, разработка и тестирование.

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

Wes
источник
0

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

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

nbv4
источник
1
+1 «Худшие менеджеры в моем опыте, где те, кто остался, отказываются от кодирования»
Вадимо
Вы были процитированы в этой статье: хорошая карьера или веселое программирование: вы не можете иметь оба .
Хенрик