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

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

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

Эта концепция, конечно, не часто упоминается в школьных системах, и это то, о чем должны спрашивать как младшие, так и старшие разработчики. Софтверные компании, такие как Google и Facebook, на 100% инвестируют в программное обеспечение и разработчиков, которые его создают. Это не всегда происходит с компаниями, которые получают прибыль от других продуктов, кроме самого программного обеспечения, и программисты должны быть очень осторожны в таких ситуациях.

Какая разница?

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

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

Вы никогда не сможете делать все правильно. Вы всегда должны поступать так, как нужно.

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

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

Примите ситуацию

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

Будьте сторонниками разработки программного обеспечения

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

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

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

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

Поощряйте, но ограничивайте сотрудничество

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

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

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

Общение - ключ к успеху

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

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

Заключение

Лучше работать в софтверной компании? Это действительно зависит от обстоятельств. Безусловно, существует множество преимуществ, и программисту, который хочет продвинуться вперед на протяжении всей своей карьеры, вероятно, следует придерживаться компаний-разработчиков программного обеспечения. Однако для тех, кто готов приложить усилия, поработать над мягкими навыками и немного выйти за пределы IDE, работа в компании, не связанной с программным обеспечением, может быть действительно полезным опытом.

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

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

Хакерский полдень - это то, с чего хакеры начинают свои дни. Мы часть семьи @AMI. Сейчас мы принимаем заявки и рады обсуждать рекламные и спонсорские возможности.

Если вам понравился этот рассказ, мы рекомендуем прочитать наши Последние технические истории и Современные технические истории. До следующего раза не воспринимайте реалии мира как должное!