иконка вопросительный знак
иконка вопросительный знак
Япония

Научиться программировать с нуля. Часть 1

10.01.18

Научиться программировать с нуля. Часть 1

10.01.18

Научиться программировать с нуля. Часть 1

10.01.18

Почему программирование

Я почти закончил бакалавриат на экономическом факультете СПбГУ. Когда поступал в университет, для Выбор был почти очевидным — экономика или менеджмент. Логика простая: интересовали бизнес, экономика, математика, при этом естественные науки мне может и были интересны, но я точно не хотел заниматься ими всю жизнь.

Спустя 3,5 года понимаю, что экономика и экономист, как профессия, это не моё. Имея знания, которые нам дали, можно выбрать большое количество компаний и зарабатывать достойные деньги. Например, ещё до весны прошлого года мы с друзьями грезили о консалтинге. В какой-то момент, что-то во мне переклинило и я понял, что не вижу себя в классическом костюме, получающим кучу денег, соблюдающим корпоративные правила и решающим бесконечные проблемы компаний. Потому что:

А) Не хочу формальностей
Б) Не деньги главное
В) Хочу создавать НОВОЕ, а не делать одинаковое

Консалтинг - это, когда ты бодрый

Консультант в конце проекта

Вот так я и пришёл к программированию. До этого был опыт программирования в MATLAB. 2 года назад прошёл почти до конца курс по нему и начинал курсы по веб-программированию. Но проблема была в том, что мне не хватало мотивации и причин, чтобы заниматься этим. Я крутился в сфере экономики, бизнес-кейсов, менеджмента. Теперь же у меня есть возможность всё поменять. Через полгода буду поступать в магистратуру, менять место жительства и сферу деятельности. Прекрасное время!

С чего начать

Оговорка: я не знаю, как правильно; просто пишу о своём опыте. Это не инструкция к действию.

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

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

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

Для начала, было бы неплохо понять суть программирования и обзорно познакомиться с разными языками. Летом, как нельзя кстати, я обнаружил полный перевод гарвардского курса CS50 по основам программирования. Английский язык, конечно, не проблема, но такой большой перевод привлёк внимание. Затем я узнал, что курс полностью бесплатный и доступен на образовательной площадке edX. Начал в августе 2017 и рассчитывал пройти за осень, но позже понял, что неправильно рассчитал силы и учиться в Японии и проходить такие серьёзные курсы одновременно очень сложно. Вернулся к нему в январе и сейчас прохожу по уроку в неделю, планирую так и делать дальше.

CS50 гарвардский курс по программированию

Зал в Гарварде, где и проводят CS50

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

Objective-C

Так выглядит простенькая программа написанная на языке программирования С (Си)

Веб-программирование

Самый эффективный способ учиться — совмещать теорию и практику. Для этого я и сделал блог. Чтобы сразу применять знания и была сильная мотивация развиваться. Веб-программирование — отдельная сфера, которая несколько обособленна от того, что принято называть программированием. Разобраться в этом достаточно просто, математика не нужна. Однако и здесь языков и проблем много, совершенствоваться можно бесконечно.

В первую очередь я начал проходить курс по HTML и CSS от GeekBrains и закончил его к декабрю. Курс несложный, полезный. На выходе ты можешь многое cделать и имеешь представление о том, как работают и создаются веб-сайты.

HTML код

А это - страница, которую ты читаешь, только в виде HTML-кода

Можно найти на ютубе ;)

Что дальше

В начале февраля планирую начать курс по математике и Python в биг дате - курс от МФТИ. Я не знаю, интересен ли мне анализ данных, однако попробовать хочу, а дальше посмотрим. Всегда интересовала математика и я хотел бы изучать её и дальше. Точнее это специализация, состоящая из 5 курсов. Буду постепенно их проходить, видимо, до лета.

Параллельно хочу совсем немного продвинуться в SEO (оптимизация сайтов в поисковых системах), улучшить навыки вёрстки (HTML5 и CSS3). Возможно, начать курс по JavaScript, но буду смотреть по потребностям веб-сайта и загруженности. Надеюсь, что последний семестр в универе получиться свободным и я буду заниматься изучением новой и очень интересной для себя сферы — программирования.

Результаты на данный момент:

1) У меня есть свой блог, который могу полностью кастомизировать. То, что и хотел. Лучше ли он чем блог в вк/инстаграме/телеграмме/на платформе для блогов? Наверное, пока нет. Но я не гонюсь как за просмотрами, так и за удобством пользования для меня, как автора. Главное — учиться и совершенствовать сайт.
2) Я знаком с HTML, CSS, основами SEO. Начал учиться программировать на С.