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

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

Сложность в том, чтобы определиться на каком уровне ты будешь это делать. Я склоняюсь к тому, что сейчас при работе в IT, знание языка программирования это важный пункт в наборе hard skills. Руководителю, например пригодятся знания SQL для выгрузки данных, их анализа. VBA для автоматизации работы в excel. Системному администратору пригодится Python для решения повседневных задач.
На другой чаше весов именно разработка, когда человек работает в большей степени только с языками программирования. Это игрострой, создание backend для сайтов, написание приложений и пр.

просто начните

Что советуют специалисты

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

СредаЯзык
GameDevС#, C++, Java
Приложения: веб, мобильные или десктопныеС#, Ruby, Kotlin, Swift
Аналитика данныхPython, R
Сайты, веб приложенияPHP, Python, JavaScript

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

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

Отдельно стоит упомянуть про фреймворки (Framework). Это такая рабочая среда, набор файлов (библиотек), которые заточены под определенную узкую специализацию. Например, создание макета сайта, как Boostrap. Фреймворки облегчают разработку, позволяя не отвлекаться на изобретение нужных конструкций. Необходимые готовые модули уже есть в библиотеке фреймворка.
У каждого языка они есть и по сути важнее знать какой-то из фреймворков, чем просто язык программирования. Вы можете убедиться в этом посмотрев вакансии программистов.

Я выбрал Python

Мне нравится разработка сайтов, веб приложений, поэтому мой выбор это веб-программирование. Исходя из этого я выбрал Python. Потому что он легок в освоении. У него простой и лаконичный синтаксис. Python очень гибкий язык, который позволяет решать множество задач:

  1. Автоматизировать офисные задачи;
  2. Разрабатывать backend сайта;
  3. Писать desktop приложения;
  4. Разрабатывать ботов;
  5. Анализировать данные;
  6. Многое другое…

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

Программировать в принципе, я начал с идеи. Я придумал «велосипед» и решил сделать Telegram бота для контроля артериального давления. Так появился мой pet-проект и началось увлечение программированием.

Как я учу Python

Сперва прочел книгу «Укус питона» (Bite of Python).

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

Подписался в один чат питонистов. Иногда спрашиваю там помощь, мне помогают. Но основной помощник конечно Google. 

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

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

Какое приложение написать?

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

кради как художник

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

Минусы программирования

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

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

Плюсы программирования

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

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

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

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

Как начать программировать

Итак, кратко. Как начать программировать

  1. Определитесь, программирование это дополняющий инструмент или основной навык;
  2. Выберите язык программирования исходя из среды;
  3. Составьте план обучения;
  4. Выберите инструменты;
  5. Обучайтесь и практикуйтесь не останавливаясь.
Предыдущая запись Развитие скорочтения — есть ли смысл?
Следующая запись Sapiens — краткая история человечества.