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

РазработкаЛожь, в которую верят программисты

Это перевод статьи Грэма Ли Falsehoods programmers believe about programming.

  • Моя работа не оказывает этическое влияние: я создаю технологические системы и то, как другие их используют, зависит от этих людей.
  • Софт — абсолютно техническая дисциплина
  • К компьютерному программированию существует своеобразная врождённая предрасположенность, ему невозможно просто научиться.
  • Позволить программировать людям, которые не такие как я, можно только путём «понижения планки».
  • Компилируемые языки программирования всегда быстрее.
  • Вычисления с плавающей запятой приводят к недетерминированным ошибкам в числовых результатах.
  • Ок, они иногда приводят к ошибкам в числовых результатах.
Читать дальше →
,

РазвитиеИзучите необходимый минимум Linux, чтобы быть продуктивным

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

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

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

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

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

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

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

РазработкаКак объяснить 10 лет веб-разработки путешественнику во времени из 2007

Это перевод статьи Ивана Зареа How I would explain a decade of web development to a time traveler from 2007.

Привет! Надеюсь, тебе нравится наш, новый для тебя мир. Он сильно отличается от мира 2007 года. Если ты только что взял ипотеку, вернись и закрой её. Поверь мне.

Я рад, что тебя всё ещё интересуют компьютеры! Сегодня у нас их гораздо больше, чем 10 лет назад, что принесло новые сложности. Мы носим компьютеры на руках и голове, держим их в карманах, они встроены в холодильники и чайники. Автомобили успешны в самоуправлении, а программы (чему мы их научили) играют лучше, чем люди, почти в каждую игру, за исключением наверно только алкогольных игр.

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

Истории успехаКак Хекслет и Максим Батырев изменили мою жизнь

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

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

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

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

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

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

КарьераБыть многопрофильным специалистом, но рекламировать себя как специалиста в одной области

Одно из решений, которое вам нужно принять в строительстве карьеры разработчика - это выбор между:

  1. Специалистом, экспертом в определённой области.
  2. Многопрофильным работником, способным выполнять крупный спектр различных работ.

Микель Белтран считает, что правильный выбор — специализация:

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

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

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

Истории успехаPair is not a function: от радиоинженера до fullstack-разработчика

Всем привет, меня зовут Илья. Я расскажу, как я нашел работу fullstack-разработчиком за примерно полгода по-настоящему интенсивного обучения.

Я закончил МИРЭА по радиотехнической специальности, два года проработал в отрасли инженером, впоследствии понял, что ловить там нечего и решил кардинально менять сферу своих профессиональных интересов. Взгляд упал на веб-программирование, так как перед глазами была саксесс-стори друга, который во времена руби-хайпа самостоятельно разобрался с языком и основным фреймворком (неожиданно RoR) и нашел работу в каком-то берлинском стартапе. Привлекло то, что можно без проблем самостоятельно освоить нужные технологии, и найти работу без жестких требований к образованию.

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

РазработкаОписание современного JavaScript для динозавров

Изучать современный JavaScript — болезненно, если вы не знакомы с ним с самого его рождения. Экосистема разрастается и меняется с такой скоростью, что сложно разобраться с тем, какие проблемы пытаются решить разные инструменты. Я начал программировать в 1998 году, но к серьёзному изучению JavaScript приступил только в 2014. В то время я помню как анализировал Browserify и изумлённо смотрел на его слоган:

Browserify позволяет запрашивать (require) модули в браузере, объединяя все зависимости.

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

Цель этой статьи — показать исторический контекст развития инструментов JavaScript до их уровня в 2017. Начнём с самых первых моментов и построим шаблон веб-сайта, как бы это сделали динозавры — без инструментов, чистый HTML и JavaScript. Затем мы будем пошагово вводить различные инструменты, чтобы на практике видеть, какие задачи они решают — поочерёдно. Благодаря историческому контексту у вас будет больше возможностей изучить и лучше адаптироваться к бесконечно меняющемуся JavaScript. Давайте начнём!

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

РазвитиеКак участвовать в open source проектах

github

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

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

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

Истории успехаСо способностями не повезло, но упорства оказалось достаточно

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

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

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

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

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

Истории успехаСтать программистом

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

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