23 июля 2013 в 11:26

С гвоздем в глазу все видится гвоздем перевод

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

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

Переведено в Alconost.




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

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

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

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

Сейчас я занимаюсь сайд-проектом, благодаря которому разработчики смогут быть уверенными в том, что код проходит проверку. И, по-моему, продукт выйдет хорошим. Он систематизирует и реализует подход к проверке кода, который мы используем в Copyin, и несколько человек уже сказали, что будут пользоваться им вовсю, как только он будет готов. Но я все еще по-настоящему не верю в этот продукт. Мне все еще хочется запустить маленькое приложение Sinatra, которое асинхронно обрабатывает события на Github, и создать алгоритм автоматического определения, кого из членов команды лучше выделить для проверки коммита. И за все это время я так и не взялся за уведомления по электронной почте.

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

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


О переводчике

Перевод статьи выполнен в Alconost.

Alconost занимается локализацией приложений, игр и сайтов на 60 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.

Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.

Подробнее: https://alconost.com

Автор: @alconost Rob Heaton
Alconost
рейтинг 87,27
Локализуем на 68 языков, делаем видеоролики для IT

Комментарии (13)

  • +1
    Чем глубже вы будете закапываться в технологию, тем больше отдалитесь от
    реальности и рынка. Технология не признается вам в любви. И когда
    окажется, что вы копаете не туда, плотно увязнув в дурно пахнущей грязи, вы
    даже не вспомните, зачем вы вообще начали копать в этом дурацком
    направлении.

    Так и есть. И почемуто мне это напомнило идею вот этой картинки
    habrastorage.org/storage2/89f/701/a54/89f701a5458327732ddcc040d8fcb8d8.png
  • 0
    Категорически согласен со статьей — перфекционизм в программировании должен иметь свои границы.
  • 0
    Только если программист перестанет интересоваться технологиями, то он перестанет быть профессионалом. Не нужно крайностей. Я думаю это просто разные профессии — менеджер по продукту и разработчик. Можно попробовать совмещать 2 роли. А так да, статья очень точно отражает проект, который 100% делают технари.
  • 0
    Если честно — ужасный перевод для компании, профессионально занимающейся переводами. Слишком много неестественно построенных предложений с точки зрения русского языка.
    • 0
      Мы никогда не сторонились критики. Был бы очень благодарен за конкретные примеры.
      • +3
        Последний абзац оригинала создаёт очень красочную картинку в мозгу. Нора, да не та. Кролики. Их экскременты. Я даже запах отдалённо почувствовал. Вы это заменили «дурацким направлением», а все отсылки к Алисе вообще выкинули.

        «все, кого вы любите», второй абзац. В английском, «everyone you love» — часто используемое выражение. К нему стоило подобрать такой же часто используемый эквивалент из русского — что-нибудь вроде «родных и близких». Плевать, что есть «friends and relatives». Надо было сохранить ритмичность и простоту оригинала, а не гнаться за точностью передачи всех нюансов смысла. Вы же не подстрочник пишете, в конце концов.

        «Вы ожидаете сто миллионов пользователей, не имея даже ста», третий абзац. Я, читая сначала перевод, подумал, что речь идёт о завышенных ожиданиях. А на самом деле… «You build to scale to 100 million users» — то есть, пытаетесь сделать идеальную масштабируемую архитектуру уже в самой первой версии. Я узнал себя в оригинале, и это вызвало эмоциональный отклик. А перевод — не вызвал.

        «…предметно-ориентированный язык, не имея настоящего понятия о предмете, для которого он нужен», третий абзац. В оригинале заставляло улыбнуться: «Domain Specific Language before you have any real understanding of the Specific Domain your language is for». Неужели нельзя было это сохранить? «не до конца понимая, на какой предмет вы собрались ориентироваться», хотя бы так.

        «лишь немного помогает вам понять Arel», четвёртый абзац. В оригинале — «code with little merit beyond helping you understand Arel». Бесцельно поменяли смысл.

        «Сейчас я занимаюсь сайд-проектом, благодаря которому разработчики смогут быть уверенными в том, что код проходит проверку», седьмой абзац. Ну поймите же: вы читали оригинал, вы знаете, что речь идёт о code review. Но мне сложно понять, что «проверка кода» = «code review». Второе имеет для меня конкретный смысл, первое — только в общих чертах. Тестирование кода? Юнит-тестирование? Вот что представляется при прочтении. Возможно, стоило даже оставить «code review». Особенно учитывая то, что «проходить проверку» — это двусмысленное словосочетание, означающее равно «pass tests» и «get tested».

        У меня есть шаблон в голове. Он называется «стандартный перевод книги IT-тематики». Я не могу точно сказать, как определён этот шаблон, но я умею его распознавать. И когда я замечаю, что мой текст начинает подходить под шаблон, я переделываю его.

        Ваш перевод под шаблон подходит практически идеально.
        • 0
          Да и заголовок топорный — «гвоздь в глазу» — у нас нет такой идиомы (сразу предполагается, что автор нездоров, у него что-то не так с ассоциациями). Есть «бревно в глазу», впрочем, это из библейских притч, а гвоздь откуда? Возможно, тот же библейский перевод у них, но со словом «nail»? Ну тогда и надо заголовок переформулировать с учётом местных идиом.
          • +1
            В оригинале «When you have a nail in your eye, everything looks like a nail». Это переделка известнейшей фразы «when all you have is a hammer, everything looks like a nail», которая в свою очередь является неточной цитатой Маслоу: «I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail». Это не идиома, а всего лишь известная цитата. Большинство людей знакомы только с английским вариантом, «when all you have…», и поэтому не вспомнят о нём при литературном переводе на русский, как в заголовке. Но следовало все равно использовать самый распространённый перевод — «Когда у тебя есть только молоток, всё похоже на гвоздь» — и отталкиваться от него. Так что да, заголовок топорный.
            • 0
              Думается это все-таки игра слов и сложение двух известных цитат
              «Бревно в глазу» + «Если у вас есть молоток… ».
              Смысл, видимо «Когда ты предвзят, то твое пространство решений сужено».
              Как на ту же тему удачно скаламбурить по-русски непонятно, но шутку, конечно, хотелось бы сохранить.
              • 0
                Я не понимаю, какое отношение «бревно в глазу» имеет к предмету статьи. Там о предвзятости ни слова нет.
                • 0
                  По мнению автора, у лирического героя поста есть фатальный недостаток — он рассматривает свой код как технологию, а не как продукт. Это и есть его «бревно в глазу». Или гвоздь в глазу. И поэтому герой решает те задачи, которые удобно решать с помощью этой технологии — масштабируется на 100 миллионов пользователей, создает DSL. По мнению автора, ему нужно бы переделать стартовую страничку, но все проблемы кажутся ему «гвоздями», которые можно забить с помощью его «технологии».
            • 0
              Алан Купер сформулировал это же самое положение с разработчиками, знающих в основном свои технологии, фразой «Психбольница в руках пациентов», и на протяжении всей одноимённой книги рассматривал проблемы пользователей, проистекающие из этого.
  • 0
    Последняя фраза про то, что вы будете лежать в кроличьих какашках не прошла цензуру?
    Но в целом, конечно, есть простор для улучшения. Первое попавшееся:
    все равно стоит усилий, если вы хотите стать лучше в применении Arel и Vim.
    Мы стали более лучше в применении Vim

    You don’t assume that the solution to your abysmal numbers is allowing your future power users ...

    Не думайте, что, решая жуткие уравнения, вы позволяете продвинутым пользователям…

    Не нужно думать, будто ужасные показатели вашего проекта может исправить то, что вы позволите своим будущим продвинутым пользователям…

    and add in a rudimentary onboarding flow.

    и добавить понятные и привычные пользователю сценарии.

    onboarding flow — это то, что пользователь должен делать, когда он в первый раз сталкивается с продуктом.
    Скрытый текст
    (как я узнал из одного запроса к гуглу)


    but only if it’s what’s in between you and a genuinely improved user experience.

    но только если это нужно для серьезного улучшения пользовательского интерфейса.

    Как же так…

    и т.д и т.п.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Управление