Основные возможности платформы Hexlet не доступны в вашем браузере. Пожалуйста, обновитесь.

Блог Хекслета

Обучение, саморазвитие и истории успеха
,

ОбучениеОбучение программированию в 30+ лет: подробный гайд

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

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

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

Обучение программированию для взрослых

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

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

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

Читать дальше →
,

РазвитиеЭго — враг разработчика

Это — перевод статьи "For Developers, Ego is the Enemy" разработчиак Fatos Morina.

Недавно я закончил читать книгу Райана Холидея Ego is the Enemy (Эго – это враг), и у меня возникло множество ценных умозаключений, которые я решил написать в этой статье.

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

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

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

Читать дальше →
,

РазработкаКак программист автоматизировал свою работу и теперь мучается вопросами морали

когда все запрограммировал, и отдыхаешь

Перевели для вас небольшой пост со StackExchange, в котором юзер под ником Etherable делится историей о своей нелегкой кодерской жизни.

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

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

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

Итак, я делал это примерно 18 месяцев и за это время изучил все подводные камни и написал программу, которая уже 6 месяцев делает всю работу за меня. Теперь то, на что у моего предшественника уходил месяц, требует 10 минут. Нужно просто подготовить таблицу и прогнать ее через программу.

И моя проблема теперь такова — должен ли я сказать им? Если я скажу, они, наверное, оставят программу и избавятся от меня. В этой компании не очень много работы связанной с IT. Есть эта легаси система, в которой они годами хранят пользовательские данные, и им просто нужен кто-то, чтобы ее поддерживать. В то же время, я не чувствую, что поступаю правильно. Ведь моя работа сейчас выглядит так: я получаю спецификации, прогоняю через программу и затем примерно каждую неделю говорю, что я закончил часть работы, и они могут проверять. Я даже вставляю туда несколько ошибок, чтобы было похоже на то, что работа на самом деле проделана человеком.

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

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

Что думаете, коллеги? Стоит ли парню рассказать о своем маленьком секрете и потерять хорошую работу? (вернее, потерять отличный источник пассивного дохода :D)

Оригинальный топик

Читать дальше →
,

ВебинарыКак распространять инженерную культуру в своей компании (Кирилл Мокевнин)

Многие люди, приходя на работу в новую компанию, сталкиваются с тем, что им не нравится сложившаяся инженерная культура. Люди годами работают так, как они работают, привыкли и им вполне удобно. Чаще всего они скептически относятся к предложениям изменений. Бывает и так, что человек работает в компании уже какое-то время, но вдруг втягивается в какую-то тусовку, начинает активно развиваться и хочет мотивировать к развитию своих коллег (или подчиненных), но они не спешат поддаваться уговорам и работают "по старинке".

Кирилл поделился наработанным опытом "партизанского" обучения и рассказал, как действовать в такой ситуации, как результативно продвигать изменения в компании.

Читать дальше →
,

ОбучениеЭффективная работа в командной строке: навигация и поиск

Это перевод заметки Effective Shell Part 1: Navigating the Command Line Дейва Керра.

Это первая часть серии заметок, которая содержит практические советы по использованию командной строки более эффективно.

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

Вот диаграмма с кратким описанием, остаток статьи — разбор деталей.

  • Базовая навигация
  • Поиск
  • Редактирование на месте
  • Совет от профи: транспонируйте!
  • Мысли в заключение
Читать дальше →
,

Подкаст11. Q&A: Машины заменяют программистов, перспективы ML и как развиваться в ауле

Выпуск ответов на вопросы. Три вопроса на сегодня:

В последнее время вижу статьи про то, что многие профессии будут заменяться компьютерами и алгоритмами. Насколько по-вашему это актуально для программистов и как и куда надо развиваться, чтобы свою профессию в ближайшее время не потерять? / isprogfun

Каковы по-вашему мнению перспективы ML (машинного обучения)? Станет ли это направление новым big deal в мире computer science? И насколько вероятно появление принципиально новых методов машинного обучения? Все что есть сейчас это по сути статистические и вероятностные модели скрывающиеся под красивыми названиями. / bivo

Каким образом развиваться айти специалисту, разработчику в ауле, маленьком городе. Как преодолеть барьер i don't know what I don't know / Askar Telpekbayev‏

Вы можете поддержать подкаст на Patreon. Ваши пожертвования помогут выпускать подкаст чаще.

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

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

Читать дальше →
,

Истории успехаИнтервью с jougene о трудоустройстве и обучении

Всем привет, сегодня очередное интервью с нашим товарищем Евгением Синицыным (jougene). Евгений уже писал статью про свое трудоустройство, но мы решили еще немного помучить его вопросами, и он великодушно согласился :)

История Евгения вкратце для тех, кто не читал предыдущую статью:

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

Сколько в итоге проработал на первом месте? Сложно ли было вообще включаться в “боевые задания” после учебы и туториалов?

На первом месте проработал 11 месяцев. Включаться в рабочий процесс было для меня очень необычно, все новое, то что проходили на курсах вообще какой-то другой мир. Пришел, показали, что такое джаваскрипт, консоль браузера, как там смотреть что куда отправляется, и какой ответ приходит. Короче получилось так, что с точки зрения всяких инструментов для работы все было новым. Что такое фреймворки я не знал, познакомился в процессе работы, работа с DOM’ом тоже в процессе, ну а дальше уже как-то сам начал осваиваться и делать более сложные задачи.

Читать дальше →
,

РазработкаКак читать код: 8 принципов, которые стоит запомнить

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

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

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

Все, что вы увидите как читатель — это законченный продукт. И если не провести некоторых раскопок, единственный контекст, с которым вы будете работать — это тот самый код на вашем экране.

Читать дальше →
,

ВебинарыКак эффективно обучаться программированию

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

Читать дальше →
,

ОбучениеМатрица компетентности программиста

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

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

Матрица компетентности программиста png hexlet

Основано на «матрице Хекслета».

Автор: Кирилл Мокевнин. Иллюстрация: Наталия Басс.

Читать дальше →