RailsClub 2016: інтерв'ю з Zach Briggs

Юхуу! Тиждень до конференції RailsClub 2016. Всі наші гості (включаючи Матца, так) зовсім скоро прилетять до Москви. А ми готуємо 600 пакетів роздатки, 600 ланчбокс з обідами, незліченна кількість чаю і кави, маффінів і пиріжків, щосили репетируємо доповіді зі спікерами.

Ще можна встигнути заскочити в останній вагон і взяти участь в головному Ruby подію року в Росії.

Купити квиток і зарезервувати собі місце в залі можна на Railsclub.ru

imageСьогодні ми хочемо показати вам інтерв'ю з Zach Briggs, спікером майбутньої конференції.

Він з Чикаго, працює в TableXI, виступав з доповідями і воркшопами на RailsConf, CodeMash, Barcelona Ruby Conf, KalamazooX і багатьох інших конференціях.

Ось тези майбутнього доповіді:

JavaScript for Rails Розробники

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

У доповіді Зак покаже техніку, з допомогою якої можна вбудувати компоненти JavaScript всередину сторінок, які ренедерятся на сервері, щоб створити острівці інтерактивності. Її можна використовувати в уже існуючій системі, додавши всього 20KB які заархівовані JavaScript і трохи здорового глузду.

Ми вважаємо, що це варто знати! Під катом відповіді Зака на наші запитання про технологіях і життя. Як зазвичай, публікуємо відповіді в оригіналі і нашому вільному перекладі.

Як ти прийшов у розробку в Ruby?

Я закінчив коледж в 2002 році, відразу після краху доткомів, і не міг знайти роботу в технологічній області. З-за цього в моїй кар'єрі стався десятирічний гак, пов'язаний з розбиранням пошти. Спочатку вручну; потім за допомогою машин, які сортують пошту; потім підготовка даних, які друкують на пошті; пізніше створення моделей прогнозів для вибору адрес. Перші моделі, які я створював, були в Excel, потім я почав використовувати статичні sql скрипти, коли мої моделі стали настільки популярні, що я більше не міг використовувати Excel (120 Гб даних адрес лише у однієї з моїх таблиць). Я вибрав Ruby і Rails, тому що мені потрібно було створювати звіти по поштовим індексом, sql немає циклів типу for i = 1; i < 10… Коли я почав вивчати Ruby, мене зачепило, я кинув свою роботу, щоб через 3 місяці стати розробником на Ruby.

I graduated from college in 2002, right after the .com crash and I could not get a job in tech. This threw my career path on a 10 year long detour into sorting mail; first by hand then maintaining machines that sorted mail, then preparing the data that was printed on the mail, then producing predictive models to select addresses. The predictive models I were made produced first in Excel and then using static sql scripts once my models became so popular that I couldn't use Excel anymore. (120 gigabytes of address data in just a single one of my tables.) I picked up Ruby and Rails because I needed to produce reports by postal code and sql doesn't provide loops. Once I started learning Ruby, I got hooked and left my job to become a Ruby розробників within 3 months.

Над чим ти зараз працюєш?

Моя команда Table XI тільки що запустила thespicehouse.com. Я дуже пишаюся тим, як ми поєднали традиційне Rails додаток з маленькими островами інтерактивності. Зараз я готую серію навчальних посібників і постів, щоб допомогти людям створювати гарні динамічні UI, використовуючи JavaScript не більше, ніж це необхідно.

My team at Table XI just launched www.thespicehouse.com. I'm very proud of how we blended mostly a traditional Rails app with little islands of interactivity. I'm now preparing a series of tutorials and blog posts to help people build beautiful, dynamic UIs without needed more JavaScript than what's strictly necessary.

Чого не вистачає в Rails, на твій погляд?

Весь 2014 рік я писав на Clojure(Script), весь 2015 — на JavaScript, який використовував JSON API з сервісів Golang. У 2016 я повернувся до Rails після дворічного проміжку, і я був щасливий як ніколи! В інших стеках є клони Sinatra, але вони рідко дають розробникам такі приємні відчуття від роботи, як Rails. Дозвольте сказати, що я втомився знову і знову займатися міграцією баз, XSS захистом, link helpers, і asset manifest. Протягом цих двох років поза екосистеми Rails у мене було відчуття, що я жив без туалету і гарячої води. Але при всьому при цьому, Rails потребує підтримки інструментів, які вже використовуються в екосистемі NPM. Asset pipeline важко використовувати частково, і ще важче від нього позбавитися. Проблема в тому, що без інструментів, заснованих на Npm, рельсовику не можна так просто взяти і використовувати CSS компілятори, модулі для ES6 і гарячу заміну модулів. Якби я працював в продуктовій компанії, я б витратив час на те, щоб викинути Sprokets і замінити їх на Npm, але я займаюся дюжиною проектів. Заміна Sprockets в кожному зажадає занадто багато праці.

I spent 2014 writing Clojure(Script) and 2015 writing JavaScript that consumed a JSON from API Golang services. 2016 has been my year of returning to Rails after being away for two years, and I couldn't be happier. Other programming cultures have Sinatra clones but they rarely have a good Rails-like developer experience. Let me tell you, I am just about tired of re-solving database migrations, XSS protection, link helpers, and the asset manifest over and over again. I felt like I was living without toilets and hot water for those two years outside of the Rails ecosystem, so keep in mind that. That being said, Rails needs a means of leveraging the tooling that's made available to NPM. The asset pipeline is hard to use half way, and even harder to get rid of. The problem is without Npm based tooling I as a frontend focused Rubyist am locked out of code eliminating CSS компілятори, ES6 modules that walk the AST, and hot module reloading. If I worked at a product company, I would take the time to pull out Sprokets in favor of an Npm based workflow, but i'm the JavaScript practice of lead a consultancy with dozens of projects. Replacing Sprockets for each project would just be too labor intensive.

Улюблений мова програмування після Ruby, чому саме він?

Насправді останнім часом я більше пишу на JavaScript, ніж на Ruby, хоча в глибині душі я вважаю себе рубистом. Я б весь день писав Standard ML, якщо б це порадувало користувачів.

I actually write more JavaScript than Ruby these days, though I consider myself a Rubyist at heart. I would write Standard ML all day long if doing so would delight users.

Яка технологія, на твою думку, буде найбільш перспективною найближчим часом?

Views, які можуть рендеритись й на сервері, і на клієнті. Наприклад це Meteor JS або React. Я не думаю, що одна з цих технологій «виграє», їх важко використати ефективно на проектах з обмеженими бюджетами. Але я впевнений, що нас чекає всюдисущий рендеринг.

Views that can be rendered on the server or client. Think Meteor JS or React. I don't think either of those technologies will «win,» they're hard to use effectively on budget constrained projects, but ubiquitous rendering is coming, mark my words.

Що для тебе Open Source?

OSS — це єдиний шлях вирішувати складні проблеми. Секретність убиває софтверні інновації. OSS is the only way to solve hard problems. Secrecy kills software innovation.

Що останнього ти дізнався зі світу web розробки?

Я намагаюся не стежити за новинами технологій. Ви ніколи не побачите мене на Reddit або Hacker News, тому що це займає дуже багато часу і забирає енергію, яку можна витратити на глибоке вивчення. Нещодавно я читав про історію Unix та мови C, тому що хочу розібратися, як ми прийшли туди, де зараз знаходимося. Ось ця книга була опублікована в 2003. Вона не нова, але мені сподобалася!

I try not to pay attention to developer news. You'll never find me on Reddit or Hacker News because it takes too much of my time and energy away from learning topics deeply. I've been reading about the history of Unix and the C programming language lately because I want to deeply understand how we got to where we are today. Here's the book, published in 2003. www.catb.org/esr/writings/taoup/html/index.html Not exactly news but i'm enjoying it!

Улюблені ресурси(блоги/сайти/твітери) на теми веб розробки та програмування?

Я іноді слухаю Shop Talk Show, в принципі це все.

I listen to the Shop Talk Show every once in a while, but that's about it.

Остання прочитана книга з програмування технологій?

Я тільки що закінчив «Сі 21го століття» і зараз взявся за «Мистецтво програмування Unix». Хочу зрозуміти історію, як ми прийшли до того, що є зараз. Думаю саме час вивчити, який управляє мовами, які я використовую.

I just out 21st Century C am and now working on The Art of Unix Programming. I want to understand the history of how we got here and it's just about time that I learned C, the language that runs the languages I use.

Який би ти дав пораду розробникам, які хочуть добитися великих успіхів?

Робити сайти. Планувати на 25% більше часу, ніж зазвичай, на свою роботу, і витрачати цей час на те, щоб розібратися, як зробити її ще краще. З підозрою ставитися до кожної написаної вами рядку коду. Намагатися обгрунтувати використання кожної фічі, кожного гема, кожної абстракції. Як мінімум рік бути справжнім TDD фанатиком, а потім півроку зовсім не писати тести. На найголовніше — боротися за своїх користувачів. Ви єдиний, хто це буде робити.

Build websites. Take 25% longer to do your work than what you're comfortable with so long as you can invest that time in learning how to do it better. Be suspicious of every line of code you write. Try to justify pulling out every feature, every gem, and every darling abstraction. Spend at least one year as a TDD zealot, then spend 6 months writing no tests at all. Most importantly, fight for your users. You're the only one who will.

Не набридло програмувати?

Всі ми втомлюємося від коду. Треба мати хобі, які не пов'язані з програмуванням, і друзів, які не вміють писати код. Не працюйте занадто багато. А коли зрозумієте, як цього зробити — повідомте мені? :)

Getting tired of coding happens to all of us. Have hobbies that don't іnvolve writing code and friends who don't know how to code. Don't work too much and when you figure out how to do that, let me know how it's done.

Чим би зайнявся, якби у тебе було кілька місяців оплачуваного вільного часу?

Я б створив серію якісних скрінкасти або написав книгу про те, як я створював Rails програми, «збагачені» JavaScript.

I would produce a series of high quality screencasts or write a book on how I build JavaScript enriched Rails apps.

Чого ти в цілому очікуєш від конференції?

Я ніколи не був у Росії, так що я хочу побачити якомога більше пам'яток і зустріти якомога більше чудових людей. Я також хочу скористатися можливістю особисто подякувати Матца, тому що якби Він не був таким класним, я, можливо, не був розробником.

I've never been to Russia before, so i'm looking forward to seeing as many sights as I can and meeting as many delightful humans as I may. I also want to take the opportunity to personally thank Matz because if Ruby wasn't this fun then I probably wouldn't be a programmer today.

Якщо ви хочете поговорити з Заком особисто, відкладати покупку квитка вже нікуди, залишилися останні місця! Реєстрація тут, ціна квитка — 9000 рублів.

Дякуємо компаніям, які підтримують конференцію:

Генеральний партнер: Toptal
Золоті партнери: Rambler&Co, AT-Consulting і Прогрес
Срібний партнер: JetBrains
Бронзові партнери: Gitlab, VoltMobi, Рестрим, InSales іSeendex.
Пивний партнер, підтримує традиційне афтепаті — CloudCastle
До зустрічі наRailsClub!
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.