На самом деле разработчик также администрирует СУБД и систему? [закрыто]

21

Я действительно не знаю, где еще спросить. Так что вот так.

Я работаю в очень маленькой компании, которая занимается разработкой программного обеспечения и веб-сайтов ERP.

1 разработчик с опытом + 10 лет.
2 разработчика с опытом работы + 3 года.
3 разработчика с опытом работы + 1 год.

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


Я знаю, что в небольшой компании вас просят сделать много разных вещей, но не слишком ли много, если мне придется заниматься сисадмином, архитектурой баз данных, проектированием и разработкой программного обеспечения? О, плюс меня просят сделать все это на разных платформах.
В настоящее время я работаю с JSP, ASP, MSSQL, MySQL, Oracle, Windows Server и Linux.
В базе данных я делаю от написания запросов до резервного копирования и восстановления.
Настройка сервера, восстановление после сбоя системы, миграция БД и сервера.
Плюшевые HTML, Javascript и CSS :)
Количество проектов, за которые я отвечаю: 5

Я не эксперт по всем из них!
Я должен искать в Интернете, читать учебники и задавать вопросы в StackOverflow, чтобы получить все это сделано!

Поэтому я спрашиваю вас, это нормально?
Это нормальная практика?
Буду ли я сталкиваться с той же ситуацией, какой бы маленькой компанией я ни был?
Я работаю в Южной Корее.
Как у вас в стране?

PS Спасибо всем за ваше мнение. Я собирался выразить всем вам признательность, потому что все вы помогли мне увидеть это по-другому, но, очевидно, вам нужно 15 репутации, чтобы проголосовать :(

господствующий
источник
36
Считай, что тебе очень повезло. У вас есть возможность выучить самые разные навыки, и вам за это платят.
Роберт Харви
2
Да, я так думаю. Я не особо жалуюсь, но спрашиваю, нормальная ли это практика. О, может быть, я должен добавить это к вопросу.
Асцендент
Слишком много это зависит от вас. Как уже говорили другие в своих ответах, для небольших компаний весьма характерно, чтобы люди удваивались на другие должности. Если вы чувствуете, что это ошеломляет, в той мере, в которой ваша работа страдает из-за этого, то это то, что стоит обсудить с вашим менеджером. Аналогичным образом, если вы делаете так много других вещей, которые вы не хотите делать, а также вещи, которые вы хотите делать (и на которых работали), то снова обсудите это с вашим менеджером или начните искать другие роли. Лично мне нравится заниматься сисадмином и скучать по нему, когда я в большой компании, где меня не пускают на серверы. ;-)
Крис
3
Ты не один. Я делаю все (и я действительно имею в виду все ) в моей компании. DBA, sysadmin, программист, веб-разработчик, поддержка пользователей, работа в сети, все работы.
MikeTheLiar

Ответы:

33

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

Однако для такой маленькой компании было бы необычно использовать такой широкий спектр технологий. JSP и ASP? Windows и Linux? SQL Server, MySQL и Oracle Обычно небольшие компании ориентируются на одну технологическую платформу, чтобы избежать слишком узкого распространения.

Если бы ваша работа заключалась в разработке полного стека на одной платформе - например, ASP.NET + SQL Server + Windows или Java + Oracle + Linux - вы бы все еще чувствовали себя подавленными?

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

Carson63000
источник
Благодарю. Просто добавьте еще одну вещь, если бы меня попросили также разработать и поддерживать программное обеспечение ERP в SAP PowerScript, будет ли это все еще обычной практикой? или оно будет слишком тонким?
Асцендент
Хотя @PerfectGundam не объяснил, почему у его работодателя такое разнообразие платформ; закончить со значительным использованием нескольких не так уж сложно, если у вас нет возможности переписать устаревшие системы, когда вы меняете платформы для новых разработок. Случаи, когда выбросы составляют лишь небольшую долю от общего количества, могут происходить, когда случайная ниша не имеет хорошего выбора на предпочтительной платформе компаний. И если компания разрабатывает программное обеспечение для третьих лиц; Создание материала, подходящего для предпочтительного стека клиентов, может привести к огромному сбиванию с толку платформ, каждая из которых используется один или два раза.
Дэн Нили,
@DanNeely - о, я не сомневаюсь, что именно так и произошло. Для небольшой компании типа агентства всегда есть риск сказать «да» чему-либо, потому что получение продажи более важно, чем мелкие детали, такие как «есть ли у нас кто-нибудь, кто действительно способен выполнить эту работу?» :-)
Carson63000
14

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

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

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

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

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

Йоахим Зауэр
источник
13

При перечислении задач, которые должен выполнить разработчик, вы также можете указать:

  • Интерактивный дизайн,
  • Визуальный дизайн,
  • Юзабилити,
  • Безопасность,
  • Сбор требований,
  • Тестирование и QA,
  • Развертывание,
  • Обслуживание,
  • Управление проектом,
  • Управление командой,
  • и т.п.

По сути, это разница между программистом и разработчиком .

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

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

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

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

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

Начните работать над большими проектами, и вы увидите, что ваша роль будет уже, но в то же время глубже. Вся ваша работа может заключаться в написании CSS-кода, но вы должны будете знать любую причуду CSS и уметь очень быстро разрабатывать веб-приложения на основе работы визуального дизайнера. У вас не будет оправдания, если вы не сможете объяснить преимущества Sass по сравнению с LESS или если вы не знаете, что такое CSS-спрайты.

Вам решать, что вы предпочитаете.

  • Нет ничего плохого в том, чтобы быть мастером на все руки, тем более что это позволяет вам быть достаточно гибким: если есть спрос на системных администраторов, у вас есть навыки. Если спустя несколько лет никому не нужны системные администраторы, но теперь веб-разработчикам хорошо платят, вы также можете подать заявку.
  • Нет ничего плохого в том, чтобы сфокусироваться на узком поле. Если у вас есть глубокие знания в этой области, вас могут заинтересовать крупные компании с большим количеством денег, потому что специалистов с вашим уровнем квалификации будет мало.
Арсений Мурзенко
источник