HTML Diff
1 added 1 removed
Original 2026-01-01
Modified 2026-02-26
1 <p><em>Это перевод заметки Ника Харли<a>There’s never been a better (or a worse) time, to be a software engineer</a>.</em></p>
1 <p><em>Это перевод заметки Ника Харли<a>There’s never been a better (or a worse) time, to be a software engineer</a>.</em></p>
2 <p>Иногда престижность работы программиста ломается коллегой, который разбивает голову о клавиатуру. Инновации позволяют программистам быть более производительными, писать код быстрее и качественней.<strong>Но это не мешает существовать тем продуктам, которые усложняют нашу работу...</strong></p>
2 <p>Иногда престижность работы программиста ломается коллегой, который разбивает голову о клавиатуру. Инновации позволяют программистам быть более производительными, писать код быстрее и качественней.<strong>Но это не мешает существовать тем продуктам, которые усложняют нашу работу...</strong></p>
3 <h4>Начнем с плохого...</h4>
3 <h4>Начнем с плохого...</h4>
4 <h5>1. Работа никогда не заканчивается</h5>
4 <h5>1. Работа никогда не заканчивается</h5>
5 <p>Как разработчик, вы ежедневно возвращаетесь к набору тех проблем, которыми пропитан ваш софт. Он абсолютно всё делает неправильно.<strong>А того, что люди от него хотят, этот софт как раз не делает.</strong></p>
5 <p>Как разработчик, вы ежедневно возвращаетесь к набору тех проблем, которыми пропитан ваш софт. Он абсолютно всё делает неправильно.<strong>А того, что люди от него хотят, этот софт как раз не делает.</strong></p>
6 <p>Все ваши взаимодействия с пользователями сводятся к тому, что они хотят чего-то, чего вы им не дали. Они не понимают, почему всё не так просто, как им кажется.</p>
6 <p>Все ваши взаимодействия с пользователями сводятся к тому, что они хотят чего-то, чего вы им не дали. Они не понимают, почему всё не так просто, как им кажется.</p>
7 <p>Мы мечтаем о том дне, когда кто-то поблагодарит нас за безупречную работу в проекте и не потребует каких-нибудь "добавок".</p>
7 <p>Мы мечтаем о том дне, когда кто-то поблагодарит нас за безупречную работу в проекте и не потребует каких-нибудь "добавок".</p>
8 <p>Спецификации и требования - заранее, пожалуйста!</p>
8 <p>Спецификации и требования - заранее, пожалуйста!</p>
9 <h5>2. Люди (до сих пор) не понимают, чем вы занимаетесь</h5>
9 <h5>2. Люди (до сих пор) не понимают, чем вы занимаетесь</h5>
10 <p>Возможно, подруге вашей мамы нужна помощь с принтером - ей сказали, что вы работаете в ИТ. Или у вашего продакт-менеджера отсутствуют какие-либо технические знания, и он совершенно не разбирается в современных методах программирования.</p>
10 <p>Возможно, подруге вашей мамы нужна помощь с принтером - ей сказали, что вы работаете в ИТ. Или у вашего продакт-менеджера отсутствуют какие-либо технические знания, и он совершенно не разбирается в современных методах программирования.</p>
11 <p><strong>Кажется, никто не понимает, в чём заключается ваша работа</strong>, и вам нужно отчитываться перед людьми, которые не в курсе требований или ограничений. Объяснять понятно всем, что вы делаете, бывает настолько сложно, что иногда пытаться не имеет смысла. Поэтому на встречах вы просто ограничиваетесь фразой "я работаю с компьютерами".</p>
11 <p><strong>Кажется, никто не понимает, в чём заключается ваша работа</strong>, и вам нужно отчитываться перед людьми, которые не в курсе требований или ограничений. Объяснять понятно всем, что вы делаете, бывает настолько сложно, что иногда пытаться не имеет смысла. Поэтому на встречах вы просто ограничиваетесь фразой "я работаю с компьютерами".</p>
12 <h5>3. Как же много новых языков и фреймворков для изучения</h5>
12 <h5>3. Как же много новых языков и фреймворков для изучения</h5>
13 <p>На момент, когда вы будете читать эту статью, вероятно, будет существовать<a>ещё один новый JavaScript-фреймворк</a>, который<em>стыдно</em>не использовать. Кажется, никто больше не работает с HTML напрямую.</p>
13 <p>На момент, когда вы будете читать эту статью, вероятно, будет существовать<a>ещё один новый JavaScript-фреймворк</a>, который<em>стыдно</em>не использовать. Кажется, никто больше не работает с HTML напрямую.</p>
14 <p><strong>Похоже, вам нужно переучиваться на свою профессию каждые пять лет или рисковать отсталостью.</strong></p>
14 <p><strong>Похоже, вам нужно переучиваться на свою профессию каждые пять лет или рисковать отсталостью.</strong></p>
15 <p>В мире языков и фреймворков случился настоящий взрыв. Все они требует поддержки. А разработчики не всегда успевают оставаться в курсе всего. Изучение любых дополнений к 400+ языкам программирования и уже существующим фреймворкам - это работа на полную ставку. Почему вы не проводите каждые выходные, играя с новейшими технологиями? Возможно, у вас есть жизнь за пределами рабочего пространства, вы не грезите, не едите и не дышите кодом.</p>
15 <p>В мире языков и фреймворков случился настоящий взрыв. Все они требует поддержки. А разработчики не всегда успевают оставаться в курсе всего. Изучение любых дополнений к 400+ языкам программирования и уже существующим фреймворкам - это работа на полную ставку. Почему вы не проводите каждые выходные, играя с новейшими технологиями? Возможно, у вас есть жизнь за пределами рабочего пространства, вы не грезите, не едите и не дышите кодом.</p>
16 <p>Позор.</p>
16 <p>Позор.</p>
17 <h5>4. Работа с кодом других людей</h5>
17 <h5>4. Работа с кодом других людей</h5>
18 <blockquote><p>"КТО НАПИСАЛ ЭТОТ КОД!?"</p>
18 <blockquote><p>"КТО НАПИСАЛ ЭТОТ КОД!?"</p>
19 <p>"Это полная каша! Тут нет никакого смысла!"</p>
19 <p>"Это полная каша! Тут нет никакого смысла!"</p>
20 <p>"Я проверяю историю коммитов... Хочу узнать, кто написал этот мусор..."</p>
20 <p>"Я проверяю историю коммитов... Хочу узнать, кто написал этот мусор..."</p>
21 <p>"Так, подожди..."</p>
21 <p>"Так, подожди..."</p>
22 <p>"Это был я, в прошлом году"</p>
22 <p>"Это был я, в прошлом году"</p>
23 </blockquote><p>Если не считать изменения собственного устаревшего кода, попытки понять, как работает часть унаследованного кода - боль. Но от вас ожидается, что вы погрузитесь в него и просто продолжите писать, как ни в чём не бывало.</p>
23 </blockquote><p>Если не считать изменения собственного устаревшего кода, попытки понять, как работает часть унаследованного кода - боль. Но от вас ожидается, что вы погрузитесь в него и просто продолжите писать, как ни в чём не бывало.</p>
24 - <p>Пытаться разобрать намерения предыдущего разработчика еще сложнее, когда этого разработчика больше нет поблизости, а код плохо написан, плохо прокомментирован или плохо задокументирован.</p>
24 + <p>Пытаться разобрать намерения предыдущего разработчика еще сложнее, когда этого разработчика больше ет поблизости, а код плохо написан, плохо прокомментирован или плохо задокументирован.</p>
25 <p>Если бы только люди понимали...</p>
25 <p>Если бы только люди понимали...</p>
26 <h4>Но, есть и множество положительных моментов...</h4>
26 <h4>Но, есть и множество положительных моментов...</h4>
27 <p>Современная разработка софта на самом деле никогда не была проще.</p>
27 <p>Современная разработка софта на самом деле никогда не была проще.</p>
28 <p>И вот почему…</p>
28 <p>И вот почему…</p>
29 <h5>Приложения теперь сообщают вам, когда они нездоровы</h5>
29 <h5>Приложения теперь сообщают вам, когда они нездоровы</h5>
30 <p>Раньше разработчики полагались на своих пользователей. Именно они выявляли проблемы, сталкиваясь с ними когда приложение уже в production. Но времена меняются.</p>
30 <p>Раньше разработчики полагались на своих пользователей. Именно они выявляли проблемы, сталкиваясь с ними когда приложение уже в production. Но времена меняются.</p>
31 <p><strong><a>Инструменты мониторинга ошибок</a>, которые могут сообщить вам, что не так с вашим приложением и почему</strong>, без необходимости просить пользователей сообщать об ошибках. Такие инструменты уже в арсенале самых продвинутых компаний в мире, и они становятся всё умнее. Они указывают, когда следует обратить внимание и где корень ошибки.</p>
31 <p><strong><a>Инструменты мониторинга ошибок</a>, которые могут сообщить вам, что не так с вашим приложением и почему</strong>, без необходимости просить пользователей сообщать об ошибках. Такие инструменты уже в арсенале самых продвинутых компаний в мире, и они становятся всё умнее. Они указывают, когда следует обратить внимание и где корень ошибки.</p>
32 <p><em>(Команда Хекслета предпочитает<a>Rollbar</a>, - прим. ред.)</em></p>
32 <p><em>(Команда Хекслета предпочитает<a>Rollbar</a>, - прим. ред.)</em></p>
33 <p>Теперь, когда ошибки загружаются в баг-трекеры автоматически и ручной процесс становится историей, больше инженеров можно направить на создание новых возможностей, функциональности и целых продуктов, а не на поддержку этих продуктов.</p>
33 <p>Теперь, когда ошибки загружаются в баг-трекеры автоматически и ручной процесс становится историей, больше инженеров можно направить на создание новых возможностей, функциональности и целых продуктов, а не на поддержку этих продуктов.</p>
34 <p>Инструменты, вероятно, знают больше о вашем софте и клиентах, чем вы.<strong>Поэтому скоро не будет<a>никакого оправдания дерьмовому софту</a>.</strong></p>
34 <p>Инструменты, вероятно, знают больше о вашем софте и клиентах, чем вы.<strong>Поэтому скоро не будет<a>никакого оправдания дерьмовому софту</a>.</strong></p>
35 <h4>Инструменты могут выполнять за вас тяжёлую работу</h4>
35 <h4>Инструменты могут выполнять за вас тяжёлую работу</h4>
36 <p>Раньше нам нужно было заморачиваться только о нескольких устройствах и размерах экранов. Теперь, когда появляется новый продукт от Apple, Samsung или Google, ситуация может измениться существенно.</p>
36 <p>Раньше нам нужно было заморачиваться только о нескольких устройствах и размерах экранов. Теперь, когда появляется новый продукт от Apple, Samsung или Google, ситуация может измениться существенно.</p>
37 <p>Но современные кроссплатформенные фреймворки и инструменты позволяют разработчикам сокращать объем дублирования и усилий, необходимых для поддержки пользователей любых устройств, браузеров или операционных систем.</p>
37 <p>Но современные кроссплатформенные фреймворки и инструменты позволяют разработчикам сокращать объем дублирования и усилий, необходимых для поддержки пользователей любых устройств, браузеров или операционных систем.</p>
38 <p><a>Прогрессивные веб-приложения</a>набирают популярность, поскольку они подходят каждому пользователю, независимо от браузера - они построены по принципу прогрессивной оптимизации.</p>
38 <p><a>Прогрессивные веб-приложения</a>набирают популярность, поскольку они подходят каждому пользователю, независимо от браузера - они построены по принципу прогрессивной оптимизации.</p>
39 <p><a>Xamarin</a>, приобретенный Microsoft в 2016 году, позволил тысячам команд выпускать собственные приложения для Android, iOS и Windows, используя существующие навыки, команды и код, вместо того, чтобы создавать отдельные приложения для каждой платформы. А такие инструменты, как<a>Foundation</a>,<a>Bootstrap</a>и<a>Semantic UI</a>созданы, чтобы разработчикам интерфейсов больше не нужно было начинать с пустого файла CSS для получения безупречных пикселей.</p>
39 <p><a>Xamarin</a>, приобретенный Microsoft в 2016 году, позволил тысячам команд выпускать собственные приложения для Android, iOS и Windows, используя существующие навыки, команды и код, вместо того, чтобы создавать отдельные приложения для каждой платформы. А такие инструменты, как<a>Foundation</a>,<a>Bootstrap</a>и<a>Semantic UI</a>созданы, чтобы разработчикам интерфейсов больше не нужно было начинать с пустого файла CSS для получения безупречных пикселей.</p>
40 <p>Жизнь была бы намного сложнее без этих инструментов. Не делать все с нуля - роскошь.</p>
40 <p>Жизнь была бы намного сложнее без этих инструментов. Не делать все с нуля - роскошь.</p>
41 <h4>Времена выхода финальных версий ушли в прошлое - ура!</h4>
41 <h4>Времена выхода финальных версий ушли в прошлое - ура!</h4>
42 <p>Выход финальной версии когда-то приносил поток нервов и стресса, особенно когда приближалось время выхода релиза в production.</p>
42 <p>Выход финальной версии когда-то приносил поток нервов и стресса, особенно когда приближалось время выхода релиза в production.</p>
43 <p><strong>Непрерывная интеграция и доставка берут верх - команды постепенно отказываются от крупных, пугающих цикличных релизов</strong>, используя итеративные мелкие деплои. У них чаще добавляются новые опции, чаще происходит обновление конечной версии и исправление багов может происходить несколько раз в день. Оттого, что возможностей привнести новую ценность больше, вероятность в удовлетворении своих клиентов выше. А продукты таких команд часто более высокого качества.</p>
43 <p><strong>Непрерывная интеграция и доставка берут верх - команды постепенно отказываются от крупных, пугающих цикличных релизов</strong>, используя итеративные мелкие деплои. У них чаще добавляются новые опции, чаще происходит обновление конечной версии и исправление багов может происходить несколько раз в день. Оттого, что возможностей привнести новую ценность больше, вероятность в удовлетворении своих клиентов выше. А продукты таких команд часто более высокого качества.</p>
44 <p>Результат - ускоренный выход на рынок, выше степень удовлетворённости качеством обслуживания и быстрая реакция на изменения потребительского рынка.</p>
44 <p>Результат - ускоренный выход на рынок, выше степень удовлетворённости качеством обслуживания и быстрая реакция на изменения потребительского рынка.</p>
45 <p>Дни выхода сломанного релиза в production и тотального фейла у конечных пользователей (или страха попасть в такую ситуацию) ушли в прошлое, по крайней мере, для большинства команд.</p>
45 <p>Дни выхода сломанного релиза в production и тотального фейла у конечных пользователей (или страха попасть в такую ситуацию) ушли в прошлое, по крайней мере, для большинства команд.</p>
46 <h4>А что думаете вы?</h4>
46 <h4>А что думаете вы?</h4>
47 <p>Разве у нас когда-нибудь было всё так хорошо?</p>
47 <p>Разве у нас когда-нибудь было всё так хорошо?</p>
48 <p>И какие самые лучшие и худшие моменты в программировании для вас?</p>
48 <p>И какие самые лучшие и худшие моменты в программировании для вас?</p>
49 <p><em>От редактора:</em>Мы на Хекслете часто публикуем переводы статей. Важно помнить:</p>
49 <p><em>От редактора:</em>Мы на Хекслете часто публикуем переводы статей. Важно помнить:</p>
50 <ol><li>Мнение автора статьи может отличаться от мнения администрации и сотрудников Хекслета.</li>
50 <ol><li>Мнение автора статьи может отличаться от мнения администрации и сотрудников Хекслета.</li>
51 <li>Цель перевода - показать мнение. Поэтому одна статья может визуально противоречить другой: это просто разные мнения. Мы оставляем на вашу ответственность возможность анализировать и делать выводы для себя.</li>
51 <li>Цель перевода - показать мнение. Поэтому одна статья может визуально противоречить другой: это просто разные мнения. Мы оставляем на вашу ответственность возможность анализировать и делать выводы для себя.</li>
52 </ol>
52 </ol>