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

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

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

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

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

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

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