Интервью с Дэвидом Фостером

Я Дэвид Фостер, инженер-программист, писатель и педагог. Являюсь техническим директором TechSmart, где мы стремимся предоставить образование мирового уровня в области компьютерных наук следующему поколению студентов и учителей.

> Какой у вас опыт программирования?

Я программировал с 6 лет, а это значит, что занимаюсь им более 25 лет. Начал с HyperCard (похоже на Visual Basic или 2D-версию Unity) на Mac SE, создавая собственные настольные игры, музыкальные плееры, программы для рисования и другие игрушки для себя. Позже я изучил Pascal, C / C ++ и Java в National Computer Camps. И я продолжал учиться самостоятельно, изучая C #, Python и JavaScript среди других менее известных языков. Я предполагаю, что около двух третей программного обеспечения, которое я написал за свою жизнь, предназначено только для меня или имеет открытый исходный код, а остальное предназначалось для работы.

> Какие языки / фреймворки вы используете для кодирования?

Сейчас я провожу большую часть своего времени в веб-разработке, используя Python / Django на бэкэнде, JavaScript / Vue во фронтенде и Amazon Web Services для обработки данных. Python, наверное, мой любимый универсальный язык, на втором месте - Java.

> Как выглядит ваш типичный рабочий день? Как COVID-19 изменил ваш рабочий распорядок?

Я просыпаюсь около 6 утра, готовлюсь к работе, возможно, работаю над небольшим личным делом, а затем начинаю работу в 8:30. В течение следующих 30 минут я планирую и записываю, чем хочу заниматься в течение рабочего дня, и просматриваю электронную почту. В 9 утра у меня ежедневная встреча с командой инженеров. Часто сразу после этого один или несколько человек хотят обменяться со мной обзорами кода или провести быстрое обсуждение дизайна. Остаток утра до обеда я решаю различные административные вопросы, читаю электронную почту, обновляю нашу карточку, отслеживающую рабочие элементы, и при необходимости провожу короткие встречи с другими членами команды. Я беру часовой обед с 11:30 до 12:30, где последнюю половину этого времени я читаю последние технические новости, часто из Hacker News и других источников. После обеда может быть кто-то, кто захочет обменяться обзорами кода. Затем я займусь написанием кода до конца дня, работая над собственными задачами, требующими глубокого внимания, вплоть до конца рабочего дня ровно в 17:00.

Я довольно структурирован в своем времени и стараюсь, чтобы работа была в пределах рабочего времени. В противном случае - поскольку я на самом деле скорее *наслаждаюсь* своей работой - я могу просто продолжать и ничего не делать в свое личное время! Важно не выгорать даже на веселой работе.

COVID-19 полностью урезал мои поездки на работу (сэкономив около 30 минут в каждую сторону) и побудил меня увеличить обеденный перерыв с 30 минут до полного часа, чтобы я имел больше времени, чтобы приготовить себе обед и кое-что по дому. Больше на работе ничего не изменилось.

> Над каким вашим текущим проектом вы работаете?

Я только что закончил выпуск Crystal Web Archiver, загрузчика веб-сайтов, который предназначен для архивирования и сохранения веб-сайтов в течение длительного времени. Я был встревожен, узнав, что старые веб-сайты портфолио DeviantArt упали из Интернета 31 марта, поэтому я хотел, чтобы мой загрузчик снова заработал (чтобы я мог сохранить несколько сайтов) до того, как это произойдет.

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

Позже, в этом году я надеюсь завершить работу над еще одной дополнительной функцией статической проверки типов под названием TypeForm, которая упростит мне реализацию trycast, библиотеки для проверки формы BLOB-объектов JSON (среди прочего) во время выполнения, что упрощает написание безопасных веб-приложений (среди прочего). Надеюсь, это будет сделано до Typing Summit на конференции PyCon в этом году.

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

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

> Из какой аудитории вы бы порекомендовали TechSmart?

В настоящее время TechSmart сосредоточен на том, чтобы довести образование в области информатики до 3–12 классов в Соединенных Штатах. Любой родитель, который заинтересован в том, чтобы их дети учились программировать, в Вашингтоне, Калифорнии, Техасе или Юте, в частности, уже могут быть в школьном округе, который мы обслуживаем.

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

Добавить комментарий

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Помогла вам эта статья?

Не нашли ответ на свой вопрос? Возможно, вы найдете решение проблемы на нашем канале в Youtube! Здесь мы собрали небольшие, но эффективные инструкции. Смотрите и подписывайтесь на наш youtube-канал!

Смотреть на Youtube