Стоит начать с того, что программист — общее понятие, направлений множество. Зависит от того, что вам интересно: мобильные приложения, сложное ПО, веб-сайты или какое-то другое направление. Даже в рамках направлений есть особенности и разные пути. В веб-разработке, например: есть вёрстка, фронтенд — программирование в браузере и бэкенд — серверное программирование.
Выбрать следует только то, что вам интересно. Хотя бы немного. Ориентироваться только на заработок — не дальновидно.
Если вы уже имеете какую-то специальность, но хотите сменить её, то вам понадобится уверенность, свободное время и план действий.
Кстати, ваш предыдущий опыт может пригодиться. К примеру, экономическое образование помогает решать задачи этой сферы: гораздо легче писать калькулятор для ипотеки, если понимаешь как он должен работать и зачем, юридическое образование поможет разобраться с правовой стороной вашего проекта и не совершать серьёзных ошибок, а музыкальное поможет работать со звуком, например, в мобильном приложении, имитирующем инструменты или сервисе для прослушивания музыки.
Программисты решают прикладные задачи абсолютно в разных сферах и дополнительные знания из разных сфер идут только в плюс.
Можно построить план обучения:
— Основы языка и синтаксиса можно найти в справочниках в интернете, по каждому языку можно найти учебники.
— Закрепить теорию с помощью онлайн-курсов.
— Нужна практика, много практики. Ставьте перед собой задачи: например, написать себе сайт-визитку, написать свой планировщик дел на день, придумывайте проекты и реализовывайте их.
— Найти более опытного разработчика с тягой к педагогике, который сможет проконтролировать качество кода и поделится опытом. Это может быть ваш друг-разработчик, готовый уделять вам время, или разработчик с форума. У нас на интенсивах, например, работа с наставником — это важная часть обучения.
Самообучение в таком формате может занять от полугода до нескольких лет — зависит от мотивации и уверенности в своих знаниях. Если мотивировано учиться самостоятельно, выделяя около 4–6 часов в день за полгода реально разобраться с основами и перейти к практике.
По нашему опыту, новичкам проще всего войти с вёрстки. Это простой язык разметки HTML и язык оформления CSS. Они имеют понятную структуру, а результат работы видно сразу в браузере.
У нас в Академии обучение построено так, что вы сразу начинаете с практики. Весь описанный путь обучения вы проходите за пять недель вместо года. Всё обучение происходит онлайн — никуда не нужно ехать, можно учиться в удобное время.
На интенсиве «HTML и CSS, уровень 1» вы:
Таким образом, через пять недель можно стартовать, как начинающий верстальщик. По такому же принципу мы даём программирование на JavaScript, Node.js и PHP.
Если вы хотите проверить, ваше это или нет, попробуйте пройти несколько интерактивных курсов по HTML, CSS и JavaScript. Первые триста заданий доступны бесплатно.
Чтобы понять, какая сфера ближе, попробуйте её на практике: пройдите пару коротких онлайн-курсов. Например, в Яндекс.Практикуме есть бесплатные вводные курсы «Основы HTML, CSS, JS» и «Основы Python».
— научиться делать простые сайты;
— собрать своего робота;
— сделать мобильную игру.
Вместе с целью сформулируйте и примерный срок её достижения. Лучше не ставить цель сразу на десятилетие, начните с небольших сроков и маленьких побед.
Идеально, если получится найти наставника — человека, который хорошо разбирается в выбранной вами сфере и согласится помогать развиваться.
Не ограничивайтесь только книгами и курсами, не забывайте общаться. На Земле много людей, которые решили заниматься тем же, чем и вы. Найдите единомышленников в интернете или в жизни. Сходите на митап или лекцию, поучаствуйте в хакатоне. Обмениваться идеями и знаниями с людьми — бесценно.
Не останавливайтесь и пробуйте новое. Может быть, вы слышали термин lifelong learning. Процесс обучения не заканчивается, когда вы прошли онлайн-курс. Придётся учиться каждый день и довольно долго.
Первым делом я бы рекомендовал вам определиться с направлением — фронтенд или бэкенд.
Фронтенд — это то, что пользователь видит и с чем взаимодействует на странице. Дизайн, визуальные элементы, схемы — вся лицевая сторона.
Бэкенд — невидимая часть сайта. Бэкенд-разработчик отвечает за то, что скрыто от глаз пользователя и работает на сервере.
В любом случае вам придётся взаимодействовать со страницами, поэтому необходимо будет выучить HTML и CSS. HTML задаёт структуру страницы, а CSS используется для её стилизации. Знание основ HTML и CSS позволит создавать простые сайты с текстовым наполнением.
Если хотите что-то посложнее, не обойтись без языков программирования. С помощью JavaScript или других языков страницу можно сделать интерактивной — добавить всплывающие формы, раскрывающийся список, делать интересные визуальные эффекты.
Я собрал подборку статей в блоге о том, как и с чего начать изучать веб-разработку.
Соглашусь с другими ответчиками – нужно большое желание быть программистом, и преследовать цель не заработать много денег, а улучшить жизнь людей, создав новые программы или приложения.
Определитесь с направлением, которое вам интересно: создание мобильных приложений на iOs или Android, создание игр, веб-сайтов, программ, лендингов, магазинов и многое другое. С этого вы должны начинать.
Когда определились, переходите к выбору образовательных курсов – это самый простой путь, который займет ограниченное количество времени, и вы получите всю нужную информацию о будущей работе. К тому же, многие образовательные организации затем помогают своим студентам с трудоустройством: составляют вместе с ними резюме и отправляют его компаниям-партнерам.
Познакомьтесь с подборкой нужных курсов на Kursfinder. От себя отмечу площадки Бруноям, WebCademy, Moscow Coding School, GeekBrains, Нетологию. У них качественные программы. По ходу обучения вы будете практиковаться, заниматься первыми проектами – они же пойдут в будущее портфолио.
После курсов остается только «стучать во все двери», отправляя компаниям, эйчарам и ведущим сотрудникам письма с рассказом и о себе, своем опыте, и прикрепляя портфолио. Главное показать, что вы очень хотите учиться и развиваться в этом направлении. Желаю удачи:)
У вас, как у истинного богатыря, есть три пути:
1. Налево пойдёшь, коня потеряешь (и всякую охоту к программированию). Здесь мы говорим о получении образования в СУЗе или ВУЗе. Это самый длительный и дорогостоящий путь с призрачным профитом, которого и вовсе может не быть. Зачастую в государственных учебных заведениях не следят за стремительно меняющимся рынком, поэтому информация, которую вам там дадут, может отдавать нафталином 🙃
Направо пойдёшь, в камень упрешься. Тут мы подразумеваем самостоятельное обучение по учебникам и видео из ютуба, которое без должного уровня мотивации может быстро разбиться о скалы лени и прокрастинации.
Прямо пойдёшь, счастье найдёшь. Можно не терять время и сразу отдать себя в руки опытных педагогов из ведущих онлайн-университетов — Skillbox, GeekBrains, Нетологии и др. Здесь и грамотные наставники, которые при необходимости не только ошибки помогут исправить, но и пендаля волшебного выдадут. И платформы удобные с самой актуальной информацией. Учебные программы рассчитаны на срок от нескольких месяцев до года, а зарабатывать вы сможете уже в процессе обучения.
Нам кажется, выбор очевиден, а вам? 😁
Самое главное - иметь большое желание. Затем определиться с языком программирования, с которого вы хотите начать. Здесь представлен ряд книг, с которых можно начать изучение: https://book24.ru/catalog/programmirovanie-1361/
Надо знак как минимум 1 язык программирования в совершенстве. По-хорошему, чтобы устроиться на нормальную работу надо знак 2-3 языка. Ну и английский язык на среднем уровне надо знать, уметь говорить и читать на нем свободно.
Рекомендую всё таки поступить в высшее учебное заведение. Там вам дадут более глубокие знания. Но если вы всё же решили обучаться самостоятельно, то вот:
Ни в коем случае НЕ НАЧИНАЙТЕ обучение с языков, вроде Паскаля или Бейсика - мало того, что они нигде не используются, так ещё и довольно сложны для начинания. Лично я рекомендую язык Python - в нём есть глубокие, сложные моменты, но новичку нет никакой необходимости в них разбираться.
Попробуйте запрограммировать что-нибудь простое. Тщательно делайте упражнения, предлагаемые в книге (если вы учитесь по ней).
Расширьте свои знания в Computer Science. Узнайте базовые алгоритмы, основные структуры данных. Получите хотя бы базовые знания в математике - геометрии, алгебре, теории вероятности. Это всё лишним не будет.
Выучите второй (или третий), новый язык. Это может быть тяжёлый, промышленный язык, вроде Java или C++. Напишите более сложный проект, который может реально использоваться и быть полезен лично вам. Что угодно: простенький почтовый клиент, игру-залипалку для вашего смартфона (вроде Flappy Birds) или конвертер валют (с поддержкой актуальности курсов).
На этом этапе вы уже можете иметь представление о программировании, и изучать именно то, что вам интересно.
Следующие советы опциональны:
Попытайтесь "сломать себе мозг" - рассмотрите новую парадигму программирования. Это может быть функциональное (Haskell) или логическое (Prolog) программирование. Это будет полезно лично для вас - иметь несколько взглядов на решение одной и той же проблемы всегда полезно.
Поучаствуйте в разработке open source проекта. Большое заблуждение думать, что для этого требуются большие знания и опыт, которых у вас нет. В любом проекте есть множество задач, которые вы вполне в состоянии решить.
Если вы определились, чем именно хотите заниматься: веб-программированием, администрированием БД, играми на смартфоны, или чем-угодно. - углубляйте свои знания. Не лишним будет знать низкоуровневое программирование: язык Си или ассемблер, чтобы понимать, как работает весь программный стек, который вы используете.
Ну и напоследок. Программирование, это не только написание кода. Обязательно изучайте английский - даже если не планируете работать за рубежом. Вся (вся, без исключения) актуальная информация - исключительно на английском. Изучайте инструментарии (системы контроля версий, системы тестирование, и прочее). И самое главное - никогда не останавливайтесь!
Сначала маленький тест.
Жена говорит мужу: “Купи, пожалуйста, батон колбасы. А если будут яйца, то десяток”.
Муж приносит из магазина 10 батонов колбасы. Жена: “Зачем так много?”
Муж: “Но ведь яйца были”.
Если вы понимаете соль анекдота, основы программирования вы уже знаете. :) Если нет, то программирование вам еще предстоит изучить.
Профессия программист — стиль жизни. В программирование ребята приходят по-разному. Кто-то изучает сам по книгам, кто-то смотрит курсы и вебинары, кто-то учится в вузе, но всех их объединяет любовь к софту и железу. Программисты мыслят другими категориями, смеются над шутками, которые не понятны окружающим, говорят на своем языке. Чтобы стать программистом, нужна любовь к созиданию и “рабский труд”. Нужно знать языки, фреймворки, уметь использовать весь инструментарий программиста. Выбрать то, к чему лежит душа и учить это.
Стать программистом в одночасье нельзя, только непрерывное становление каждый день, каждый час приведет к желаемому результату. Только так можно стать настоящим профессионалом. Поступайте в оффлайн или онлайн-университет GeekBrains и постигайте азы и тонкости профессии. Выбирая для себя путь программирования, будьте готовы посвятить профессии много времени, непрерывно учиться, быть настоящим фанатом своего дела.
Не работающие скрипты и не запускающиеся программы требуют невероятного терпения и упорной труда. Чтобы оживить полотно, исписанное буковками и циферками, нужно пахать и пахать. Но когда все получается, приходит невероятное удовлетворение от проделанной работы. Когда вы тоже почувствуете восторг и эйфорию от ожившего кода, знайте, программирование - это ваше.
Учиться. Долго и упорно. Вам нужно понять основы программирования, учить языки программирования(Python, HTML, C++ и т.д).
Впервую очередь стоит учить Python. Почему? Ответ прост: Python это универсальный современный Язык Программирования высокого уровня.
Выучить его можно всего за 1 час. Почему не все остальные? Они более сложные и пригодятся вам уже чуть позже.
Самое главное это мотивация. Я всегда говорил, говорю и буду говорить, деньги - это самая ужасная мотивация которая только есть.
Программированию можно учиться бесконечно, ведь чем больше знания тем больше будет заказ, а если будет большой заказ - соответственно будет больше плата за его выполнение.
Программисты делятся на 2 типа. Первый - это программист самоучка. Человек который сам осваивает основы программирования, без какой либо помощи.
Второй - человек учащийся в школе основанной на программировании. Он выполняет д.з как в обычных школах, и так же учит языки и т.д.
Программисты те же самые хакеры.
Чтобы научиться взламывать, нужно уметь защищать!
Помните это!