Как программист, сколько вы должны знать вне программирования? [закрыто]

Попробуйте использовать Carbon

$d1 = \Carbon\Carbon::now()->subDays(92);
$d2 = \Carbon\Carbon::now()->subDays(10);
$days_btw = $d1->diffInDays($d2);

Также вы можете использовать

\Carbon\Carbon::parse('')

, чтобы создать объект даты Carbon с использованием заданной строкой timestamp.

15
задан 7 revs, 5 users 100% 3 October 2011 в 11:21
поделиться

18 ответов

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

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

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

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

24
ответ дан 1 December 2019 в 01:17
поделиться

Это во многом зависит от типа программного обеспечения, которое Вы в настоящее время разрабатываете

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

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

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

0
ответ дан 1 December 2019 в 01:17
поделиться

Моя должность является "Главным Разработчиком программного обеспечения". Фактически, в течение большинства прошлых нескольких лет, я сделал довольно мало разработки программного обеспечения, но действительно делал много из:

Системы и веб-администрирование

Статическая разработка веб-страницы с HTML (я не полагаю, что программирование, хотя я сделал PHP, CGI и JavaScript).

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

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

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

Работа в (США). правительственное средство, существует много документов и потребности знать много правительственного регулирования (например, Закон о свободе информации)

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

0
ответ дан 1 December 2019 в 01:17
поделиться

[режим напыщенной речи на] Ха, проклятие Excel и Word.

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

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

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

0
ответ дан 1 December 2019 в 01:17
поделиться

Вы не являетесь одними там. Положение, в котором я зарегистрировался, было "Веб-разработчиком ASP.NET"... Однако мое задание состоит из:

  • Администрация Windows Server
  • Ограниченная администрация Linux (рабочая вершина для контроля загрузки ЦП и изменения апачских конфигураций)
  • Администрация LDAP / настройка
  • Администрация SQL Server MS 2005 года / настройка
  • Разработка базы данных
  • Разработчик Crystal Reports
  • Сценарии Perl
  • C# разработка Win32
  • C# / веб-Разработка ASP.NET
  • Управление пользовательскими правами доступа для Windows Server
  • Ограниченный сетевой поиск и устранение неисправностей

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

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

0
ответ дан 1 December 2019 в 01:17
поделиться

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

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

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

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

Paul.

0
ответ дан 1 December 2019 в 01:17
поделиться

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

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

Незнание будет, в конечном счете, наказано. Если не Вашими коллегами и управлением, мир сделает это. Проверьте обзор заголовков или РИСКОВ любой недели на примеры, где незнание системной среды вызывает программную ошибку.

0
ответ дан 1 December 2019 в 01:17
поделиться

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

0
ответ дан 1 December 2019 в 01:17
поделиться

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

Я работал в компании, где я был ответственен за все "связанное с компьютером" включая домен, ПК, базу данных, заказное программное обеспечение, сборки, MS Office, PowerPoint, Quickbooks...; средняя компания, где это была разработка и сборки; и крупная компания, где я фокусируюсь только на коде .NET для своего проекта (кто-то еще обрабатывает базу данных и другое создание отчетов дескрипторов).

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

0
ответ дан 1 December 2019 в 01:17
поделиться

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

0
ответ дан 1 December 2019 в 01:17
поделиться

Люди вокруг места работы, вероятно, ожидают, что программист будет их парнем IT HelpDesk... это происходит здесь со мной. argh.

0
ответ дан 1 December 2019 в 01:17
поделиться

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

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

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

0
ответ дан 1 December 2019 в 01:17
поделиться

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

1
ответ дан 1 December 2019 в 01:17
поделиться

Ожидаемый? Почти ничто, но общий всегда действительно счастливый, когда Вы знаете больше.

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

Вещи, которые предстали передо мной:

  • сбор требований
  • запись вариантов использования
  • оценка планов тестирования
  • согласование с поставщиками
  • налоговое право
  • правила признания доходов
  • идеи о том, как пользователи ведут себя
  • основная экономическая теория
  • инструкции по удобству использования
  • различия в поведении потребителя в разных странах
  • системное администрирование (являющийся полным на системном администраторе)
  • конфигурация базы данных, оптимизация, установка (в основном являющийся DBA)
  • системы контроля
  • сетевые принципы и методы (Вы были бы поражены, насколько удобный трассировка пакетов может быть при отладке чего-то...),
  • способность оценить бизнес-план, записанный кем-то еще
  • обработка изображения
  • как разрядить обстановку и избежать аргументов
  • как загнать кого-то в угол и сделать их для согласия на что-то, когда они не хотят
  • как выбрать сражения
5
ответ дан 1 December 2019 в 01:17
поделиться

Вероятно, зависит от размера компании, на которую Вы работаете. Как кто-то, кто работал главным образом в малых и средних компаниях, я также был ответственен за:

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

2
ответ дан 1 December 2019 в 01:17
поделиться

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

Например, если приложение посылает электронное письмо как часть его операции ее полезное, чтобы иметь разработчиков, хорошо осведомленных в конфигурации SMTP и DNS.

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

1
ответ дан 1 December 2019 в 01:17
поделиться

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

3
ответ дан 1 December 2019 в 01:17
поделиться

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

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

1
ответ дан 1 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: