Как программист, сколько вы ожидаете узнать за пределами программирования?
Мне интересно, что вы делаете программистом, а не программируете, но необходимы для своей задачи (например: локальная настройка, настройка сервера, развертывание и т.д.). Мне любопытно узнать, сколько людей, не связанных с программированием, выполняют люди.
Например, когда в проектах веб-разработки я часто:
- Установить серверы
- Управление правом пользователя/доступом к серверам
- Выполнение резервных копий
- Настройка IIS/Apache
- Настройка FTP-сайтов
В не-веб-проектах я часто:
- Записать сценарии сборки
- Инструменты и процедуры управления исходными кодами установки
- Вероятно, больше вещей, о которых я не думаю.
Некоторые задачи больше связаны с программированием, чем другие (например, написание сценариев сборки), но другие выходят за рамки моей компетенции (настройка домена приходит на ум). Просто интересно узнать, сколько людей выполняют задания на своих работах, которые не связаны с программированием.
Ответы
Ответ 1
Печальная реальность заключается в том, что нетехнические люди смотрят на технических людей и ожидают, что они узнают все, что связано с технологией, не понимая, что в технологиях есть специализации, о которых мы ничего не знаем.
Я часто думаю, что это очень похоже на доктора, который специализируется на определенной дисциплине. Все врачи имеют базовые знания в области медицины, но не будут знать специфику других специализаций (кардиолог не будет знать столько об анестезиологии и наоборот).
Поэтому, хотя я считаю, что людям не следует ожидать, что технологи все узнают, я думаю, что им разумно ожидать, что мы что-то узнаем, когда речь заходит о технологии.
Я думаю, что более важным аспектом этого вопроса является то, как много ожидается, что он узнает о конкретной области, где они применяют свои навыки (финансы, производство и т.д. и т.д.). Я считаю, что это невероятно важно, поскольку знание этого домена делает их гораздо более ценными как программист, так как они могут понимать проблемы на глубоком уровне и, как результат, предоставлять им более комплексные решения.
Ответ 2
Ожидаемое? Почти ничего, но каждый всегда очень рад, когда вы знаете больше.
Чем больше вы знаете за пределами узких границ программирования, тем более ценным вы пользуетесь своим работодателем.
Вещи, которые пришли ко мне:
- сбор требований
- использование прецедентов
- оценка планов тестирования
- переговоры с поставщиками
- налоговое право
- правила признания доходов
- идеи о том, как пользователи ведут себя
- основная экономическая теория
- руководящие принципы обеспечения удобства пользования
- различия в поведении потребителей в разных странах
- системное администрирование (полное спящий режим)
- конфигурация базы данных, оптимизация, настройка (в основном это DBA)
- системы мониторинга
- сетевые принципы и методы (вы были бы удивлены тому, насколько удобна трассировка пакетов при отладке чего-то...)
- возможность оценить бизнес-план, написанный кем-то другим.
- манипуляция изображениями
- как рассеять ситуацию и избежать аргументов
- как уговорить кого-то и заставить их совершить что-то, когда они не хотят
- как выбрать битвы
Ответ 3
Я думаю, что умение не-программировать, которое я использую больше всего в своем задании на программирование, - это писать. Очень важно иметь возможность объяснять идеи, проекты, алгоритмы и т.д., И вы никогда не можете рассчитывать на то, что будете делать это лично (или иметь время). Я трачу много времени на работу, составляя проектные документы и другую документацию, чтобы другие инженеры могли обойти мой код и алгоритмы. Поэтому я очень благодарен за то, что у меня были хорошие письменные занятия в школе, и я могу составить предложение вместе.: -)
Ответ 4
Вероятно, зависит от размера компании, в которой вы работаете. Как человек, который работал главным образом на предприятиях малого и среднего бизнеса, я также отвечал за:
создание, управление и настройка базы данных
поддержка внутренних приложений, которые я запускаю
управление сертификатами веб-сайтов
настройка внешнего хостинга
и я уверен, что там больше.
Ответ 5
Ну, так как основным инструментом программиста является его компьютер, я думаю, что справедливо взять на себя некоторый опыт. Большинство тех вещей, которые вы описали, трудно для кого-то, незнакомого с компьютерами, но довольно легко (даже с небольшим опытом) для тех, кто понимает этот домен и знает, как найти и прочитать документацию.
В большом, хорошо организованном бизнесе или проекте я ожидал бы, что кто-то более точно знаком с такими административными вещами, чтобы позаботиться о них. Однако, если их недостаточно, чтобы гарантировать работу на полный рабочий день, я не думаю, что было бы необоснованно иметь на ней какую-либо компетентную работу; и программисты, вероятно, во главе очереди в этом отношении.
Ответ 6
Я нахожу, что подавляющее большинство "ошибок", обнаруженных пользователями, представляют собой проблемы с конфигурацией с системами, на которых установлено приложение. Желательно, чтобы разработчики, которые понимают общие ошибки в установке машины и сети, очень желательны.
Например, если приложение отправляет электронную почту как часть своей работы, полезно использовать разработчики в настройках DNS и SMTP.
Конечно, это зависит от вашего размера бизнеса, крупные организации могут, вероятно, защитить разработчиков от этого, используя других специалистов.
Ответ 7
Я понял, что меня никогда не нанимают на настоящую работу, но как решатель проблем. Я выясняю, что происходит, и исправляю это через код или программное обеспечение или что-то в сети, это, по-видимому, основное восприятие того, чего хотят клиенты.
Ответ 8
Это сильно изменится в зависимости от того, где вы находитесь. Я работал с людьми, которые не знают этого, и люди, которые являются экспертами.
Знание этого поможет вам. В общем, всегда лучше понимать среду, в которой работает ваш код. Не понимая контекста, вы несколько беспомощны.
Кроме того, часто возникают ошибки, которые не связаны с кодом, а связаны с конфигурацией, например, страница не отображается из-за конфигурации apache. Вы очень не в состоянии отлаживать, если не понимаете среду.
Ответ 9
Люди вокруг рабочего места, вероятно, ожидают, что программист станет их игроком IT HelpDesk... это происходит вокруг меня. Argh.
Ответ 10
Где я работаю, все разработчики, как ожидается, смогут использовать Subversion и должны иметь возможность настраивать и настраивать Apache и Tomcat на своем ПК.
Ответ 11
Самая большая проблема заключается не в технических проблемах, связанных с получением и запуском среды, а в области знаний, необходимых для эффективного создания программного обеспечения в небольшом магазине. Для меня я работаю над множеством различных проектов из самых разных источников в основном изолированной среде разработки. Это означает, что мне нужно быстро продвигаться по домену проекта, чтобы быть эффективным в разработке решения. Раньше я работал над решениями для учета печати, активным управлением каталогом, базами данных исследований и в настоящее время квази-CRM-решением для благотворительной организации. Мне жаль, что я только должен был знать орехи и болты, чтобы настроить мою среду разработки и сборки.
Ответ 12
Часто это зависит от размера компании. В небольшой компании вы должны знать, как делать все, включая системный администратор и сетевой администратор, даже если ваша работа сосредоточена на программировании.
В большой компании вы можете увидеть маленький кусочек вселенной, и им часто не нравится, когда вы заглядываете за пределы своей коробки. Вам не только не нужно учиться всему, они часто недовольны вами, если вы пытаетесь.
Тем не менее, чем больше вы разбираетесь в машинах, тем, как они работают, и как они функционируют в операционной среде, тем легче диагностировать проблемы и писать более качественное программное обеспечение. Чем больше вы понимаете домен, на который вы пишете приложения, тем лучше вы можете различать потребности пользователей и их желания.
Одна из самых крутых вещей о том, чтобы быть разработчиком программного обеспечения, - у вас есть пожизненное оправдание за то, что вы вставляете нос в технологии и в различные бизнес-области. Если вы переместились в несколько разных отраслей, вы, как правило, загружаетесь со всеми интересными лакомыми кусочками. Всегда есть чему поучиться...
Павел.
Ответ 13
Хорошо проявлять себя к другим технологиям, но я действительно думаю, что это плохая идея для вас не полностью раскрывать тот факт, что вы не являетесь экспертами в этих областях (например, настройка домена). Я работал с людьми, которые думали, что они могут все это сделать, но в конечном итоге делали эти задачи настолько плохо, что все время (и деньги), которые они потратили, пытаясь понять это правильно, консультанту пришлось бы заплатить несколько раз.
Я работал в компании, где я отвечал за все "связанные с компьютером", включая домен, ПК, базу данных, пользовательское программное обеспечение, сборки, MS Office, PowerPoint, Quickbooks...; компания среднего размера, где она разрабатывалась и строилась; и крупная компания, где я сосредоточен исключительно на .Net-коде для моего проекта (кто-то другой обрабатывает базу данных, а другой обрабатывает отчетность).
Компания среднего размера была лучшим опытом до сих пор (довольно новая в крупной компании), где мне была предоставлена достаточная ответственность, чтобы чувствовать себя полезной и у меня был легкий доступ ко всем остальным, чтобы задать вопросы об этих других задачах.
Ответ 14
Ты не один. Позиция, на которую я подписалась, была "ASP.NET Web Developer"... Однако моя работа состоит из:
- Администрирование Windows Server
- Ограниченное администрирование Linux (работает
сверху, чтобы контролировать загрузку процессора и изменять конфигурации apache)
- Администрирование и настройка LDAP
- Администрирование MS SQL Server 2005/
Настройка
- Разработка баз данных
- Разработчик Crystal Reports
- Perl Scripts
- С# Win32 Developement
- С#/ASP.NET Web Developement
- Управление правами доступа пользователей для
Серверы Windows
- Устранение неполадок с ограниченной сетью
Будучи в компании, которая постоянно стремится к высшей "Эффективности операций", мой список задач растет только с каждым днем. Я тоже не составлял этот список. Все пункты, упомянутые выше, я либо затронул, либо поддержал в последние 3 года, в которых я работал в этой компании.
Говоря, что в хорошем магазине разработки у вас должна быть одна конкретная задача. Как говорится, Джек всех профессий... хозяин никого.
Ответ 15
Это сильно зависит от того, что вы программируете. Если вы используете низкоуровневые драйверы устройств, важно, чтобы вы понимали базовое оборудование. Если вы используете автономное приложение Java, тем лучше вы понимаете JVM и библиотеки, которые используете, тем лучше, но не обязательно знать много.
В целом, чем больше вы понимаете о своей системной среде, тем лучше. Насколько ваши коллеги и руководство ожидают от вас знать, зависит от них.
Незнание, в конце концов, будет наказано. Если не ваши сверстники и руководство, мир это сделает. Проверяйте любые заголовки недель или дайджест RISKS для примеров, когда незнание системной среды приводит к сбою программного обеспечения.
Ответ 16
[режим rant on]
Ха, проклятие Excel и Word.
Внешняя работа - особенно друзья и семья, но иногда, когда вы консультируетесь или поставляете программное обеспечение, любой и все нетехнические люди ожидают, что вы это поймете. Там этот внутренний стон, когда кто-то просит вас взглянуть на небольшую проблему, с которой они сталкиваются с некоторыми аспектами Office. И поскольку это клиент, и вы хотите оказаться полезным, вы согласны.
Вот только это общее предположение, что, поскольку вы являетесь разработчиком, у вас есть врожденные знания о настройке таблиц, исправлении шаблонов Word и любых других офисных технических заданий, и, кроме того, вы можете бросить взгляд на некоторые плохо сконфигурированные Office mess и немедленно диагностируйте, в чем проблема.
Я могу только просто собрать таблицу, чтобы запланировать мои повторные счета-фактуры и настроить шаблон Word для их записи. Я тоже регулярно говорю людям, но никто никогда не слушает.
Ответ 17
Это зависит от типа программного обеспечения, которое вы в настоящее время разрабатываете.
Например, когда я работал над программным обеспечением для локального правительства, мне приходилось изучать такие вещи, как
- Каковы правила регистрации животных (домашних животных). Каковы типы регистрации, какие скидки применяются, каковы штрафы за несоблюдение своевременно.
- Как рассчитываются тарифы совета. Как повышаются ставки ежегодно (на самом деле алгоритм повышения годовых ставок и его реализация был самой сложной задачей, с которой я встречался до сих пор).
- Как выдаются разрешения на строительство. Какие типы проверок могут быть выполнены. Кто участвует в процессе выдачи разрешения на строительство (владелец, строитель, архитектор, офицеры и т.д.).
- Как часто считываются счетчики воды. Как назначаются счетчики воды для свойств, сколько циферблатов находится на водомете, как отсоединить счетчик воды от одного объекта и подключиться к другому.
- Что такое разные типы пенсий. Какие разные скидки предоставляются в зависимости от типа пенсионного обеспечения.
- Каковы разные типы квитанций. Существуют различные типы терминальных принтеров (те, которые используются для печати небольших квитанций), и как их печатать.
- Что такое свойства, дети слоев, какие правила деления свойств на "паркеты"...
Ну, это только часть материала, не связанного с программированием, который я узнал за 2 года проекта. Самое печальное, что сейчас, когда я переехал в другую компанию, очень мало шансов, что любое из этих знаний я когда-либо буду использовать.
Ответ 18
Моя должность - "Старший инженер-программист". На самом деле, на протяжении большей части последних нескольких лет я занимался довольно небольшим развитием программного обеспечения, но делал много:
Системы и веб-администрирование
Статическая разработка веб-страниц с помощью HTML (я не считаю это программирование, хотя я сделал PHP, CGI и JavaScript).
Как говорили другие, справочные службы сортируются, хотя и не так сильно, как в прошлом.
Как "руководитель задачи", я ожидаю, что у меня найдутся некоторые люди/управленческие навыки, хотя обычно это связано с написанием ежемесячных отчетов. Время от времени я также втягиваюсь в материал CMMi, что в идеальном мире может быть несколько актуальным, но обычно это просто учет, поэтому работодатель может предлагать новые контракты, требующие его.
Работая в научной лаборатории, нужно знать какую-то науку, особенно если вы хотите/должны работать над кодом, выполняющим научные вычисления.
Работа в правительственном учреждении (США), там много документов и необходимость знать много государственного регулирования (например, Закон о свободе информации)
К счастью, недавно я сделал внутреннюю передачу, где делаю больше работы по разработке и меньше этого другого!
Ответ 19
Лично я считаю, что знание большего всегда хорошо, оно открывает путь к следующему уровню. Самое сложное в жизни - это точка интеграции. Буквально. Люди много внимания уделяют специализации, но не забывайте, что вам нужны люди, которые могут оседлать оба мира.