В чем разница между колледжем и корпоративным программированием? [закрыто]

Я только что закончил степень бакалавра в области ИТ. Я глубоко заинтересован в кодировании и действительно хочу быть профессионалом в этом. Теперь, помимо курсов в колледже, я изучаю программирование (C #) самостоятельно (программирование на уровне колледжа является слишком простым). Теперь я чувствую, что мне нужно немного больше времени, чтобы быть ближе к профессиональному программисту. Но некоторые из моих старших говорят, что корпоративное мировое программирование слишком отличается от книжного программирования, поэтому нет смысла тратить время. (Они сами не программисты, возможно, это, возможно, то, что они слышали).

Я бы выиграл, достигнув предварительного уровня C #? или как посредственного уровня достаточно, чтобы сломать интервью, более высокие уровни не имеют значения для фирм, потому что они полагаются на свое обучение исключительно для того, чтобы научить, как все работает в корпоративном мире и учиться больше, мне не поможет? Пожалуйста, если есть некоторые профессиональные программисты, которые могут помочь, я обещаю, что это то, о чем каждый студент, интересующийся программированием, хочет спросить на моей сцене. «Как вы на самом деле переходите от ученика к профессионалу в области программирования?» - Продолжайте учиться, пока вы не достигнете совершенства или не присоединитесь к фирме, не нужно ли когда-нибудь освещать основы?

28 голосов | спросил vish213 14 J000000Sunday13 2013, 00:32:42

10 ответов


32

Есть много различий между программированием в школе и в реальном мире. Я не уверен, что существует корпоративное программирование .

В зависимости от того, где вы на самом деле работаете, будут огромные различия. Также будут огромные различия в зависимости от задач.

Однако все еще есть некоторые распространенные проблемы.

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

  • дизайн /требования, как правило, намного более сумасшедшие в реальном мире, чем в коллегиальной атмосфере. При написании профессионального кода кто-то должен определить цель кода, и вам не просто задают проблемы с игрушками или даже известные проблемы. Очень вероятно, что рано или поздно вы будете тем, кто занимается проектированием! Клиенты обычно не знают, чего хотят (и даже когда они знают, чего хотят, может быть, не то, что им нужно), а менеджеры обычно просто описывают большую картину, оставляя много деталей и вариантов для программистов. В зависимости от применяемых методов («подвижный» -vs- «V-цикл» и т. Д.) Выбор и подробное определение проблемы могут произойти рано или поздно, но вы должны хотя бы сохранить открытый разум и задаться вопросом, действительно ли вы делаете то, что необходимо. Вы также можете рассмотреть возможность изменения требований, если текущая задача слишком сложна для кода или неэффективна. В любом случае вы можете написать что-то бесполезное или чрезмерно сложное, потому что клиент или ваш менеджер не поняли вашу точку зрения или не согласны с вами. Тем не менее, вы всегда должны задавать вопросы (это навык выживания). Также имейте в виду, что требования могут измениться в середине задачи, и вы должны быть готовы к этому.

  • в колледже, когда вы получаете задание, вы обычно должны писать код. В реальном мире вы обычно начинаете с проверки того, можете ли вы использовать существующий код: повторное использование или изменение частей проекта, использование или покупка библиотек и т. Д. Если вы найдете существующий код, который соответствует назначению, вы можете использовать его или нет (могут возникнуть проблемы с обслуживанием, проблемы с производительностью, проблемы с авторским правом или даже проблемы с ценой), но обычно следует рассмотреть возможность повторного использования существующего кода.

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

ответил kriss 14 J000000Sunday13 2013, 03:49:39
38

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

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

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

ответил Karl Bielefeldt 14 J000000Sunday13 2013, 01:31:35
26

Этот вопрос основан на неверном предположении:

  

«Как вы действительно меняетесь от ученика к профессионалу в области   программирование? "

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

Выйдите в мир и устроитесь на работу. Ваш энтузиазм в отношении обучения - это актив.

ответил Steven A. Lowe 14 J000000Sunday13 2013, 00:44:32
12

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

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

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

ответил Telastyn 14 J000000Sunday13 2013, 01:46:26
4
  

Я бы выиграл, достигнув предварительного уровня C #?

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

  

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

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

  

Как вы на самом деле меняетесь от ученика к профессионалу в области программирования?

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

  

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

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

Поздравляем вас с окончанием вашей степени и удачи в вашем путешествии на профессиональное программирование.

ответил Psychic Rush 14 J000000Sunday13 2013, 15:04:46
1

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

ответил Marc 14 J000000Sunday13 2013, 08:24:42
1

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

Но на ваш вопрос

  

Как вы действительно меняетесь от ученика к профессионалу в области программирования?

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

ответил minusSeven 14 J000000Sunday13 2013, 09:09:26
1

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

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

Что касается подготовки к корпоративному миру, я бы предложил два способа a) Получите стажировку, даже низкооплачиваемый или безплатный, позволит вам следить за работой других. б) Со всеми магазинами приложений вы можете попытаться написать и опубликовать приложение в магазинах Apple /Google /MS. Это поможет вам лучше понять рабочие процессы, значение тестирования, необходимость настройки правильной среды и инструментов и т. Д.

ответил SidJ 14 J000000Sunday13 2013, 11:11:30
0

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

ответил Tim Spann 14 J000000Sunday13 2013, 05:23:00
-1

Помимо отличного ответа, «корпоративное программирование» также касается требований, которые не ясны или меняются.

Что бы вы сделали, если ваш профессор изменил требования вашей домашней работы по программированию за два дня до того, как вы ее достаете?

В промышленности это довольно часто.

ответил k3b 14 J000000Sunday13 2013, 12:24:25

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132