Я працював єдиним розробником у компанії, яка знала конкретну технологію, як єдиний, хто робив тип програмування, який я робив, і як підрядник у подібних ситуаціях. (Я також працював у командному середовищі з іншими розробниками, які знали різні інструменти, та з іншими розробниками, які робили саме те, що я робив.)
Плюси бути єдиним програмістом
- Як ви згадуєте, ви часто маєте свободу користуватися будь-якими інструментами чи мовами, які, на вашу думку, можете вивчити. Вам не завжди потрібно робити справу перед однолітками, щоб отримати дозвіл на роботу з New Technology X, тоді як усі інші використовують поточну технологію Y.
- У вас більше обов’язків. По суті, ви працюєте як керівник проекту, так і розробник у кожному з своїх проектів, і, маючи здатність визначати та впроваджувати нові речі, ви ефективно працюєте і керівником відділу. (Не кажіть продавцям цього. Вони люблять спілкуватися з особами, які приймають рішення, і у вас немає часу поговорити з ними.)
- Немає сумніву в заслугах за роботу, яку ви виконали: очевидно, що ви і тільки ви самі зробили щось.
- Ви можете витратити більше часу, фактично працюючи над власними проектами, і менше часу на зустрічі щодо проектів, які в основному є чужими (але ви там, як людина, яка підтримує, можливе резервне копіювання тощо).
Мінуси
- Як зазначає Девід у коментарі, ви єдиний розробник, тому жодна розробка не обходиться без вас. Я одного разу похвалився з братом, що я "хлопець" на певному проекті на роботі. Він точно описав мою ситуацію для мене: я потрапив у пастку. Я не міг рухатись у цій компанії, тому що ніколи не зміг би позбутися цього проекту. (Він теж мав рацію. Минуло кілька місяців тренувань протягом тривалого періоду часу, перш ніж я міг би віддати його тому, хто навіть дещо здатний його підтримати.) Можливо, вам буде складно взяти справжню відпустку, коли нічого не може обійтися без тебе.
- Як зазначає П'єр, на сайті немає нікого, хто б робив огляд коду чи ділився кращими практиками з вами. Можна звертатися до ровесників різними способами, але ніщо не є настільки ефективним, як постукати колегу по плечу і попросити її подивитися ваш код протягом 5-10 хвилин.
- У подібному руслі у вас можуть виникнути труднощі з отриманням досвіду нових інструментів. Виїзд на тренінг може бути таким рідкісним, як і час канікул: хтось скаржиться, що компанія не може дозволити собі переглядати мову 3.0 протягом тижня, коли немає кому підтримувати роботу програм Language 2.0.
- Просування в кар’єрі може бути надзвичайно важким для управління. У вас може не бути позиції, до якої ви можете прагнути, навіть зміна заголовка може бути важкою, і огляди на кінець року не мають жодної орієнтації, тому відмінна робота може залишитися непоміченою, якщо ні для кого іншого Причина, ніж це, ніхто насправді не розуміє, що ти робиш.
Якщо ви вирішили перейти в компанію, де ви працювали б у складі команди програмістів, я не думаю, що ваш сольний досвід, ймовірно, вам сильно зашкодить. Ваша відсутність досвіду дизайнерських моделей не обов'язково така важлива, як ваша бажання вивчити їх. (Можуть бути ситуації, коли ви берете інтерв'ю проти кандидата, який має подібний досвід, а також маєте досвід будь-яких методів, якими користується компанія, але це стосується в основному всіх.)
В той же самий спосіб ваш недолік досвіду в команді врівноважується вашою здатністю носити багато шапок. Є деякі розробники, які є хорошими гравцями команди, але ніколи не розвивають здатність керувати проектом; ви вже показали, що можете це зробити.
Я б рекомендував, коли ви є соло-розробником, вам слід провести деякий час, читаючи про інструменти та методи, якими користуються подібні розробники, тому навіть якщо ви самі не використовуєте їх, ви знаєте, що вони існують, і ви можете звернутися до їх під час інтерв'ю, навіть якщо тільки сказати "Так, я читав трохи про рамки MVC, але сам не використовував їх". Робіть все, що ви можете, щоб підтримувати зв’язок з іншими розробниками: відвідуйте місцеві зустрічі групи користувачів, читайте та коментуйте блоги (або зберігайте один із них), намагайтеся час від часу відвідувати семінари, переглядайте вебінари тощо. (Ви також можете розглянути такі сайти, як lynda.com, для внутрішніх занять: це не так добре, як тижнева конференція десь в іншому місці, але ви можете переглядати відео в свій час і не відправляти всіх у панічний режим, тому що ви поза офісом.)