Найти тему
Всё о IT и не только

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

Оглавление

Проекты, проекты и еще раз проекты...

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

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

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

Первые задачи, первые проблемы

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

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

Хорошо, но как начать с нуля?

Безусловно, среди тех, кто нашел эту статью, есть и те, кто до сих пор мало соприкасался с программированием. Однако такие люди, прежде чем начать работу над своим программным проектом, должны знать хотя бы основы технологии. Здесь есть различные спорные вопросы о том, как это понять, но с моей стороны я рекомендую различные учебники, которые можно найти в Интернете (в том числе, среди прочего, в моем блоге), а для людей, которые более ленивы или имеют "трудности" с мобилизацией на самообучение, лучшим решением было бы записаться на курс по программированию. Такие занятия организует, в том числе, Фонд CODE:ME, который собирает очень хорошие отзывы. Она проводит множество курсов по программированию, которые проводятся в виде вечерних занятий, в настоящее время в Гданьске и Познани, а главное они касаются различных технологий. Каждый может выбирать в соответствии со своими предпочтениями, интересами и уровнем продвижения, потому что в фонде проводятся курсы как для начинающих, так и для тех, кто уже хорошо знаком с основами программирования. Цена тоже не является непомерной, особенно если сравнить ее с суммами, взимаемыми некоторыми профессиональными компаниями, занимающимися "производством девелоперов".

Google - твой лучший друг

Независимо от того, какую форму обучения вы выберете, помните, что самым большим другом программиста является поисковая система Интернета и всемирно известный форум stackoverflow.com. Существует очень большая вероятность того, что проблема, с которой вы столкнулись, уже была кем-то решена и описана в сети. Так что нет смысла изобретать колесо заново. Ключом к успеху является использование готовых решений в виде библиотек, фреймворков, плагинов или кодовых паст, найденных в Интернете.

Резюме

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