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

40

Я работаю в сфере финансового инжиниринга (после BA Math и BA Computer Science) около 5 лет (20% анализ / программирование, 80% общение) и горжусь своей способностью общаться с людьми и обсуждать технические проблемы (то есть взаимодействие с командой). Мне нравится эта часть моей работы. Идем к белой доске для рисования абстрактных идей и мозгового штурма.

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

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

Райан
источник
14
Вы понимаете, что ответы здесь могут быть немного предвзятыми, верно?
Джей Би Кинг
2
Безусловно, но ответы до сих пор были отличными и очень информативными.
Райан
Я надеюсь, вы понимаете, что ваш вопрос кажется странным для таких людей, как я, которые разбираются в программировании, но уклоняются от работы с персоналом (и не получают этой золотой работы ...), потому что им немного не хватает в отделе коммуникаций. Навыки общения, безусловно, являются плюсом, особенно в контексте командного проекта (scrum + standup встречи ...) и дистанционной работы. Вы также обнаружите, что при пересмотре требований происходит некоторая переформулировка. Есть некоторые обязанности, которые включают меньше программирования и больше координации.
Джеймс П.
Абсолютно нет ..
Луис Рис
2
Инженер-программист, который не может выразить свои идеи как на разговорном, так и на письменном компьютерном языке, ничего не стоит.
Ramhound

Ответы:

53

Вот секрет программирования: это почти 100% общение . Значительная часть этого общения с человеком; остальное - это то, что вы только что узнали, на компьютере.

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

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

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

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

Так что да, ваши коммуникативные навыки послужат вам хорошо.

pdr
источник
Хорошая точка зрения на общение в целом, но может сместить акцент на личные встречи на более личные и письменные.
Джефф
Если вы действительно верите, что реализация проще двух предложенных частей, то вы либо работаете с плохой командой, либо реализация, которую вы делаете, слишком проста. Подсчитайте количество рабочих часов, потраченных на реализацию, и разговоры о внедрении: реализация должна составлять 2/3 от общего числа; если нет, ваш менеджер нуждается в специальной встрече со своим боссом.
Джонатан Клайн IEEE
6
@Jonathan: Я бы довольно сильно отличал трудное время от времени.
фунтовые
3
со временем я узнал, что общаться с компьютером так же сложно, как и с людьми. Дело в том, что большая часть кода, который я пишу, позже читается кем-то другим (что кто-то другой может стать мной месяцем позже, что на удивление не делает его менее сложным) - что для меня по сути возвращает нас к общению с людьми, просто в письменная и косвенная форма. Код - это письмо будущему, кодер - писатель. Джойс кто-нибудь?
комнат
Любой может написать код, понятный компьютеру, хороший программист может написать код, понятный людям.
Майкл Браун
23

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

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

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

FrustratedWithFormsDesigner
источник
1
Полностью согласен с этим. Я только надел наушники, чтобы показать, что я занят.
Иван
7

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

SL Barth - Восстановить Монику
источник
2
Ты вообще программист ??
ЦентрОрбит
2
Да. Я тоже был техническим консультантом некоторое время. Что тебя так расстраивает из-за моего ответа?
SL Barth - Восстановить Монику
Технический консультант как личность, которая идет на встречу клиенту?
Джеймс П.
@ Джеймс П. Это то, что я имел в виду, да - и это то, что я делал, когда был техническим консультантом. Собираюсь в офис клиента и помогаю им решить свои технические проблемы. Очевидно, что разработчикам также нужны сильные коммуникативные навыки, но это уже подробно обсуждалось другими здесь.
SL Barth - Восстановить Монику
6

Навыки общения чрезвычайно важны для разработчика программного обеспечения. Где-то есть статистика (возможно, рядом со статистикой, которая говорит, что 68% всей статистики составлено), которая говорит о том, что большинство программных проектов терпят неудачу из-за плохой связи. Быть человеком, который может общаться с бизнесом (и понимать бизнес) в команде разработчиков программного обеспечения, ДОЛЖНО быть хорошим местом.

jlnorsworthy
источник
6

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

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

Вам также может понадобиться разобраться с пользователями, чтобы собрать требования для спецификации - этот специализированный вид прослушивания (в сочетании с правильными подсказками и вопросами) - это тоже общение!

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

Джон Н
источник
4

Поздравляю. У вас блестящее будущее в качестве инженера приложений, а затем менеджера по разработке приложений (FAE Manager).

В рамках этой профессии вы создадите презентации PowerPoint для клиентов первого уровня, на которых будет написан текст «Программный стек», и вы сможете абстрагировать очень сложные разработки программного обеспечения в прямоугольные блоки разного цвета, часто беспорядочно расположенные; эти презентации будут инициированы ведущими разработчиками программного обеспечения на высших уровнях НИОКР, затем сведены в менталитет клиентов с наименьшим общим знаменателем и впоследствии вставлены обратно в документы с требованиями, которые представляются основным разработчикам программного обеспечения на верхних уровнях. НИОКР в качестве спецификаций «сделай или сломай бизнес». Один из ваших бонусов будет зависеть от либерального использования слова «облако».

Джонатан Клайн IEEE
источник
Следует отметить, что прикладные инженеры обычно получают в среднем на 20-30% больше, чем разработчики одного уровня. Это только потому, что, как лучшие коммуникаторы, они лучше могут требовать более высокую плату; в то время как типичный инженер-конструктор, как плохой коммуникатор, обычно не требует большего. Таким образом, стандарт был установлен, и App Engrs смеялись всю дорогу до банка, каждый день уходя с работы раньше, чем дизайнеры. И упоминал ли я о дорогих обедах вне офиса, когда разработчикам повезло съесть пиццу на вынос в конференц-зале?
Джонатан Клайн IEEE
3

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

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

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

Иордания
источник
3

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

Mathias
источник
2

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

Это правда, что много программирования делается в знак солидарности. Для того, чтобы хорошо программировать, вам НУЖЕН этот фокус и конфиденциальность. Тем не менее, вы действительно думаете, что большую часть вашего времени уходит на программирование? Большая часть вашего времени будет распределена между совещаниями команд, стратегическими беседами, прогулками, размышлениями, обсуждениями и т. Д. На самом деле сидение за столом печатает не всю вашу жизнь. Я помню, как читал исследование в своем курсе по разработке программного обеспечения, что лучшие / самые продуктивные программисты в команде - это общительные, а не интроверты.

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

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

Работа по программированию не должна быть антисоциальной.

Кейси Паттон
источник
2

Навыки общения точно не пропадут. Даже если вы тратите 80% своего времени на написание программного кода, вам необходимо четко понимать, что делает этот код. Эффективное общение с вашим клиентом (или руководителем проекта) необходимо, чтобы ваши усилия не пропали даром и фактически привели к тому, что требуется. Кроме того, вы сможете объяснить свою работу, потенциальные проблемы с дизайном, более простые реализации и т. Д. Тем, кто менее знаком с программированием. Наконец, при программировании интерактивного пользовательского программного обеспечения, навыки коммуникации были бы весьма полезны при разработке пользовательского интерфейса, который предоставляет правильную информацию в удобной для пользователя форме, которая будет понятна. Это также поможет вам получить правильную информацию от пользователя для выполнения работы.

yoozer8
источник
1

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

Если ваша личность имеет черту «лидерства» (на которую вы намекаете), вы очень быстро поднимитесь на вершину. Просто при условии, что вы находитесь в компании, которая позволяет вам расти таким образом.

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

CenterOrbit
источник
1

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

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

Калеб
источник
1

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

Дилан Валаде
источник
1

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

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

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

красно-грязь
источник
0

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

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

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

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

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

оборота ZJR
источник
0

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

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

Джим в Техасе
источник
0

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

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

JeffO
источник