Герой-разработчик возвращается в последнем выпуске серии Cosmic JS для разработчиков. Мы встретились с Джоном Калфаяном, разработчиком из Пало-Альто, Калифорния, который помогает руководить разработкой инновационных приложений для компании, ориентированной на продукт. Проверьте его на GitHub и наслаждайтесь вопросами/ответами.

1. Как долго вы занимаетесь разработкой программного обеспечения?

Я любил возиться с компьютерами всю свою жизнь, но с момента моего первого «Hello World» прошло всего около 6 лет. Сначала я немного баловался iOS и фронтенд-разработкой, но после окончания бакалавриата в 2015 году я много занимался Java-бэкэнд-разработкой.

2. Какой стек разработки вы предпочитаете?

IntelliJ — это жизнь, или, по крайней мере, я живу в ней большую часть времени. Для начала пришлось немного поучиться, но теперь я не знаю, как я когда-либо полагался на emacs для Java-проектов в школе! В терминале я предпочитаю zsh (с oh-my-zsh) из-за всех классных встроенных ярлыков и команд. В основном я использую git из терминала, и у меня есть множество псевдонимов для сравнения, фиксации, перебазирования и выполнения других задач. Для моих потребностей в сценариях bash/python я обычно использую Vim или Sublime Text. Кроме того, я недавно был преобразован из бродяги в докер для настройки моей тестовой среды. Я люблю докер, и мне любопытно изучить docker-compose и docker-swarm для более сложных настроек среды.

3. Не могли бы вы немного рассказать о том, почему вы выбрали Cosmic JS в качестве своей CMS и как она вписывается в ваш процесс разработки?

Будучи в основном разработчиком инфраструктуры Java, было немного сложно шагнуть в мир JS и веб-разработки. У меня было желание создать свой собственный блог в течение довольно долгого времени, но одной из моих проблем было то, как я могу разумно управлять его контентом. Космический JS идеально подходит для этого и позволяет мне сосредоточиться на изучении основ React и Nodejs. Использовать Cosmic JS API было очень просто, и мне нравятся готовые инструменты управления. Это избавило меня от стресса при добавлении и редактировании сообщений в блоге, что позволило мне сосредоточиться на содержании и дизайне самого сайта. Я чувствую, что едва коснулся поверхности того, что может предложить Cosmic JS, но я рад узнать и использовать его больше!

4. Какими прошлыми проектами вы больше всего гордитесь и почему?

Проектом, в котором я был очень рад принять участие, была часть DuckDuckGo с мгновенными ответами с открытым исходным кодом. Это поисковая система без рекламы и с очень приветливым сообществом с открытым исходным кодом. Было на удивление просто погрузиться в кодовую базу и внести простые PR. Со временем мои знания Perl улучшились, и я стал улучшать и поддерживать более сложные мгновенные ответы. В общем, было приятно найти проект с открытым исходным кодом и сообществом, поддерживающим новых участников.

Кроме того, изучение React вместе с Cosmic JS для ведения блога было потрясающим! Несмотря на то, что Java и React — ОЧЕНЬ разные инструменты, многие из передовых практик качественного Java-кода имеют сильные параллели с хорошей разработкой React. Например, важность отделения состояния компонента от его бизнес-логики. Я определенно чувствую, что понимание нескольких стеков разработки полезно для любого разработчика программного обеспечения.

5. Какие технологии вы используете сегодня или хотите узнать больше?

В последнее время было весело интегрировать большую часть новых API Java 8 в существующий код. API потоков позволяет более декларативно кодировать решения проблем, чем классический императивный стиль Java. Я впечатлен работой, проделанной сообществом Java по добавлению новых функций при сохранении обратной совместимости. Также очень рад узнать больше о веб-разработке в целом, особенно в отношении моих навыков веб-дизайна, которые определенно могут пригодиться для некоторой работы :) В качестве побочного интереса я недавно начал возиться с raspberry pi. Конечная цель — настроить его для программной игры в видеоигры, может быть, с какой-нибудь причудливой логикой ИИ? Потому что это было бы довольно круто!

Cosmic JS — это первая облачная платформа управления контентом на основе API, которая упрощает управление приложениями и контентом. Если у вас есть вопросы о Cosmic JS API, напишите нам в Twitter или присоединитесь к сообществу в Slack.