Как я могу понять, подходит ли мне программирование? [закрыто]

22

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

С тех пор прошло 6 месяцев, и я чувствую, что сдаюсь. Я не получил много тренировок ... около 3 недель тренировок за последние 6 месяцев.

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

Как я могу понять, подходит ли мне программирование?

Rachel
источник
11
Ты где-нибудь студент? Просто любопытно, потому что у MS есть сайт под названием DreamSpark, где вы можете получить Visual Studio, SQL и большинство серверов для домашнего компьютера. Это может дать вам возможность создать собственное программное обеспечение для себя и попробовать что-то самостоятельно. Кроме того, у MS есть симпатичный обучающий сайт под названием Channel 9, на котором есть несколько интересных проектов. Я только предлагаю это, потому что если вам нравится программирование, то некоторые из них должны быть забавными, а не работой.
iMortalitySX
5
Когда появилась эта возможность, какие у вас были причины для ее использования?
AakashM
1
@iMortalitySX: Инструменты, доступные в DreamSpark, отличаются от VS Express Editions?
FrustratedWithFormsDesigner
4
@ User66414 Ваш вопрос привлек пару близких голосов, поэтому я немного отредактировал его, чтобы сосредоточиться на основном вопросе, который вы, похоже, задаете, который, как мне кажется, является хорошим для сайта. Не стесняйтесь отменить редактирование, если я неправильно понял ваш вопрос :)
Рэйчел
2
@Rachel: Может быть, нам нужно начать петицию, чтобы спасти сайты StackExchange от толпы Close-All-The-Questions. :-)
Уоррен П

Ответы:

87

Есть несколько вещей, которые стоит отметить, чтобы попасть в программирование.

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

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

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

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

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

Рейчел
источник
11
Я бы опубликовал свой ответ, но мне нравится этот. Я хотел бы добавить, что программирование - это все о выполнении через создание чего-то, что работает. Если вы можете сравнить свои ощущения между созданием программного обеспечения и поддержанием (исправлением) сервера, тогда у вас будет свой ответ. Кроме того, я настоятельно рекомендую всем новым людям, которые являются «практическими» учениками, попытаться войти в команду SCRUM, чтобы вы работали в тесном контакте с другими разработчиками и быстро учились (но вы должны быть в состоянии быть в курсе).
iMortalitySX
1
Также помните, что чем лучше вы занимаетесь программированием, тем больше у вас возможностей выбирать рабочие места, которые вам нравятся, а не код, который просто оплачивает счета.
Zoot
7
... programming can be frustrating, but it can also be very rewarding.Это то, что я называю «эффектом американских горок» в профессии программиста. Минимумы очень низкие, могут быть очень быстрыми, и из них может быть трудно выбраться. Но максимумы захватывают дух, и острые ощущения вызывают привыкание.
Райан Кинал
1
Красивая рецензия. Так очень верно. К сожалению, даже персонал отдела кадров, похоже, не понимает, что настоящий специалист по программному обеспечению - это тот, кто может очень хорошо работать с МНОГИМИ фреймворками, поскольку это доказывает, что они превзошли сферу просто синтаксиса в ядро, логику (ООП, шаблоны проектирования, и т. д.) когда дело доходит до их ремесла.
Глстунна
2
@RyanKinal Я почти уверен, что программисты разделяют некоторые черты компульсивных игроков. Когда вы опускаетесь, становится очень трудно оторваться от него, пока ваша спина не станет высокой. И когда вы добираетесь до высшей точки, обычно все, что вы имеете в виду, это добираетесь до другой высшей точки ..
Earlz
24

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

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

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

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

dasblinkenlight
источник
9
Это хорошо, но я бы не стал уходить. Если ваша работа тяжелая, но ваш начальник в порядке, если вам нужно время, чтобы набрать скорость, то это может быть отличной возможностью. Кроме того, бизнес-приложения могут не сильно помочь с 3D-моделированием. Я занимался в основном бизнес-приложениями, и я был бы совершенно потерян, если бы попытался написать программу для 3D-моделирования.
Восстановить Монику
22

Возможно, вы не выбрали лучший путь для изучения программирования :)

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

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

FWIW, я программирую в MS Windows с 2.x, и если я прыгну в существующий проект 3D-моделирования, я думаю, что я тоже буду разочарован некоторое время :)

оборота cdkMoose
источник
Я согласен. 3D программирование не совсем прогулка в парке. Бизнес-приложения в области финансов, медицины или технологий - лучшее место для начала карьеры в C #.
ROFLwTIME
+1 за указание на 3D-моделирование не является хорошей отправной точкой, это много математики и IMO. Я думаю, что это главное, всегда начинайте с простых вещей, когда вы пытаетесь бежать слишком быстро, вы в конечном итоге занимает больше времени (странно, не правда ли?)
пятьдесят восьмое
8

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

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

Вот мой список того, что вы должны продолжить как программист:

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

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

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

Рафаэль Цихоцки
источник
4

Все просто: тебе нравится это делать? Если бы вам не платили за это, вы бы делали это в свободное время, для удовольствия? Если ответ «нет», то, вероятно, вам не подходит программирование.

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

Я начал программировать, когда мне было 12 лет, и я сделал это, потому что хотел. Мне было 20 (и на полпути в колледже), прежде чем мне пришло в голову, что, возможно, я мог бы сделать это для жизни. Это было просто то, что я сделал, потому что мне это нравилось.

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

zpasternack
источник
1
Не уверен, почему кто-то отрицал это. Я не мог согласиться больше.
конец
Например, мне может понравиться работа ОП, если я узнаю что-то действительно классное о 3D-математике, и мне нравится изучать 3D-системы и связанную с ними математику. Ну и подробности об OpenGL или DirectX и видеокартах.
Уоррен П
2

Мой вам совет - провести некоторое время с C # и программированием в целом.

Сделайте небольшую игру. Сделайте простой инструмент для организации ваших фотографий. Сделай что-нибудь на самом деле.

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

Ресурс, который может быть полезен для изучения некоторых понятий:

http://msdn.microsoft.com/en-us/library/618ayhy6.aspx (C # Reference)

Брэд С
источник
2

Где был ваш опыт, если вы никогда не программировали до этого? Большинство ИТ-ролей имели бы возможность что-то программировать, если бы только макрос или скрипт автоматизировали какой-то маленький кусочек головоломки.

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

JB King
источник
2

Я помню, как начинал с ассемблера на Commodore VIC20. Сначала я просто следовал инструкциям по взлому, которые были опубликованы в игровых журналах, чтобы дать мне бесконечную жизнь на Jet Set Willy или на том, что я пытался обмануть. У меня было любопытство и тоска, которые привели меня к желанию создавать свои собственные хаки и понимать, как и почему они работали. Эта очередь привела меня к написанию моих первых программ.

Дело в том, что я был совершенно сбит с толку в течение довольно долгого времени (не так долго, как 6 месяцев, но я согласен, что это, вероятно, функция начала с 3D-моделирования), но затем пенни внезапно упала. Я начал понимать, как код, который я написал, перевелся на инструкции процессора и ссылки на память, и вскоре я смог написать довольно компетентный ассемблер. Конечно, вы сейчас работаете на 20 уровней выше процессора, но я уверен, что если у вас есть способности, этот момент лампочки случится.

Я предполагаю, что повторяю высказанные вопросы о любопытстве, изучая и теряя сознание, когда вы создаете что-то действительно синергетическое.

Если можете, то можете дать один совет: «продолжайте и изучайте основы объектно-ориентированного программирования». Удачи.

Саймон
источник
2

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

Даже я боролся на моей четвертой неделе программирования: P

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

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

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

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

Дэн Бертон
источник
2

Это я или я прав, что разочарован?

Вопрос, который вам действительно нужно задать себе:

а) Вам нравится программирование? б) Чувствуете ли вы себя самым счастливым человеком в мире, когда ваше приложение работает? - Если ваш ответ ДА , перестаньте беспокоиться, просто продолжайте учиться и улучшайте свои навыки в программировании.

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

Изменить: «Программное обеспечение для 3D-моделирования» не является основной областью программирования потока. Таким образом, вы можете найти себя в изучении очень специфических знаний / методов, которые не применяются в других областях (CRM, бухгалтерский учет, здравоохранение и т. Д.). Если вы находите «3D-моделирование» НЕ интересным, просто ищите другую область программирования это вызывает у вас интерес.

ЭльЮсубов
источник
2

Программирование трехмерной графики - это ниша, в которую даже самые авторитетные разработчики программного обеспечения не хотят. Я много работаю с OpenGL и знаю это из первых рук. Надеюсь, вся ваша работа включает в себя работу со сценографами на более высоком уровне, но если вы в глубине души, как я. Для нового программиста это похоже на ребенка, бегущего ... в беге на 100 метров ... с такими, как Усэйн Болт ... с дополнительным давлением людей, реально имеющих реалистичные ожидания, что ребенок выиграет гонку.

Однако чудеса случаются, и вся надежда не потеряна.

Я верю, что вы уже делаете это, но вы не только должны делать уроки по программированию (это, безусловно, самая маленькая задача), вам нужно читать вещи о 3D-основах и системах координат. Понимать математику, связанную с рисованием полигонов, переводом, вращением (Бог поможет вам, если Quarternion), матрицами и т. Д.

А если серьезно, вы уверены, что хотите пойти дальше? Что для тебя важнее? это работа или полный набор волос?

Glstunna
источник
1

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

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

Хотя это не крайний срок, сидящий позади вашей шеи - не волнуйтесь.

С другой стороны - если это работает как шарм, это может быть действительно весело.

При выдающихся результатах - они могут называть вас «сэр» :)

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

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

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

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

Потому что если цели, которые вы поставили, совершенно недостижимы - это то, что вызывает разочарование.

Я научился отлаживать в Nintendo SNES - я жульничал, как мотыга, и получил деньги из консольного журнала за то, что снабдил их свежими читами. Позже я получил Atari ST и научился кодировать Omikron Basic ... и я все еще здесь, в настоящее время самозанятый как мастер JS :)

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

оборота сислогический
источник
1

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

Чтобы вы по-настоящему преуспели, программирование должно стать образом жизни; а не желаемая профессия. Это должно перерасти в навязчивую идею, которая начинается на резисторе и распространяется на всю сеть, которая включает в себя Интернет.

Лично я рекомендую вам придерживаться этого, потому что лично я тоже много боролся. Я не мог по-настоящему начать мыслить как программист примерно через год и несколько месяцев после того, как я начал изучать информатику полный рабочий день (часто 12+ часов в день).

Я потратил все время, просто изучая все, что я мог понять в Интернете, связанные с компьютерами. Я использовал сложность программирования, чтобы сделать меня еще более упрямым и мотивированным каждый раз, когда я был поражен. Я потратил много времени, просто читая код других людей и вручную набирая его в себе. Всякий раз, когда я находил что-то, чего я не понимал, я искал это. Каждый день, погружаясь все глубже и глубже в мое вынужденное увлечение и одержимость. (У меня даже были мечты о программировании, когда я общался с программами через двоичный файл, слишком глубоко! Lmao)

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

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

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

mortdeus
источник
1

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

По этому простому вопросу вы узнаете, подходит ли вам программа с приличной вероятностью. Если вам не нравится учиться, то нет, вам, вероятно, не понравится программирование. Программирование - это 5% для написания кода, 10% для проектирования того, как должен работать ваш код, и 85% для обучения, как писать лучший код и создавать лучшие дизайны. (и это не изменится! Я программирую 8+ лет и все еще постоянно учусь!)

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

Earlz
источник
0

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

aserwin
источник