У тебя такой солидный опыт разработки. Скажи, с чего ты начинал?Это были лихие 90-е. Мы развлекались, как могли. 1998 год. Сибирь. Старенький 486-й процессор. EGA-монитор с разрешением 640x350 (сейчас даже аватарки его превосходят). Загрузочные дискеты с MS-DOS. Жесткий диск? Это было роскошью. Интернет? Тогда я и слова такого не знал. У меня был QBasic от Microsoft и Pascal от Borland. Голодный до знаний, с горящими глазами, до поздней ночи я разбирался, как делают программы взрослые, а утром шёл в школу и чертил интерфейсы будущей ОС в тетрадке.
Сейчас на каждую строчку кода приходится мегабайт документации. Крупнейшие корпорации Google, Facebook, Microsoft?—?открывают исходные коды своих сложнейших решений. Оформляют это всё. Пишут документации, книги, проводят конференции.
Всё, что было у меня тогда?—?это Volkov Commander, Hex-редактор и бинарный код.
Я занимался тем, что называется Reverse Engineering?—?запускал Disassembler, получал машинный код из программ и драйверов:
Составлял карту прерываний и портов, воспроизводил это на уровне Assembler и далее перекладывал на более высокоуровневые языки программирования (C++ или Pascal).
У меня компьютер тогда не позволял запустить Windows, когда у друга был Pentium 200MMX с 3D-картой. Меня это злило. Я написал на Borland Pascal 7 свой GUI, который визуальный один-в-один повторял Windows, работал с мышкой, вот это всё. Исходники где-то на дисках в коробке лежат. В старости буду внуков пугать.
Позже появились в киосках журналы “Компьютерра”. Ещё позже?—? Интернет, а какое-то время спустя и Open Source. Никто тогда в него даже не верил. Какой разумный человек будет выкладывать исходный код своих программ?
Время летело быстро. 2000 год, миллениум. Компьютер мощнее, Windows, Delphi и визуальные компоненты, что так сильно сегодня будоражит умы Front-end разработчиков. Когда несколько лет назад появился React.js меня охватила ностальгия, как при встрече со старым другом.
Поэтому, когда меня сейчас спрашивают:
?—?Как давно ты работаешь с React.js?
Я улыбаюсь и отвечаю:
?—?16 лет.
Будем честными, Front-end разработка окончательно перестала быть вёрсткой HTML и его доработкой с помощью jQuery или Angular. Вместе с приходом webpack и React (хотя был ещё Ember) это стало разработкой, упаковкой и поставкой полноценного ПО.
Кстати, бесплатный совет для тех, кто хочет быть “на коне” в мире React.js, погуглите такие вещи:
— Delphi 7 VCL (с 1995 года, сейчас это React.js и React Native)
— Window Messages (с 1985 года, сейчас это Redux)
?—?DevExpress для Delphi 7
А на выходных полистайте книгу Professor Frisby’s Mostly Adequate Guide to Functional Programming. Будете приятно удивлены.
Несколько лет назад ты поменял направление, сосредоточился на Front-end. С чем это связано?За 10 лет я прошёл путь разработки системного и прикладного ПО, веб-приложений и мобильной разработки (2006 год, Windows CE):
Несколько лет занимался консалтингом и оптимизацией бизнес-процессов в крупных компаниях с использованием решений на платформе 1С. Не смотря на то, что у нас в России принято высмеивать её среди разработчиков, их подходы по организации и работе с данными заслуживают особого внимания. Чаще всего разработчикам просто не нравится их “русскоязычный” стиль программирования, но как вы назовёте на английском языке отчёт о среднесписочной численности внешних совместителей так, чтобы следующий за вами программист смог быстро его найти, когда бизнес попросит доработку? Про Bus Factor все помним?
Многие привыкли менять только то, что вокруг, но единицы готовы изменить своё восприятие и помогать решать задачи обществу или конкретной группе людей. Думать ни о своих личных потребностях (текущая волна Resume-driven Development на самом деле большая проблема), а о системе в целом.
5 лет назад я работал в командах над проектами для Nokia-Siemens Network и с несколькими европейскими стартапами. Тогда я заметил, что в web-проектах задачи Back-end, которым я тогда занимался, становятся типовыми (CRUD, ACL, управление конфигурациями). Типовыми?—?значит могут быть автоматизированны, что мы позже увидели в виде PaaS-решений таких как Parse.com.
При этом требования к UI и JavaScript-приложениям начали расти. От того, насколько у вас хороший UI, насколько высокая адаптивность к изменениям, насколько правильный и современный UX?—?в конечном счёте и зависит успех продукта. Особенно в условиях высокой конкуренции. Это большая и ответственная задача, которая была слабо решена тогда и сохраняет высокую актуальность для бизнеса сегодня.
Были большие проекты и сложные задачи. Над чем работаешь сейчас?Да, было много масштабных проектов, как для больших государственных структур, так и для крупнейших интеграторов. Но в силу NDA я не могу о них рассказывать ещё несколько лет. Отчасти именно поэтому с нового года я принял решение полностью сосредоточиться на продуктовых проектах для Западной Европы и США.
Сейчас у меня команда более 20 сильных разработчиков и продолжает расти. Многие из них сидят в офисах Яндекс, Rambler, Mail.Ru как штатные сотрудники, решают свои основные задачи быстрее и эффективней на несколько часов, а в высвободившееся время помогают нам делать проекты, параллельно прокачиваясь в актуальных технологиях от меня лично и других членов команды. Таким образом, увеличивая свой рабочий день на 2 часа, они ещё и раза в два увеличивают свой доход. Я публиковал интервью об этом на Medium.
Текущие проекты, которые я готов назвать:
?—?поисковая система с повышенной приватностью (европейского рынок, изоморфное React-приложение с поддержкой IE8 и отключённого JavaScript, микросервисы на Golang и C++, облачная highload-инфраструктура на базе CoreOS и Kubernetes);
— мобильное приложение для персонального бизнес-коучинга (американский рынок, React Native, Relay, GraphQL);
— образовательное мобильное приложение (международный рынок, React Native, Relay, GraphQL);
?—?финансовая платформа (американский и австралийский рынок, React, Redux).
Сейчас ты активно участвуешь в конференциях, делишься опытом. Кто твой слушатель? Кому будет интересен доклад?Скоро будет два года, как я активно выступаю на конференциях, профессиональных митапах и участвую в развитии индустрии. После выступления на Agile Days 2016 про тренды в JavaScript и web-разработке, какое-то время у меня было желание сделать паузу с конференциями и начать “прокачивать” самых сильных членов команды.
Пока не появились три американские и сингапурские компании, которые сделали им очень щедрые предложения. Разумеется, я поддержал этот переход. Они хорошо потрудились и сделали большой вклад. Но мы двигаемся в высоком темпе и я не рассчитываю, что кто-то из разработчиков способен держать такой темп больше года.
Прокачался, принёс год пользы и смело в штат крупной и щедрой компании, наслаждаться спокойной и комфортной жизнью, с таким уровнем и опытом ты можешь везде открывать дверь “с ноги”. Рынок разработки устроен таким образом, что один сильный разработчик может сделать за месяц больше, чем целая команда за полгода.
Моя задача на конференциях донести рынку правильный путь, показать направления и найти кандидатов, которые имеют хороший опыт (пусть даже и с другими технологиями?—?например, у нас отлично ребята из Ruby-мира взлетают) и через активную работу смогут сделать профессиональную и личностную трансформацию за год.
Приходите пообщаться с Денисом и сотнями других разработчиков на DevConf 2016. У меня точно будут пара «вопросов» про то, что наш, бэкэндовый, труд можно автоматизировать
Комментарии (26)
MrCheater
13.06.2016 13:10-1Если бы мне кто-то сказал, что является разработчиком с 16-летним «опытом» React.JS — я бы дальше не стал его слушать. И аналогии с другими более старыми технологиями здесь неуместны. Первый коммит May 29, 2013
Adelf
13.06.2016 13:16Тем не менее, подход который предложили в React действительно весьма схож с тем, что предложили в свое время в Delphi.
sshikov
13.06.2016 13:39+5Ну да, ну да. А не хотите ли сказать, что идею ООП все позаимствовали у Smalltalk, и поэтому React не 16 лет, а скажем 36?
Подобные допущения могут себе позволять патентные тролли, но не разработчики.Adelf
13.06.2016 13:43Там в интервью автор говорит об этих аналогиях. На основе своего опыта. И я их разделяю. Я помню своё знакомство с Delphi и React. Очень похоже.
MrCheater
13.06.2016 13:52+2React ближе всего к View из MVC. А gui-шный View на большинстве языков довольно похож. С этим никто не спорит, и этим никого не удивить
Adelf
13.06.2016 13:53+1View из MVC у каждого своё. У кого-то это вообще HTML шаблонизатор… Я же о настоящем компонентном подходе построения UI.
sshikov
13.06.2016 14:00+2Я прекрасно понимаю, что это интервью. И более того, что это в каком-то смысле в шутку. Тем не менее, мне это тоже показалось сильным преувеличением.
trikadin
13.06.2016 14:14+15Судя по странице вк, Денис Измайлов 1986-го года рождения, что путем несложного вычитания даёт, что в 1998 году ему было 12 лет. В 12 лет он дизассемблирует программы, перекладывает их ассемблерный код на высокоуровневые языки и пишет свой гуй для операционной системы. При этом сам он утверждает, что занимается разработкой 16 лет, т. е. с 2000-го года. Даже если взять поправку на то, что цифра примерная, и 16 лет было год назад, например, то получается, что года с 1999-го он только начал программировать (видимо, сразу с дизассемблирования программ).
Короче ребят, у вас явно что-то не сходится, и это вызывает серьёзный скепсис.
DenisIzmaylov
13.06.2016 15:10-3Спасибо за внимание и глубокое исследование. Это хорошая привычка — проверять информацию. Тут вполне могут быть год-два расхождения из-за давности, не супер-свежие воспоминания с одной стороны, низкая важность такого расхождения относительного всего срока — с другой. На самом деле не журналировал (как и многие из нас), когда-что делал, сейчас удобней стало — Git эту задачу хорошо закрывает.
Начинал с Basic в 12 лет (сейчас дети и раньше начинают программировать), затем Pascal, затем Assembler, затем Disassembler, где-то там C++ был. Это не какой-то исключительный случай, кстати, я знаю много схожих историй и думаю среди нас тут на Хабре много таких, кто начинал рано, делал много.
Я сейчас скину ссылку, но прошу сильно не смеяться — на тот момент мне было (путём того же несложного вычитания) 16 лет:
+ https://web.archive.org/web/20041206005946/http://cmail.info.kuzbass.net/~steroid/index.php?page=resumetrikadin
13.06.2016 15:19+4Глаз зацепился, а дальше уже интересно стало. Не ставил целью обвинять кого-то во вранье или чём-то таком, просто отметил. В целом, так и подумал, что ошибка округления.
velvetcat
13.06.2016 18:40+2Опять пытаются задавить опытом. Ассемблер, мало памяти, нет Интернета, Делфи. Это все, конечно, очень романтично, но к современной разработке не имеет никакого отношения.
> Будем честными, Front-end разработка окончательно перестала быть вёрсткой HTML и его доработкой
Парни, да никто же вас и не упрекает.
> Delphi и визуальные компоненты, что так сильно сегодня будоражит умы Front-end разработчиков.
Не надо будоражиться по этому поводу. Визуальное программирование — это страница истории, которую лучше поскорее забыть.
Да, кстати, обработчики событий в Делфи не имеют никакого отношения к функциональному программированию. Это из мира ООП, а именно расширение функциональности класса шаблоном Template Method.
igorch96
14.06.2016 01:23Тоже мне задавить. :) а как на счёт синклера и ручного ассемблирования и дизассемблирования:)? То есть, ручками ассемблерную программу с листочка в байткод перегонять. Во были времена… :))) или мультизадачность на синклере, когда программу пишешь на бейсике, а в это время музыка сопроцессором играется. Тогда мало, кто скучал :)
AxeLWeaver
14.06.2016 12:19Всплакнул… как раз синклер и ассемблер в мои 12 лет. Точнее не ассемблер, а машинный код…
Akuma
14.06.2016 00:09+2Перешел в статью только из-за заголовка. Стало интересно, как это опыт по React может быть 16 лет. Ну очень желто.
Как сказали выше, задавить опытом тут не получится. Пусть он дизассемблировал програмы с 12 лет (в чем есть сомнения), с вебом это никак не связано и начинал он как и все с alert(123);, а React увидел в 2013 году, а Redux так вообще год назад и «опыта», даже в ковычках, у него 3 и 1 год соответственно.
geroy
14.06.2016 08:08+2Это были лихие 90-е.… 1998 год.
Это вообще не лихие девяностые. Лихие закончились где-то в 1996
Старенький 486-й процессор. EGA-монитор с разрешением 640x350 (сейчас даже аватарки его превосходят). Загрузочные дискеты с MS-DOS. Жесткий диск? Это было роскошью.
Процессор среднего компьютера 1995 года, а вот остальное из 1990 примерно.
И всё это дополняет опыт разработки на Реакт в 16 лет)
ppravdin
15.06.2016 20:33Характеристики первого ПК действительно занижены, а интернет в Сибири был более чем доступный начиная с 96го, не говоря про fidonet и тогда ещё распространённые bbs.
В 99м помнится скачал первую матрицу в mpeg2 и HMM3 WOG на модеме, золотые были времена.
xakepmega
Поправьте заголовок, выглядит как-будто у него 16 лет опыта именно работы с react
Adelf
Кавычки добавил. Хотя думаю, вряд ли кто-то на самом деле подумал, что React.JS из 2000-го ;-)
taliban
Всетаки даже с кавычками заголовок смущает,«DevConf 2016: Интервью с разработчиком с 16-летним опытом о React.JS» было бы более актуально.
Adelf
Я бы с удовольствием заменил на просто «интервью с React-разработчиком». Но тогда почти все комменты потеряют актуальность :)