Блог Хекслета. Хекслет книги


Как изучать Структуру и Интерпретацию Компьютерных Программ (SICP) – Hexlet Guides

Зачем и как изучить одну из важнейших книг в информатике

Содержание
  1. Очень краткое содержание
    1. Абстракция с помощью функций
    2. Абстракция с помощью данных
    3. Модульность, Объекты и Состояние
    4. Метаязыковые абстракции
    5. Вычисление с помощью регистровых машин
  2. Рекомендации
    1. Сколько читать
    2. Язык
  3. Оформление

СИКП — одноименная книга и легендарный учебный курс в MIT (Массачусетский технологический институт).

СИКП — не книга про языки программирования или разработку программного обеспечения, не книга по ООП, функциональному программированию или паттернам проектирования.

СИКП — книга об информатике (computer science). Восприятии компьютеров как абстрактных машин, используемых для манипулирования данными. Несмотря на то, что книга впервые опубликована в 1979, она до сих пор не потеряла свою актуальность и не потеряет в будущем. СИКП неизменно находится в топе лучших книг по обучению программированию на протяжении десятков лет.

This is one of the great classics of computer science. I bought my first copy 15 years ago, and I still don’t feel I have learned everything the book has to teach. — Paul Graham.

Стоит ли её читать? Однозначно стоит всем разработчикам на любых языках программирования с любым опытом. СИКП — достаточно сложная книга, поэтому появилось руководство, которое вы прямо сейчас читаете.

Очень краткое содержание

Абстракция с помощью функций
  1. Элементы программ
    • Выражения
    • Вычислительные стратегии
    • Подстановочная модель вычислений
  2. Функции и процессы порождаемые ими
    • Линейная рекурсия и итерация
    • Древовидная рекурсия
  3. Функции высшего порядка
    • Функции как аргументы
    • Функции как обобщения
    • Функции как возвращаемые значения
Абстракция с помощью данных
  1. Введение в абстракцию данных
    • Барьеры абстракции
    • Что такое данные?
  2. Иерархические данные и свойство замыкания
    • Представление последовательностей
    • Иерархические структуры
    • Последовательности как стандартные интерфейсы
  3. Символьные данные
  4. Множественные представления абстрактных данных
    • Тегирование данных
    • Программирование управляемое данными. Аддитивность.
Модульность, Объекты и Состояние
  1. Присваивание и локальное состояние
    • Преимущества присваивания
    • Недостатки присваивания
  2. Модель с окружениями
    • Правила вычисления
    • Применение
    • Фреймы как репозитории локального состояния
  3. Моделирование с изменяемыми данными
    • Изменяемый список
    • Представление очереди
    • Представление таблиц
  4. Многозадачность
  5. Потоки
Метаязыковые абстракции

Вычисление с помощью регистровых машин

Рекомендации

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

Сколько читать

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

Язык

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

Его выбор, в качестве основного языка для курса обоснован тем, что Scheme позволяет сосредоточиться на сути вещей вместо синтаксиса, увидеть чистые концепции в первозданном виде. Scheme как и любой Лисп, обладает невероятно высокой выразительностью благодаря тому, что в языке всё есть выражение, а инструкции отсутствуют вообще.

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

Однако, сам Scheme не развивается и уже не актуален. Его заменил язык Racket, который изначально был реализацией языка Scheme, но вырос во что-то большее. Другими словами, на базовом уровне Scheme и Racket выглядят идентично, что крайне удобно при прохождении СИКП. Хекслет рекомендует проходить СИКП именно на Racket. Специально для этого гайда мы подготовили репозиторий, который можно использовать как основу для кода. Не забудьте правильно настроить редактор. Lisp языки относятся к тем языкам, для которых нужна поддержка со стороны редактора для комфортной работы.

Оформление

На Гитхабе можно найти множество репозиториев, в которых лежат решения задач из СИКП на всех возможных языках программирования. Мы настоятельно рекомендуем поступать также: создать репозиторий в своем аккаунте и выкладывать в него все свои решения. Идеально, если каждое решение будет сопровождаться тестами. Такой подход хорош не только тем, что вы дополнительно прокачиваетесь в git и получаете дополнительную мотивацию, но и тем, что у вас появляется код, который можно показать при поиске работы. Более того, велика вероятность, что собеседовать вас будет человек, знающий про СИКП. Это добавит очков в карму и даст возможность продуктивно пообщаться.

Кирилл Мокевнин

guides.hexlet.io

16: Q&A — специализация vs. распыление, книжные рекомендации и софт - Блог

В сегодняшнем выпуске отвечаю на вопросы слушателей.

1. Специализация vs. распыление

Всегда с энтузиазмом начинаю заниматься чем-то новым, но когда улавливаю суть, становится неинтересно. Понятно, что можно изучать любую тему до бесконечности и углубляться в детали, но когда не остается ничего принципиально нового, хочется заняться другим. В итоге становлюсь специалистом по всем вопросам, по-настоящему глубоко не зная ни одного. И непонятно: я просто не нашел еще то, что по настоящему интересно, то что прямо мое? Или я просто не могу ничего доделать до конца и нужно выбрать уже что-то и там остановиться? / Артем Пугачев

2. Книжные рекомендации

Посоветуй хороших книг по программированию и информатике, а также по математике, логике и философии в контексте информатики :D / Stepan Kuzmin‏

3. Софт и инструменты

Как ты работаешь за компом: программы, мышка, расположение окон, док скрывается или нет, какие в доке программы... вот это все. Про твой рюкзак еще интересно узнать. И что ты в нем носишь. / Андрей Морковин‏

Выпуск также можно послушать на ютубе.

Книги

Программирование и ОС

Архитектура компьютера

Жизнь

Математика

  • Fermat's enigma (Simon Singh)
  • The Simpsons and Their Mathematical Secrets (Simon Singh)
  • Flatland (edwin abbott)

Алгоритмы

Дизайн

Другое

Компьютер и софт

Mac Mini 2012, 2.6 i7 16 GB, Dell u2515h, magic keyboard, Logitech mx master

Рабочее место:

Типичный рабочий стол (снято сразу после записи):

Вы можете поддержать подкаст на Patreon → patreon.com/freetonik. Вы будете получать выпуски на несколько дней раньше остальных + вам станут доступны бонусные посты, конспекты, заметки и другие материалы.

Предыдущие выпуски:

  • 01. Пилотный выпуск подкаста Хекслет
  • 02. Информация, энтропия и нечеловеческие данные
  • 03. Математика, информатика и правила игры
  • 04. Транзисторы, квантовые компьютеры и разрешение Вселенной
  • 05. Криптография, секреты и бесполезная математика
  • 06. Квантовая криптография, свет и пиратская копия Вселенной
  • 07. Генетические алгоритмы, эволюционное программирование и создатели
  • 08. Эпоха возрождения и программирование в каменном веке
  • 09. Многослойный пирог абстракций и операционные системы
  • 10. Антиутопия и интернет, который мы потеряли
  • 11. Q&A – Машины заменяют программистов, перспективы ML и как развиваться в ауле
  • 12. Блокчейн, биткойн и деньги без денег
  • 13. Проблемы биткойна, мировой компьютер и Эфириум
  • 14. Нейронная сеть в коробке на ногах
  • 15. Колмогоровская сложность бытия

Поделиться в Фейсбуке

Твитнуть

Поделиться Вконтакте

Отправить в Телеграм

ru.hexlet.io

Развитие - Блог - Hexlet

Развитие ⬎ Павел Ким 31 августа 2018

Если вы хотите больше практических заданий и владеете английским (или хотя бы умеете гуглить перевод), то у меня для вас хорошая новость! Пару дней назад Кирилл подсказал неплохой сайт-тренажер-задачник. Я его опробовал, и, вот, теперь опишу свои мысли. Ах да, сервис называется codewars и наверняка кто-то из вас уже слышал о нем.

Коротко о коудворс

Для меня лично codewars стал местом, где можно попрактиковать технику написания кода + узнать чужие, более интересные техники. Сервис реализован в стиле "восточных единоборств". Сам сайт уже не просто сайт, а – додзё; задачки – ката; вы – солдат, воин, а не просто студент-программист, а код-ревью – кумите, спарринг. Восточная тематика создает специфическую атмосферу – здесь хочется непрерывно развиваться и становиться искуссным мастером. Порадовала сегментация задачек-ката по сложности. В общем, заходи и развивайся, самурай!

Развитие ⬎ Natalia Bass 22 марта 2018

Фокусировкой и концентрацией сложно овладеть. Конечно, большинство людей хочет научиться лучше фокусироваться и сильнее концентрироваться на задаче. Но получается ли это? Мы живем в шумном мире, и разные отвлекающие моменты постоянно мешают нам фокусироваться.

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

Развитие ⬎ Natalia Bass 08 декабря 2017

Благодаря своим open source корням, Linux выиграл от вкладов тысяч разработчиков за всё время его существования. Они построили программы и утилиты, чтобы упростить работу не только себе, но и тем программистам, которые последовали за ними.

В результате получился огромный пакет программ и утилит, который был написан на Linux и под Linux. Большая часть его никогда не портировалась в Windows.

Разработка на Windows ведёт к двум основным проблемам:

  1. Базовые задачи, вроде парсинга файлов, рабочего планирования и поиска текста используются чаще, чем запуск утилиты командной строки.
  2. Языки программирования (Python, C++) и связанные с ними библиотеки выкидывают ошибки, потому что они ожидают конкретных параметров Linux или специфических локаций файловой системы.

Если собрать всё вместе, это выльется в трату времени на переписывание базовых инструментов, которые уже доступны в Linux, они позволят избежать ошибок совместимости с ОС. Тут нет никаких сюрпризов — экосистема Windows просто не была задумана и спроектирована под нужды разработки софта.

Теперь давайте рассмотрим базовые идеи Linux.

Развитие ⬎ Natalia Bass 20 октября 2017

Я написал это руководство, чтобы помочь любому присоединяться или выкладывать свои (contributing) open source проекты на GitHub. Одна из причин крутости open source — в желании людей помогать друг другу.

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

ru.hexlet.io

Хекслет - Блог - Hexlet

Хекслет ⬎ Павел Ким 01 августа 2018

Июльский дайджест... Что-то подобное уже случалось на Хекслете год назад. Теперь надеемся это войдет в традицию и будет полезным для вас. Пожалуйста, оставьте свой фидбек: интересны ли вам подобные дайджесты, что я упустил, какие темы и новости вам интересны больше всего?

Работу джунам!

Понимаем как сложно некоторым начать карьеру. Непонятно что делать, да и вообще когда начинать поиски. Для этой цели мы внедрили новую фичу: Добро пожаловать в раздел "Карьера". Это не просто набор открытых вакансий для новичков (джуниоров) как это может показаться с первого взгляда. Фича многосоставная, двухсложная...

Хекслет ⬎ Rakhim Davletkaliyev 03 января 2018

Мы скоро проведем вебинар с ответами на ваши вопросы. Оставляйте свои вопросы в комментариях ниже. Автору лучшего вопроса подарим месяц подписки на Хекслет :)

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

Хекслет ⬎ Арбатский Артём 11 августа 2017

У нас накопилось чуть-чуть новостей и решили еще раз собрать все вместе и поделиться. Вот что мы на Хекслете сделали за июль:

Гит Гит, Ура!

Наконец-то у нас вышел новый курс по Git (можно смотреть бесплатно)

Реальные проекты для профессии PHP-программист

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

Реалити-шоу «С нуля до работы»

Некоторое время назад мы вместе с одним из учеников решили провести эксперимент. У него ситуация с обучением мягко говоря непростая. И Кирилл взял его обучение под свой контроль.

Ему 30 лет. Начал учиться с полного нуля. Ни в математике, ни в информатике знаний практически не было. Он до мозга костей гуманитарий и специалист в теологии. Тяжелая физическая работа в ночные смены, семья, ребенок, в общем, время на учебу крайне ограничено.

Хекслет ⬎ Kirill Mokevnin 27 апреля 2017

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

Хекслет ⬎ Rakhim Davletkaliyev 07 февраля 2017

Ура! Проекты теперь доступны всем!

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

Проекты — это полноценные программные продукты, которые вы будете самостоятельно разрабатывать на своем компьютере, а менторы Хекслета будут проверять ваш код, помогать решать проблемы и давать рекомендации.

«Проекты сейчас доступны только в рамках профессии «Бэкенд JS-программист». Проекты идут параллельно курсам, и вам не обязательно завершать какие-то курсы для начала проектов.

  • Один проект длится одну неделю
  • Для участия в проектах нужно иметь обычную месячную или годовую подписку
  • Участие в одном проекте стоит $97
  • Чтобы вступить в ближайший проект: вступите в профессию JS Backend, потом нажмите "Вступить в проекты".

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

В итоге:

  • вы получите опыт самостоятельной работы над настоящими проектами
  • в процессе работы мы ответим на все ваши вопросы и поможем решить все проблемы
  • ваша страница на Github'е станет вашим портфолио — там будет хороший код, который мечтают увидеть работодатели
  • после проектов мы поможем вам попасть на собеседования в разные компании
Хекслет ⬎ Denis Stebunov 17 декабря 2016

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

Хекслет ⬎ Rakhim Davletkaliyev 07 декабря 2016

Мы запустили английскую версию Хекслета!

Вчера там стартовала новая учебная программа для новичков, и первый (бесплатный) курс называется Intro to Programming. Новые уроки выходят два раза в неделю, по вторникам и пятницам.

  • В каждом уроке есть дополнительные материалы: конспект, рекомендуемые к прочтению и просмотру статьи и видеоролики, иллюстрации.
  • У видео есть субтитры.
  • Несколько раз в месяц будут вебинары с ответами на вопросы по английскому языку и по урокам.
  • Для подписчиков на расширенный план — персональный созвон по Скайпу для обсуждения любых вопросов (на английском или русском).

За обновлениями можно следить тут: Канал на YouTube / Twitter / Facebook / Reddit.

Welcome!

Хекслет ⬎ Rakhim Davletkaliyev 05 декабря 2016

Завтра, 6 декабря, в 20:30 (МСК) будет специальный вебинар. Анонс новой учебной программы по основам программирования и новых фишек по изучению кодинга и улучшению навыков английского языка. А также небольшая лекция про изучение и обучение информатике. Постараемся ответить на вопросы:

  • Любой ли может стать программистом?
  • Что делать, если ничего не получается?
  • Как учиться максимально эффективно?
  • Что лучше — книги или видео?
  • Почему миру программирования, вероятно, нужны вы?

Трансляция → https://www.youtube.com/watch?v=kIU4vFkh-gQНачало в 20:30 во вторник, 6 декабря.Длительность — примерно час.

Хекслет ⬎ Rakhim Davletkaliyev 01 ноября 2016

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

Пока конкретной даты трансляции вебинара нет, но пока она не объявлена (в этом посте будет обновление) – вопросы продолжают приниматься.

Мы постараемся ответить на большинство вопросов.

Хекслет ⬎ Rakhim Davletkaliyev 07 октября 2016

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

С сегодняшнего дня на Хекслете доступно две учебных программы (тарифных плана):

  1. Базовый план
  2. Расширенный план

Да, у нас все силы уходят на обучение людей и улучшение платформы, а на придумывание крутых названий практически ничего не остается ;-)

Также в скором времени запустится третья, самая широкая программа – "Подготовка к профессии".

Что же все это значит?

ru.hexlet.io

О проекте - Hexlet

Хекслет — практические курсы по программированию. Мы помогаем новичкам стать профессиональными программистами, а опытным разработчикам получать новые знания и расти профессионально.

Идея и мотивация

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

При сегодняшнем обилии учебных материалов, курсов и книг, главный вопрос, который встает перед новичком, это не «где учиться?», а «что и в каком порядке учить?». Существует множество мнений по этому поводу. Кто-то советует начинать с математики, кто-то советует конкретные языки и технологии.

Хекслет — это готовый путь от абсолютного новичка до первого трудоустройства. Каждый урок на Хекслете включает в себя до трех шагов:

  1. Теория. Короткая лекция в виде текста или видео. Она основана на задаче, так что в отличие от традиционной академической теории, мы делаем упор на специфическую задачу, которая уже решена умными инженерами и программистами, а затем следуем по их шагам, чтобы понять решение.
  2. Практика. Упражнения по программированию в реальной среде разработки, доступны через браузер. Не в виде симуляции, не в виде игрушки, а на настоящей машине с базами данных, фреймворками, серверами и другими инструментами.
  3. Тест. Проверка вашего понимания. Нам не важно запоминание фактов, поэтому вопросы теста нацелены на понимание концепции, а не на тренировку памяти.

В процессе обучения вы сможете получать помощь ментора, а также других членов нашего сообщества: учеников, выпускников, менторов и преподавателей.

О Хекслете в прессе

Публикации о Хекслете на русском языке

Публикации о Хекслете на английском языке

Кто делает Хекслет?

Мы – распределенная международная команда. Вот наши наши принципы программирования.

Кирилл Мокевнин

Технический директор. Учитель, создатель курсов, учебных проектов и стажировок, куратор менторов. Пишет статьи и проводит вебинары. Помогает выпускникам в трудоустройстве.

Александр Вагин

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

Игорь Инковский

Разработчик. В прошлом выпускник Хекслета, а теперь его программист. Участвует в разработке и поддержке инфраструктуры проекта.

Наталия Басс

QA. Иллюстратор. Переводит технические статьи в блогах Хекслета. Переводит наши английские курсы на русский и редактирует их.

Александр Овчар

Ментор. Помогает ученикам справляться с трудностями. Проводит проекты.

Рахим Давлеткалиев

Директор. Учитель, создатель курсов. Отвечает за операционную деятельность. Занимается поддержкой, верстает страницы и лэндинги проекта. Ведёт подкаст Хекслета.

ru.hexlet.io

Как Хекслет и Максим Батырев изменили мою жизнь - Блог

Привет, Хекслет.

Начну немного издалека.

С самого детства я болею биологией, болею сильно и не излечимо. Еще в детском саду я приносил с прогулки в карманах жаб и жуков, чем несказанно радовал воспитателей. В школе мне повезло попасть в энтомологический клуб на станции юннатов и школу я закончил имея публикацию в научном журнале и массу опыта полевых исследований. Высшее образование я естественно пошел получать биологическое. Потом была аспирантура. К защите диссертации суммарная длительность моих экспедиций достигла почти двух лет (за период с 2000 по 2013). Но к сожалению к концу аспирантуры, НИИ где я работал совсем обнищал, и моя зп скатилась до 6 тыс в месяц. Я подумал, что от такой науки можно “склеить ласты” и уволился.

Потом было 3 года в сети зоомагазинов, в которой я вырос с простого продавца до замдиректора, по всему, что связано с аквариумистикой - наем новых продавцов и их обучение, закупки товара и прочее. Попутно разводил дома рыбок и растения. В целом все было неплохо, за исключением того, что в магазине я официально был просто продавцом, а домашняя “ферма” сделала меня невыездным.

Когда мы с женой поняли, что у нас будет второй ребенок, я подумал, что нужно что то менять. К тому времени я прочитал книгу Максима Батырева “45 татуировок менеджера” и решил попробовать себя в активных продажах. Ушел из магазина и устроился “продавцом” рекламных услуг в 2ГИС Ростов. Собеседование было крайне тяжелым, спасло меня то, что директору филиала, тоже очень нравится книга Батырева. Надолго я там не задержался - проработал всего три месяца. Это было колоссально, такого опыта общения с людьми как в холодных продажах не приобрести, наверное, нигде.

Поняв, что активные продажи это интересно, здорово, но не мое, я решил прислушаться к младшему брату. Он у меня программист и давно советовал мне попробовать курсы на Хекслете. Подчеркну, что опыта программирования у меня не было даже в школе, на информатике у нас был Word и Excel, компьютерами я никогда не интересовался. И тут началась боль, каждая задача вызывала у меня кучу проблем, лекции я пересматривал по многу раз. Но трудности компенсировались чувством эйфории от решенных задач. Занимался я по 12 - 14 часов в сутки в течение 4 месяцев. К их концу я добрался только до “Автоматного программирования” профессии Бэкенд JS программист. К этому моменту было принято решение о возвращении в Ульяновск. Сразу по приезду, я начал искать работу, хоть и не закончил обучение. Посмотрел вебинар с Вероникой Ильиной, составил резюме и начал всеми правдами и неправдами пробиваться на собеседование, благо после холодных продаж мне было ничего не страшно. В ответ я часто получал письма с содержанием - резюме, конечно, интересное, но на собеседование не приходите.

В итоге я побывал всего на одном собеседовании, после которого меня взяли на работу. Компания - стартап, занимается внедрением и доработкой одной известной CRM системы. Собеседование было довольно необычным. В технической части я, так скажем, не блеснул. Немного растерялся и не ответил на некоторые вопросы, ответы на которые знал. После технической части мы долго обсуждали мой опыт, цели и видение будущего. Обсудили и книгу Батырева, и пассионариев Гумилева и еще много чего. В итоге все решил мой опыт руководства и продаж, наши клиенты, в основном, люди что-либо продающие, и мне легче понять их потребности. Меня взяли на работу, причем с зарплатой несколько выше чем в большинстве предложений для джунов в Ульяновске, на тот момент.

На данный момент мною написано и выпущено в реальный продакшен несколько приложений, причем одно довольно сложное. Приложения разные, бывает фронтенд, бывает с бэкендом. Фронтенд без фреймворка, т.к. элементы встраивается в готовую систему. На бэкенде пишу на Node + Express, деплои и администрирование моих программ тоже на мне. В ближайшее время планирую написание npm модуля - обертки на API црм, чтобы не таскать файлики вручную из проекта в проект. Отчасти я еще сам себе и ПМ, и саппорт, т.к. все что касается разработки ложится на мои плечи, в том числе общение с клиентом и представителями црм (в чем я не вижу ничего плохого). Помимо прочего, сейчас обсуждается вопрос о том, чтобы расширять команду под моим руководством. Из плюшек мне оплачивают спортзал и Хекслет, обсуждаем оплату проектов. Так как технического руководства у меня фактически нет, все решения я принимаю опираясь на знания полученные на Хекслет. Пока ни разу не пожалел. Особенно меня порадовал Docker конечно, легче и приятней жить стало. В отдаленных целях есть план попробовать еще какой-нибудь серверный язык, разобраться Ansible, прочитать книгу “Операционная система UNIX” Робачевского. Ну и в идеале одолеть “Архитектуру компьютера”, “Компьютерные сети”, и “Операционные системы” Таненбаума.

Работать программистом мне нравится. В начале я немного боялся, что эта профессия мне чем то не подойдет и я снова окажусь в поиске. Сейчас я уверен, что это мое. Мне нравится постоянная необходимость искать решение, получать знания и применять их на практике. В заключение хотелось бы отметить, что мне помогло достичь успеха в обучении:

  • Поддержка семьи в тяжёлые моменты, особенно брата и жены. Постарайтесь донести до ваших близких важность обучения, очень важно чтобы в сложные моменты (которые обязательно будут), вас поддержали, а не говорили, что вы “страдаете фигней”.
  • Привычка рефлексировать. Постарайтесь научится воспринимать неудачи, с позиции “почему не получилось” и “как этого избежать в следующий раз”, а не с позиций “я идиот” или “во всем виноваты тупые задачи / Хекслет / жестокий мир / соседская бабушка”. Это не легко, но к этому нужно стремиться.
  • Самомотивация. Ищите источники мотивации, для меня это были дети. Постарайтесь понять для чего вы учитесь, когда цель сформулирована четко, идти к ней легче.

На этом заканчиваю, с наилучшими пожеланиями alexandr_zotov.

Поделиться в Фейсбуке

Твитнуть

Поделиться Вконтакте

Отправить в Телеграм

ru.hexlet.io

Обучение - Блог - Hexlet

Многие люди обращаются к нам с одним и тем же вопросом: “А не поздно ли мне становиться разработчиком в X лет?”, этот же вопрос часто встречается на форумах, тостере и подобных сервисах. Часто почему-то “переломным” возрастом является именно 30. Вроде как люди думают, что в 28 еще все ок, а в 30 уже все, пиши пропало. Постарался ответить максимально подробно и честно, на своем опыте и опыте студентов Хекслета.

Спойлер для тех, кому лень читать дальше.

Стать программистом можно в любом возрасте. В 30 лет - не поздно!

Это факт, подтвержденный десятками историй реальных людей. Вообще, отвлечемся от IT. Я на 100% убежден, что менять работу можно и нужно в любом возрасте, особенно если вас от этой работы уже тошнит. Как это было у меня, и как это было у Евгения, автора истории “Из админа в программисты в 30 лет”.

Я лично физически уже не мог себя заставить на работу ходить, и что мне нужно было делать, просто потерпеть еще 30 лет до пенсии? Шикарная перспектива. Жизнь у нас одна, какой смысл заставлять ходить на надоевшую работу и работать с неприятными тебе людьми? Так можно поступить, только если нет выбора, но на самом деле он есть всегда, просто мы часто его не осознаем.

30 лет это вообще не тот возраст, в котором стоит говорить про “поздно”. Может быть поздновато уже посещать студенческие вечеринки, но учиться чему-то новому уж точно не поздно. Люди начинают совершенно новую жизнь и в 50, и в 75 лет. Есть такой отличный проект “Возраст счастья”, там такие истории собраны, что я просто был в приятном шоке. Люди меняют жизнь кардинально и в 70 лет.. Представьте, как громко такой человек будет смеяться, если ему расскажут о сомнениях тридцатилетних. Поэтому вопрос “не поздно ли?” совершенно не имеет смысла.

ru.hexlet.io