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

16

Я единственный разработчик в моей компании. Я занимаюсь программированием (в ASP.NET 4.0, jQuery и SQL Server 2008) и поддерживаю базу данных и веб-сервер (win 2008 r2).

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

  1. Меня беспокоит то, насколько трудно будет мне приспособиться, когда я переключу свою работу на компанию, в которой больше разработчиков участвует в проекте?
  2. Так как я не придерживаюсь какого-либо шаблона дизайна, будет ли он играть против меня, когда я ищу работу или меняю новую работу?
  3. Какие еще плюсы / минусы вы можете придумать?
bp581
источник

Ответы:

8

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

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

Нехватка спора о решениях за / против - проблема, как описывает Пьер (+1 для него), но коллега в другой компании, у которого есть терпение выслушать то, что вы пытаетесь сделать, и достаточный интерес, чтобы иметь Сильное мнение хорошо выполняет эту роль, иногда лучше, чем коллега, потому что это внешняя точка зрения. (Я до сих пор делаю это, хотя сейчас я работаю в более крупном магазине, это помогает мне быть в курсе того, что делают другие, чтобы решить похожие проблемы и увидеть будущие проблемы в дизайне)

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

Билл
источник
5
Другая проблема с тем, чтобы быть единственным технарем, это когда у вас высокая температура и сильная тошнота, и веб-сервер выходит из строя. Можно надеяться, что у них есть резервный план, кроме доставки ноутбука в больницу, если вас сбил автобус.
Дэвид Торнли
1
Это проблема, но она часто возникает и в крупных компаниях, когда они слишком слабо распределяют свои ресурсы.
Билл
35

Когда ты один, никто не может сказать, что ты не прав

Таким образом, вы можете пойти по неправильному пути некоторое время, даже не зная.

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

Нет необходимости выходить из вашей компании. Быть единственным тоже имеет некоторые преимущества.


источник
3
Это фантастический совет ...
webdad3
4
Ключевое слово "май". Если разработчик прилагает добросовестные усилия, чтобы получать информацию о различных технологиях и методологиях и, что более важно, о данных, которые их окружают, то нет никаких оснований полагать, что он будет выполнять работу на подпаритете. Конечно, разработчики, которые работают в вакууме и просто придерживаются того, что они знают, вероятно, делают себя все более и более устаревшими.
Aaronaught
Согласившись с Пьером, два разработчика могут создать [код или дБ или что-то еще] гораздо лучше, чем любой из них по отдельности] Преимущества увеличиваются с увеличением числа разработчиков, но отдача уменьшается.
jamesbtate
5

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

Плюсы того, чтобы быть единственным программистом

  • Как вы упомянули, у вас часто есть свобода использовать любые инструменты или языки, которые вы можете выучить. Вам не всегда нужно доводить дело до того, как ваши коллеги получат разрешение на работу с New Technology X, в то время как все остальные используют Current Technology Y.
  • У тебя больше обязанностей. По сути, вы выполняете функции руководителя проекта и разработчика в каждом из ваших проектов, и, обладая способностью выявлять и внедрять новые вещи, вы также эффективно становитесь руководителем отдела. (Не говорите об этом продавцам. Они любят общаться с лицами, принимающими решения, а у вас нет времени с ними разговаривать.)
  • Нет сомнений в том, что за выполненную работу нужно отдать должное: очевидно, что только вы и только вы сами сделали все возможное.
  • Вы можете тратить больше времени на работу над собственными проектами и меньше времени на собраниях, посвященных проектам, которые в основном принадлежат кому-то другому (но вы работаете в качестве сотрудника службы поддержки, возможного резервного копирования или чего-то еще).

Cons

  • Как отмечает Дэвид в комментарии, вы - единственный разработчик, поэтому никакая разработка не может быть сделана без вас. Однажды я хвастался своему брату, что я «парень» в конкретном проекте на работе. Он точно описал мою ситуацию для меня: я попал в ловушку. Я не мог двигаться дальше в этой компании, потому что я никогда не смогу избавиться от этого проекта. (Он тоже был прав. Потребовалось несколько месяцев тренировок в течение продолжительного периода времени, прежде чем я смог передать его кому-то, кто был хоть в какой-то мере способен его поддержать.) Вам может быть трудно взять настоящий отпуск, когда ничто не может быть сделано без тебя.
  • Как отмечает Пьер, на сайте нет никого, кто мог бы делать обзоры кода или делиться с вами передовым опытом. Вы можете связаться со сверстниками по-разному, но ничто не так эффективно, как постучать коллегой по плечу и попросить ее взглянуть на ваш код в течение 5-10 минут.
  • В том же духе вы можете испытать трудности при получении новых инструментов. Выездное обучение может быть таким же редким, как и отпуск: кто-то будет жаловаться на то, что компания не может позволить себе не смотреть язык 3.0 в течение недели, когда некому поддерживать приложения Language 2.0.
  • Карьерный рост может быть чрезвычайно сложным для управления. У вас может не быть позиции, к которой вы можете стремиться, даже изменение названия может быть затруднительным, а обзоры на конец года не имеют никакой системы отсчета, поэтому отличная работа может остаться в значительной степени незамеченной, если ни для кого другого Причина, по которой никто не понимает, что вы делаете.

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

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

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

Дейв ДюПлантис
источник
2

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

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

Пожалуйста, не принимайте это как атаку на вас лично. Я также одинокий программист, но ищу команду как можно скорее.

Matt
источник
Самостоятельная разработка означает, что вы упускаете «картонного программиста», который часто является полезным инструментом. По сути, наличие кого-то другого для объяснения проблемы часто означает, что решение представляет собой промежуточное объяснение (до того, как у другой стороны появится возможность внести предложения)
Фил Лелло,
0

Я согласен с @Pierre 303 ответить на 100%. Я также добавил бы, что вы должны взять на себя обязательство учить себя надлежащим практикам. Может быть, сертификация тоже поможет.

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

Похоже, у тебя хороший концерт ... Я бы держался за него.

Просто мои 2 цента.

webdad3
источник
0

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

Как применить agile к личным проектам?

Джефф Свенсен
источник
Есть ли какая-нибудь ссылка, чтобы найти пример проекта complate с использованием всех методологий, таких как SDLC, Agile ... и т. Д.?
bp581
Не зацикливайтесь на таких словах, как «Agile» и «Scrum»; их только формальные определения методов, которые успешные команды уже использовали. Тем не менее, они полезны, если вам не повезло работать где-то, где это естественная часть окружающей среды.
Фил Лелло