Заинтересованы в миллионе вещей, ставьте миллион целей: как выбрать, на чем сосредоточиться [закрыто]

19

В настоящее время я работаю разработчиком веб-приложений с использованием технологий .NET. Мне интересно узнать больше о технологиях, с которыми я работаю, но я также заинтересован в миллионе других вещей ... (включая системное программирование, сетевое взаимодействие, разработка игр, мобильные разработки, темы компьютерных наук, математика, участие в Open Исходный проект, начало собственного бизнеса и т. Д.).

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

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

donnovan9
источник
Извините, я отредактировал, чтобы попытаться уточнить вопрос.
donnovan9
Привет, Конрад, твой вопрос очень длинный, и есть много людей, которые считают это "бесполезным". Я знаю, что это несколько ироничный запрос, учитывая вопрос, но можете ли вы выделить и сфокусировать свой вопрос на нескольких ключевых, существенных моментах, которые необходимы для ответа на конкретный, решаемый вопрос? В противном случае ваш вопрос рискует быть закрытым, поскольку он скорее напыщенный, чем вопрос.
Конечно ... лучше? Это определенно иронично, ха-ха
donnovan9
7
Я думаю, что это интересный вопрос ... И я серьезно!
Sal
3
Не тот же вопрос, но некоторые ответы могут быть вам интересны: programmers.stackexchange.com/questions/16708/…
Бенджол

Ответы:

4

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

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

Старайтесь следовать принципу KISS не только в программировании, но и в жизни :). Объединяйтесь и заставляйте себя приобретать навыки, которые можно использовать повторно. В моей ситуации я обычно разрабатываю внутреннее программное обеспечение для выполнения повседневных задач компании, отслеживания данных и т. Д. В свободное время я работаю над игровым движком.

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

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

Гарет Клаборн
источник
1
Это именно то, что я искал! Я предполагаю, что хитрость сейчас заключается в том, чтобы придумать проект, который имеет эти совпадения. Мне нравится идея сделать игру именно потому, что она включает в себя очень много разных, накладывающихся друг на друга навыков, не говоря уже о том, что завершение простой игры в «понг» дало бы мне чувство уверенности и высочайшего благополучия - это то, чем я был откладывать на некоторое время. Игровой движок также является отличной идеей, поскольку он становится отправной точкой для будущих проектов, и я могу что-то создать и расширить. Классная вещь!
donnovan9
1
Хороший, сочный двигатель - огромная проблема, которая растягивала мои навыки! Не подпускает код моей ежедневной работы :) ... + 1 для
максимального
1
+1 для "сочного двигателя"
donnovan9
> _ <; неправильно написано сочно ~~ Надеюсь, я увижу вашу игру, когда она выйдет = P
Гарет Клаборн
7

Да, я привык думать так же, как ты. Я хотел быть в состоянии сделать игру. Тогда я бы сказал "нет! Я хочу сделать веб-приложение!" тогда я скажу "нет! я хочу освоить Unix!" И весь этот цикл «нет, я хочу этого, нет, я хочу этого» никогда не прекращался.

Итак, вот краткий ответ на все это: придерживайтесь того, что у вас под рукой .


Так вот история

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

И вот как я попал в программирование игр.

Все началось с того, что Visual C # Express демонстрировался на домашней странице Microsoft.com. Вся IDE была явно доступна прямо передо мной, поэтому я нажал на ссылку для загрузки и сразу же приступил к работе. Я смотрел видеоуроки, написал много кода, и там я был установлен.

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

Так продолжалось до тех пор, пока новостная лента MSDN в Visual Studio не объявила о выпуске бесплатного фреймворка, способствующего продвижению вашей игры. Это была XNA Game Studio Express v1.0! Я начал прямо сейчас. Я построил несколько маленьких игр здесь и там.

Но тут есть одна загвоздка: я чувствовал себя более мотивированным, чтобы работать над игрой, которая только что пришла мне в голову, чем над тем, для чего нужно было очень тяжело думать. У меня была прекрасная идея построить игру «3D-змея», я работал над ней два дня подряд - конечно, с перерывами - и вуаля! Очень красивая игра, которая работает!

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

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

Надеюсь, это поможет.

Сэл
источник
1
+1, потому что это не технология сама по себе, что действительно интересно, но воплощение чьих-то реальных идей (мечтаний, если хотите) и решение реальных проблем с ними.
Петер Тёрёк
Спасибо, это замечательный совет и хороший момент. Иногда я смешиваю то, что я «хочу» делать с тем, что я чувствую, что «должен» делать, но если у меня есть вдохновляющий проект, на котором я должен сосредоточиться, должно стать ясно, что я должен узнать дальше, чтобы продвинуть проект вперед , Думаю, единственная проблема, которая остается, - это мое желание понять, как работают другие вещи, которые не обязательно попадают в рамки проекта. Было бы трудно придумать проект, который одновременно вдохновляет и использует все темы, которые я упомянул в посте, - но у меня есть ощущение, что я могу приблизиться :)
donnovan9
2

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

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

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

В самом конце, вы не только выучите материал (иногда не тот, который вы ожидали выучить, даже!), Но у вас будет что-то блестящее, чтобы показать свои усилия.

Тихон Джелвис
источник
Отличный совет. Я часто склоняюсь к тому, чтобы «закончить техническую книгу» как проект, чтобы заложить основу для создания чего-то «одного дня», но теперь я начинаю видеть, насколько ошибочен этот подход: медленный прогресс, плохое удержание знаний и нечего показать за это! Обратное звучит более привлекательно: начните с проекта, и ТОГДА попала в техническую книгу с жаждой решить следующую проблему в вашем проекте.
donnovan9
0

Ну, твоя ситуация понятна. Бывает с новичками. Что ж, ваша нынешняя работа в значительной степени решит, что будет делать до конца вашей жизни. Будет трудно (читай почти невозможно) переключиться на другую строку, например, Системное программирование, чем дольше вы работаете в своей текущей строке. Если вы хотите переключиться, сделайте это через 2 года. Вы можете следить за своими другими интересами на стороне. Ищите проекты в sourceforge.

DPD
источник
-1

Похоже, это займет много лет. Изучайте Unix, он не устареет.

Кристофер Махан
источник
Да, это часть проблемы ... технологии приходят и уходят, поэтому я начинаю потеть из-за того, что выходит Silverlight 5, и я еще не закончил эту книгу по Silverlight 3 ... например
donnovan9
и Unix тоже в списке;)
donnovan9
@Konrad - Если вы не можете решить, и не можете идти в ногу, то было бы разумно выбрать те технологические пути, которые меняются «медленнее», например * nix, Perl, C, Fortran ... имеют историю и обязаны быть здесь через некоторое время. Проблема с новыми технологиями заключается в том, что они выгорают слишком быстро, и если вы не концентрируетесь только на них, чаще всего вы просто не успеваете.
Ладья
Интересно ... Я прекрасно понимаю, что мне нужно делать на работе, по крайней мере ... просто ошеломлен выбором того, чему учиться в свободное время. Тем не менее, мне нравится идея создать контраст, работая больше над чем-то вроде внутренних компонентов ОС или сетей в свободное время (которые также меняются медленнее). Я все еще хочу сделать больше, хотя.
donnovan9