
Статьи по теме Без стека


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


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


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


Подключайся к стриму 6 декабря в 20:30 по московскому времени на канале HexletUniversity. Рахим Давлеткалиев в прямом эфире расскажет о последних новостях Хекслета (новый тарифный план с проектами и подключению новой фичи при оплате годовой подписки).
Основная тема вебинара - новая программа по изучению английского языка. Наполнение программы планируется по вторникам и пятницам и будет включать в себя видео, упражнения, статьи, иллюстрации и рекомендации к дополнительному изучению. Основная задача - помочь подтянуть английский язык и организовать поддержку для тех, кто планирует приступить к изучению.
А также пройдёт небольшая лекция об изучении и обучении информатики - мотивация, что делать, если ничего не получается, как построить систему обучения, какими форматами пользоваться и многое другое. Существуют ли школы с "волшебными" преподавателями и правда ли, что если не получается, нужно бросить обучение и никогда к нему не возвращаться.
Задавайте свои вопросы в прямом эфире в нашем канале general в слак-комьюнити Hexlet, Рахим ответит на них.




В сегодняшний прямой эфир мы пригласили гостя - Александра Бындю. Александр является экспертом в архитектуре и бизнес-процессах внутри компаний, его приглашают в качестве внешнего консультанта в ИТ-компании. Кроме того, он преподаёт в ЮУрГУ и ЧелГУ, является основателем собственной компании и проводит конференцию .NET разработчиков .dotnetconf.
Модератором интервью выступает Кирилл Мокевнин. Мы поговорим об IT-архитектуре и методологиях постановки задач, профильном и дополнительном образовании, постоянном повышении квалификации, трендах в программировании и технологиях, образе идеального программиста, тайм-менеджменте, компетенциях, потолке способностей и построении карьеры разработчика.
Внутри новости вы узнаете, какие ещё вопросы задали гостю Кирилл и участники slack-комьюнити, а также полезные ссылки по теме вебинара. Кроме того, в ходе эфира Александр расскажет о книгах, которые он рекомендует к прочтению.
Данный вебинар актуален в любой период просмотра ролика, так как здесь разбираются концептуальные и всегда актуальные подходы к работе разработчика вне зависимости от технического стека.



Итак, вы изучаете программирование. Это замечательно! И как правило в процессе изучения, и в процессе работы у вас возникает много вопросов. Способов получить ответы на эти вопросы существует несколько:


У нас хорошие новости! Мы обновили наши программы обучения и, наконец, дождались момента, когда можем рассказать о них и о нашем видении эффективного обучения программированию.
С сегодняшнего дня на Хекслете доступно две учебных программы (тарифных плана):
- Базовый план
- Расширенный план
Да, у нас все силы уходят на обучение людей и улучшение платформы, а на придумывание крутых названий практически ничего не остается ;-)
Также в скором времени запустится третья, самая широкая программа – "Подготовка к профессии".
Что же все это значит?


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


Для настройки окружения проекта можно использовать (а многие так и делают) стандартные средства операционной системы. Такие, как пакетный менеджер (yum, apt), прямое редактирование конфигурационных файлов, bash-скрипты, curl/wget и многое другое.
Этот подход, с одной стороны, самый простой, но он обладает рядом недостатков, некоторые из которых критические.
Первая проблема - это отсутствие повторяемости. Обычно изменения в первую очередь делаются локально, потом их нужно перенести на рабочие машины ваших коллег, а в конце концов все изменения должны оказаться на сервере. При этом иногда вам придется пересобирать локальное окружение (по множеству причин). Такой подход всегда приводит к рассогласованию настроек на разных машинах, появляются разные версии программного обеспечения, неправильно настроенные конфиги, забытые ключи.


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


Подробно рассказываем, в каком порядке выполняется код.


Со временем, в процессе обучения, у каждого наступает такой момент, когда ты перестаешь расширять интерфейс и реализовывать родительский класс, а упоминание названия какого-либо фреймворка не вызывает у тебя вопрос "как ты там сказал? а что это?". Скорее всего ты уже даже скачал этот самый фреймворк и запилил на нем трехстраничный сайт, где, без шуток, даже регистрация работает! По завершении, в качестве фаталити, собственноручно и без подглядывания в мануал запушил это все на гитхаб и теперь почиваешь на лаврах. Вопрос "как" для задач, которые на данном этапе ты считаешь актуальными, не такой частый гость для тебя.
В этой заметке я хочу рассказать о проблемах, с которыми я столкнулся на данном этапе обучения и как Хекслет начинает помогать мне в их решении. Почему начинает, а не уже помог? Потому-что речь пойдет о только недавно запущенном нововведении на Хекслете, именуемом "Проекты". Если коротко, то это работа над (внезапно) небольшим проектом под руководством опытных разработчиков в течение одной-двух недель. У нас ушло две недели, а писали мы консольное приложение.


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


