Константин Евтеев @beginner760собирает Java-код с помощью диктора NVDA, редактирует его в Блокноте и передает на Linux по SSH через самописные bash-скрипты.

Константин Евтеев
Константин Евтеев

После потери зрения он не потерял интерес к жизни и желание быть полезным и выстроил собственную инженерную экосистему: оглавления по строкам .txt-файлами, навигация по main и маленьким методам, отладка на слух.

Сейчас он работает над голосовым помощником, который будет по-настоящему автономным, лёгким и адаптируемым. Потому что "гигантомания не для жизни".

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

1.     Как и когда вы познакомились с Java?

С языком программирования Java я познакомился в ноябре 2022 года, когда пытался самостоятельно написать для себя говорящие часы-таймер. Мне нужно было приложение, которое озвучивало бы текущее время через заданные интервалы. Это помогло бы точнее отслеживать течение дня.

Собственно, это было первое знакомство с Java «в действии». До этого я много слышал о языке, следил за его развитием в новостях специализированных изданий, начиная с момента его появления, но никогда серьёзно им не занимался. Меня вообще всегда интересовали разные языки программирования. Было любопытно, как они устроены и в чём особенности их практического применения. Время от времени я писал небольшие утилиты для собственных служебных нужд: что-то для автоматизации, анализа или конвертации данных, чтобы было удобнее использовать программы сторонних разработчиков. Но с Java до некоторого момента такого повода не было.

Повод появился, когда один незрячий пользователь написал в специализированной рассылке: нет ли у кого таймера, озвучивающего время, или совета, как его реализовать? Я решил попробовать и написал такой таймер на Java. Он работал и подходил мне, но у первого пользователя возникли трудности с запуском на Ubuntu. В итоге мне пришлось переписать его на Bash, и на этом моё первое знакомство с Java завершилось.

2. Рассматривали ли другие платформы и почему выбрали Java? Как Java изменила вашу жизнь?


Да, другие языки и платформы я, конечно, пробовал. Сегодня выбор огромный, и каждый может найти подходящий инструмент, если готов вложить время в эксперимент. Поскольку я работаю «сам на себя» и сроками не связан, для меня главный критерий — насколько язык пригоден для долгосрочных проектов: можно ли поддерживать и развивать код, не переписывая всё с нуля.

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

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

3. Какие фичи Java считаете самыми важными и почему?

За годы моих непрофессиональных экспериментов с программированием — от BASIC в начале 1980-х, TURBO PASCAL в конце того же десятилетия и до Java сегодня — я пришёл к выводу, что самая важная характеристика для меня — это надёжность. Кто-то может сказать, что есть языки и посовременнее, и «надёжнее», и, возможно, будут правы. Я — не профессиональный программист и спорить с экспертами не собираюсь, да и смысла в этом не вижу. Но лично для себя я сравниваю Java с атмосферным дизельным двигателем: если он завёлся, то будет работать до последней капли топлива или, в нашем случае, до отключения электричества. Такая стабильность и предсказуемость — именно то, что мне нужно в инструментах, с которыми я работаю.

4. Как узнали про Axiom JDK? Почему выбрали?

Про Axiom JDK я узнал в процессе поиска российского решения, которое позволило бы мне работать с Java без риска внезапной недоступности или прекращения поддержки. Почему выбрал? По тем же причинам, по которым вообще выбрал Java:

  • российское происхождение,

  • наличие технической поддержки,

  • общее ощущение надёжности. 

Мне не хочется снова «метаться», как это было с выбором операционных систем в последние 30 лет — от MS-DOS до разных версий Windows, все из которых я приобретал легально, и до нынешней российской Linux-системы, на которой я, наконец, остановился. С инженерной командой Axiom JDK я почувствовал стабильность, уверенность в будущем и даже человеческую теплоту.

5. Расскажите, пожалуйста, о себе, своём опыте программирования и опыте в других сферах

Моё первое знакомство с программированием случилось в начале 1980-х, когда в руки попал компьютер Commodore с встроенным BASIC и бумажной инструкцией. Меня буквально затянуло: за пару часов я прочитал руководство, а ещё через полтора написал свою первую программу — координатную сетку, по которой можно было строить простые графики из школьного курса. Это был восторг — почти как рисовать математику напрямую на экране.

Примерно в то же время судьба занесла меня в территориальное управление МВД Москвы, где я впервые увидел, как работает настоящая система на СМ-ЭВМ с магнитными лентами и живым сержантом с паяльником, который что-то чинит на лету. Тогда там экспериментировали с первой электронной базой данных по административным правонарушениям. Я до сих пор помню, как на графиках расходились две кривые — одна по количеству правонарушений, вторая — по числу нарушителей. Результат: большинство случаев — дело рук тех же людей. Это было моё первое серьёзное погружение в анализ данных.

С тех пор интерес к базам данных не угасал. Я прошёл курс по СУБД PARADOX от преподавателей МИФИ в начале 90-х, использовал программирование как инструмент — не как профессию, а как средство решения задач. Я не считаю себя профессиональным программистом: у меня нет профильного диплома, я не работаю по ТЗ.

Но я — человек, который не может пройти мимо интересной задачи, особенно если её можно автоматизировать и облегчить кому-то жизнь. И в этом плане Java стала для меня новым удобным инструментом — надёжным, понятным и доступным на родном языке.

6. Могли бы поделиться, как вы пишете код? В чём уникальность вашего стиля и отличия от обычного программиста?

Работаю «на слух» и потому выстроил собственный, пусть и кривоватый, но надёжный конвейер.

·   Редактор и экранный диктор. Код набираю в обычном «Блокноте» под Windows 10 с читалкой NVDA: простое окно, минимум «невидимых» элементов. Всё, что пишет, то есть читает диктор, я слышу сразу.

·   Передача и сборка. Каждые несколько минут Bash‑скрипт по SSH отправляет файл на Linux‑машину (через WSL). Там проект собирает Maven, после чего я запускаю JAR и жду чуда — то есть отсутствия ошибок. Чуда бывает мало, так что цикл «правка → пересылка → сборка» повторяется десятки раз.

·   Почему не IDE? Большинство популярных сред для меня «немые»: половина меню не озвучивается. Я пробовал, но быстрее вернулся к plain‑text + скрипты.

·   Переход на Linux. Полностью перебраться ещё не готов: осваиваю экранный диктор Orca и «приучаю» его к своим привычкам.

·   Стиль кода. Чтобы не заблудиться, пишу очень маленькие методы и оставляю много комментариев. Для навигации храню рядом «оглавление» .txt с номером строки и пометкой «начало/конец метода X» — так легко прыгать к нужному фрагменту по номеру строки.

·   Аппаратные ограничения. Работаю на «скромном» железе, поэтому виртуалки избегаю. WSL+SSH хватает.

Рабочее место Константина Евтеева
Рабочее место Константина Евтеева

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

7. Какие проекты вы реализуете или планируете сейчас?

Сейчас я собираю «рабочий макет» — минимально жизнеспособный продукт, который помогает людям, нуждающимся в постоянном самоконтроле: напоминает принять лекарства, измерить показатели или просто соблюдать чёткий распорядок. Первую версию пишу «как пойдёт», обкатываю логику, а затем перепишу её на Java и расширю под смежные задачи.

Долгосрочная цель — автономный, полностью оффлайн голосовой помощник, способный работать на маломощных системах. Готовых решений, удовлетворяющих моим требованиям по доступности и скромному «железу», я пока не нашёл: то слишком громоздкие, то плохо настраиваются под конкретные потребности пользователей с ограниченным зрением. Поэтому двигаюсь своим путём — маленькими итерациями, исходя из реальных сценариев и минимального набора ресурсов. Если получится сделать удобный и лёгкий инструмент для себя, уверен, он окажется полезен и другим людям, которым не по душе «гигантомания» крупных платформ.

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

Честно говоря, с удивлением узнал, то Михаил Марголин — создатель малокалиберного пистолета для Олимпийских игр — был слепым. Раньше я много тренировался с этим оружием и не знал об этом факте. Недавно от врача узнал о женщине, которая способна двигать только одним пальцем и при этом работает копирайтером. А ещё запомнился белорусский парень с диагнозом, как у Стивена Хокинга: лежа, он не только устроился на работу, но и открыл фирму, где теперь трудятся и здоровые люди.

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

10. Какие у вас хобби?

Сейчас основное хобби — это прослушивание новостей ИТ-индустрии, прежде всего с Хабр. Раньше, когда было зрение, был спорт, и, пожалуй, главным хобби была сама работа. Я всегда относился к ней с уважением и искренним интересом, чем бы ни занимался. Это почти круглосуточное увлечение чуть меня не угробило, но, как я люблю шутить, ещё легко отделался — остался только без зрения.

11. Как вы повышаете уровень знаний и опыта?

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

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

12. Как вы думаете, какой Java будет через 10–15 лет? Какие фичи вы хотели бы увидеть?

Возможно, со временем специалисты, работающие с Java, разделятся на две неравные, но одинаково важные группы.

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

Вторая, более массовая группа — это специалисты, которые будут использовать Java как надежный инструмент для решения прикладных задач в своей профессии. У них будут удобные средства абстракции — возможно, визуальные среды, DSL'ы, AI-помощники, чтобы можно было создавать рабочие решения, не погружаясь в низкоуровневые детали.

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

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

Вместо заключения

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

Мы начали тестировать отечественную OpenIDE с экранным диктором NVDA: базовая навигация и чтение кода уже работают, но остаются ограничения. Поддержка других ОС и дикторов также требует проверки.

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


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


  1. psiklop
    01.06.2025 19:00

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


    1. gmanaz192
      01.06.2025 19:00

      Раньше в основном ЭЛТ мониторы были и на них надо было выкручивать частоту обновления 100гц чтобы не вытекали глаза, и даже так глаза уставали. Даже первые TN ЖК мониторы были просто ужасны для глаз и у них мерцала подсветка.

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


      1. psiklop
        01.06.2025 19:00

        Мой первый монитор был lg 14 дюймов элт кажется всего 75 герц и разрешение 800x600, играл и кодил немного это было вполне глаза не вытекали, 1998 год наверное, вот в 80 годах возможно было жестче.


    1. DukeArchitect Автор
      01.06.2025 19:00

      Спасибо за вопрос. Вот подробный ответ Константина@beginner760(пока он не может "прорваться" через капчу, чтобы надиктовать ответ прямо тут):

      Cкорее всего ваш вопрос относится к следующему фрагменту текста:

      «Сейчас основное хобби — это прослушивание новостей ИТ-индустрии, прежде всего с Хабр. Раньше, когда было зрение, был спорт, и, пожалуй, главным хобби была сама работа. Я всегда относился к ней с уважением и искренним интересом, чем бы ни занимался. Это почти круглосуточное увлечение чуть меня не угробило, но, как я люблю шутить, ещё легко отделался — остался только без зрения».

      В вышеприведённом фрагменте нигде не указано, что "круглосуточное увлечение программированием чуть не угробило и оставило слепым".   

      Да, работа (до потери зрения) занимала всё моё время, но это не было программированием. Программирование было одним из многочисленных рабочих инструментов, облегчающих работу и делающих её более эффективной.

      По поводу возможных опасностей могу рассказать только мой личный опыт, если это кому-то поможет и убережёт от неприятностей, то буду только рад, что в какой-то мере удалось кого-то уберечь (как теперь говорят, это только моё личное оценочное мнение по данному вопросу):

      1. Программирование само по себе никакой опасности не представляет и представлять не может.

      2. Опасность представляют длительные (без перерывов на восстановление) большие объёмы интенсивной нагрузки, которые сопровождаются отсутствием сна, неправильным питанием, высокой психологической и физической нагрузкой. В особо интенсивные периоды может создаваться впечатление, что после короткого сна с утренним пробуждением новый день не наступает, а продолжается один и тот же очень длинный день. И так день за днём.

      3. Опасно думать, что сейчас "станет полегче" и всё встанет на свои места. Да, так и было несколько периодов избыточной нагрузки (3-5 лет)  - организм потихоньку самовосстанавливался, но потом, при воздействии дополнительных (ранее не встречавшихся) внешних факторов надломился.

      4. Не нужно переносить болезни "на ногах", это может совсем плохо кончиться.  Многих проблем можно избежать, вовремя обратившись к квалифицированному врачу.  

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

      - не нужно без крайней необходимости постоянно жить на грани своей физической выносливости;

      - стоит следить за медицинскими показателями своего организма -  для этого придумали диспансеризацию;

      - регулярно спать по ночам и соблюдать режим сна (на эту тему написаны уже тысячи статей, в том числе на Хабр: выбирайте что подойдёт, но если есть проблемы - только к врачу);

      - соблюдать режим питания и правильно питаться (эта тема известна, но если есть проблемы, сразу к специалисту с настоящим дипломом);

      - заниматься спортом без перегрузок, с соблюдением всё тех же разумных мер предосторожности;

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

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


      1. psiklop
        01.06.2025 19:00

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

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

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