Как правильно развиваться в программировании?

Добрый день господа! Поделитесь опытом, как правильно по пунктам усовершенствовать навыки программирования. Допустим у меня есть основы на языке программирования С++.(Знаю синтаксис, ООП, полиморфизм и т.д) Но я не знаю за какой проект взяться. Если написать какую нибудь игру то опыта мало, если что то стандартное, например консольные программки мне не интересны. Как к вам приходит вдохновение и понимание, что вот этот проект стоит времени, а другой нет? И что вы делаете для усовершенствования навыков программирования, с чего начинали когда изучили основы? И еще вопрос, мне как новичку в какую сферу податься будет легче: в сетевое программирование, в отладку программ, в программирование игр, в программирование графики. Спасибо всем откликнувшимся :)
  • Вопрос задан
  • 6085 просмотров
Пригласить эксперта
Ответы на вопрос 5
zolt85
@zolt85
Программист
Конкретно:
Идете на github
Находите проект "по душе", разбираетесь в нем
Смотрите список открытых issue по проекту, если видите что можете что-то сделать - делайте.

Абстрактно:
Развиваться в программировании возможно только через непрерывную практику. Чем больше будете практиковаться, тем быстрее поймете, что Вы ничего не знаете о программировании, и сие осознание будет толкать Вас на изучение новых приемов и практик. И так всю жизнь.
Ответ написан
Комментировать
max-kuznetsov
@max-kuznetsov
Главный IT-архитектор
Даю пункты:
1. Понять, кем надо стать лет через 5.
2. Понять основные компетенции, которые к тому моменту нужно иметь.
3. Расставить приоритеты освоения компетенций.
4. Вкладывать время, силы и деньги в получение нужных компетенций.
5. Не реже раза в год пересматривать цель и список компетенций.

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

К сожалению, более подробно план не дам. Его детализация зависит от Вашей цели.
Ответ написан
Комментировать
@coodan
Здесь есть несколько аспектов, в котором Вы могли бы задать этот вопрос, оттого он может иметь несколько значений.

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

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

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

Чисто академический путь в наших условиях крайне проблематичен. Впрочем, наверное, в Вашем университете есть аспирантура. Если же рассмотреть вариант, когда Вы сохраняете академический интерес к проблеме и поддерживаете академические ценности (стремление к познанию вне практического применения полученных знаний, любовь к истине), но при этом работаете в практической сфере, то ответ становится не таким очевидным. Вы упоминали о тестировании софта. Эта работа непрестижна. Но тем не менее, очень важная - довольно избито, что тестирование сейчас лимитирует разработку. Довольно утомительная и однообразная работа. Бессмысленная при низкой квалификации разработчиков. Но, может так оказаться, что в силу дефицита тестировщиков, Вы, приложив к этому силы и отбрасывая все неквалифицированные коллективы, сможете найти место, где пишут код, который определенно стоит того, чтобы его отлаживать. Может так оказаться, что лучше быть мальчиком для битья у чемпиона по боксу, чем тренироваться с плохим тренером среди неумех.
Ответ написан
Комментировать
printf
@printf
Ем детей.
Лучше (и «легче») решать те задачи, которые интересно решать. Решающую роль играет мотивация.

«Опыта мало» — это не аргумент, все с чего-то начинают же.

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

Практические шаги:
1) Представить себе какую-то штуку (видеоигру, веб-сайт, что угодно), с которой интересно возиться, улучшать.
2) Реализовать ее. Иногда получается, иногда не получается. Будут возникать разнообразные вопросы. В сухом остатке останется (полу-)готовый проект и опыт.
3) GOTO 1
Ответ написан
Комментировать
globuzer
@globuzer
gezgrouvingus progreszive ombusgrander greyderzux
чтобы правильно развиваться в программировании нужно:
читать, читать и еще раз читать
видеть тренды в интернете всех ай-ти технологий
расширять свои знакомства в этой сфере и общаться на подобные темы
быть собственно замотивированным и хотеть все знать из этого направления
просто любить код и кодирование, любить цифры, любить технологии!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы