Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Каково быть разработчиком Гленн Дафке?

smartmockups ktarkghn

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

Сегодня мы отправляемся в просто великолепную страну Данию, чтобы поговорить с MVP Embarcadero Гленном Дуфке. Часто можно обнаружить, что Гленн бесстрашно бросает вызов предрассудкам людей относительно Delphi, разъясняя преимущества языка и то, как он может решить проблемы каждого. Если бы я сам еще не был чемпионом Delphi, думаю, Гленн мог бы в одиночку передумать и заставить меня кодировать с его помощью! Вы столкнетесь с Гленном на различных онлайн-мероприятиях, таких как TCoffeeAndCode, а также на форумах по информационной безопасности и во многих других местах.

Table of Contents

Гленн, спасибо за участие в интервью 😊

Спасибо, что пригласили меня — я был перегружен работой, извините, это заняло время!

Какими были бы ваши краткие вечерние новости о том, кто вы и чем занимаетесь?

Я управляю собственной консалтинговой компанией GlennKonnekt, где предоставляю услуги в области разработки программного обеспечения, проектирования электроники для встроенных решений и промышленной автоматизации.

Какие продукты Embarcadero вы используете а) чаще всего б) регулярно?

Delphi — это то, что я чаще всего использую в течение дня для вещей, над которыми я работаю.

Как и / или почему вы стали разработчиком?

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

Задачи — это весело, и есть о чем подумать, плюс знание аппаратной и программной части упрощает учет деталей, которые в конечном итоге имеют решающее значение.

Гленн, упорно трудится, завоевывая сердца и умы разработчиков

Вы думаете, что когда-нибудь перестанете быть разработчиком? Если да, то что будет дальше?

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

Что заставило вас начать использовать Delphi / C ++ Builder?

Какое-то совпадение. Когда я сначала немного занялся программированием, прежде чем я имел гораздо более четкое представление о том, что это такое, случилось с Commodore 64 с BASIC (на самом деле Microsoft BASIC 2.0, лицензированный Commodore), когда мне было около 7 лет. Примерно в 9 я попробовал HiSoft Pascal на Amiga 500, доставшейся мне от моего дедушки. Тем не менее, я не продвинулся полностью, так как у меня не было руководств или чего-то еще, что могло бы меня направить.

Когда я стал немного старше, мне было около 11 лет, я был так заинтригован тем, что заставляет ПК работать и как программное обеспечение попало в машину, чтобы заставить его работать. К счастью, один из друзей моего брата только что закончил программу по информатике, где их обучали Delphi (около 2001 г.), и он подарил мне пробную версию Delphi 6, вскоре после того, как мне подарили копию Delphi 7 Enterprise. Поскольку в то время у нас не было Интернета дома (56k было обычным явлением, ISDN для тех, кто мог себе позволить, а ADSL только появлялся на рынке, но был дорогим), я застрял с файлом справки, который меня научил больше всего. Мне также удалось найти пару книг, в том числе «Освоение Delphi 7» Марко Канту .

Между тем я также смотрел на C / C ++, потому что мне сказали: «Это то, что используют настоящие программисты», но это не вычислялось в моем мозгу. Сегодня для меня нетрудно использовать другие языки, но Object Pascal — самый чистый, самый выразительный из всех, и я использую его по умолчанию, когда могу. К счастью, C ++ Builder действительно упрощает написание или использование библиотек C ++ по сравнению с другими средами и платформами.

Если бы вы могли дать какой-нибудь совет студенту, который подумывает о карьере разработчика программного обеспечения, что бы это было?

Получите копию последней версии Delphi и одну из последних книг о Delphi . Delphi — бесценный инструмент, который учит хорошим навыкам программирования.

Табуляция… или пробелы?

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

Какой самый лучший день у вас как у разработчика?


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

Что самое плохое в работе разработчика?

Когда что-то не работает или возникают неудачи из-за отсутствия информации о данной задаче.

Какой самый крутой совет по разработке вы знаете?

Используйте виртуальные машины для всего и не загромождайте свой мозг новейшими библиотеками [кода], языками и техническими стеками. Придерживайтесь нескольких, таких как Delphi, и станьте в этом в совершенстве — учите и делитесь знаниями, вот где вы начинаете расти. Имейте хорошее решение для резервного копирования NAS, которое может делать автоматические снимки, например TrueNAS с файловой системой ZFS.

Работа из дома, работа из офиса, работа в открытом / общем пространстве? Что ты предпочитаешь и почему? Вы можете выбирать?

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

Glenn’s office

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

Я большой любитель кошек, и мой офисный инспектор Цезарь часто подходит, чтобы пообниматься. Он спасение из местного приюта. Я провел много ночей, будучи подростком, занимаясь реверс-инжинирингом [на языке ассемблера] своих скомпилированных приложений, которые я писал, чтобы лучше понять, что происходит. Это также то, что меня заинтересовало, как работают компиляторы, и в настоящее время я работаю над своим собственным исследовательским компилятором.

Если бы вы могли взмахнуть волшебной палочкой «исправить технологическую индустрию», что бы вы изменили?

Убедиться, что ElectronJS и все, что касается JavaScript, nodejs и Rust, было лишь сноской в ​​истории. Как бы вопиюще это ни звучало, эти технологии вносят свой вклад в проблемы безопасности и накапливаются на свалке технологий с угрожающей скоростью, вместо того, чтобы повышать качество программного обеспечения, оно снижается.

Вы были в Кремниевой долине? Если да, то как это было? Если нет, то хотели ли вы когда-нибудь?

К сожалению, нет. Ближе всего к Силиконовой долине я был в аэропорту Сан-Франциско. Конечно, было бы интересно побывать хоть раз, но я не в таком восторге от Кремниевой долины, как когда-то. Я считаю, что в США есть и другие области, которые намного интереснее с технической точки зрения.

Вы когда-нибудь встречали известных / хорошо известных технических деятелей? Кто это был? Как прошло?

Я встречал различных фигур из сообщества Delphi / C ++ Builder, предпринимателей с множеством выходов и миллионами за плечами. В конце концов, они люди, и я подхожу к ним с добротой и уважением. Из людей, с которыми я хотел бы встретиться, это, конечно же, Илон Маск и, как датчанин, однажды познакомлюсь с Андерсом Хейлсбергом.

Если бы вы могли убедить кого-то рассмотреть Delphi или C ++ Builder, каким был бы ваш метод, как бы вы это сделали?

Вы хотите написать хороший код, который легко читать, и при этом иметь возможность повторно использовать код на разных платформах? Тогда Delphi — это [инструмент] goto.

Какой технический продукт вы хотите изобрести / спроектировать и почему?

JavaScript — но я бы, вероятно, назвал его как-нибудь иначе, и если бы я его спроектировал, мир разработчиков не пострадал бы так, как они сейчас. В настоящее время это один из наиболее часто используемых (и злоупотребляемых) языков сценариев для разработки расширенного материала в браузере, и некоторые думают, что он подходит для настольных и мобильных устройств в виде «собственных» приложений — что, на мой взгляд, совершенно неверно.

Плохой языковой дизайн вообще не существовал бы, если бы синтаксис был основан на подмножестве Object Pascal и значительно упростил бы написание приложений для браузера.

Интернет и браузеры не могут развиваться намного дальше, пока мы не избавимся от JavaScript, столь резкого и противоречивого, как это кажется на первый взгляд. Google несколько раз пробовал использовать язык Dart, но он также страдает от неправильного выбора дизайна и утомительного синтаксиса (почему они не понимают, что языки фигурных скобок и чувствительность к регистру — это плохо?). TypeScript — это временное исправление для чего-то, что уже сломано, то же самое касается WebAssembly, хотя мы, по крайней мере, можем написать компилятор wasm и использовать Object Pascal в качестве предпочтительного языка, чтобы писать лучший код и при этом запускать его в браузере. Тем не менее, WebAssembly еще относительно молод.

Caesar, the office inspector

Если бы вы могли снова прожить свою жизнь, вы бы все равно стали разработчиком? Почему?

На этот вопрос всегда сложно ответить, так как он всегда будет отражать настоящее. Я бы, наверное, да. У меня в голове слишком много идей.

Сколько кофе вы пьете в день и достаточно ли этого?

Слишком много. Нередко я выпиваю хотя бы банку, может, две. Я ценитель кофе, ценю чашку хорошего кофе, и это мое топливо превращается в код.

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

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

За свою карьеру вы когда-нибудь «тянули ночь напролет», чтобы иметь дело с чем-то, что абсолютно необходимо сделать?

Пару раз. Иногда необходимо внести критические по времени исправления или нужно урезать поток идей. Однако я стараюсь избегать ночных ночей.

Какой самый глупый вопрос вам задают (ни один из них не в счет!)

Вы знаете X или Y — и этот человек ранее просматривал мое резюме, где оно было указано.

Расценки на работу с клиентами? Если вы это сделаете, не раскрывая ничего, что могло бы вызвать у вас дискомфорт, какой процесс вы используете?

Я предпочитаю работать по часам. Иногда клиенты спрашивают расценки, но в этом случае я стараюсь максимально подробно описать объем моей работы.

Как остановить клиентов / менеджеров программ / менеджеров от «расползания функций»?

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

Вы слушаете музыку, пока пишете код? Если да, то не могли бы вы рассказать нам несколько треков / исполнителей / выступлений?

У меня есть широкий список тщательно отобранных треков, которые я слушаю при кодировании. От чиптюнов из моей собственной коллекции, современных треков от Lukhash до жидких драм-н-бейсов, поставленных Metrik, London Elektricity, Wilkinson, Grafix, Seba, Netsky, Logistics, High Contrast, Degs, Pendulum, State of Mind, Apex .. Пожалуйста, остановите меня , Я могу продолжать вечно! Красота музыки в целом заключается в том, что она запускает определенные области в вашем мозгу в зависимости от того, чего вы хотите достичь.

Caesar is reviewing your code and he’s not sure he’s happy with it

Используете ли вы какие-либо методы или приемы, такие как Agile, Scrum, Kanban, TDD? Если да, то почему? Если нет, то почему?

Немного Канбана и больше TDD, как учил Йенс Фадж.


Вы отслеживаете ошибки? Если да, что посоветуете?

Да, безусловно! И я призываю всех сделать это!

Я использую различные системы, от Jira, Github Issue tracker, Gitlab Issue tracker, Bitbucket Issue tracker. Я думаю, это важно, особенно когда ошибки иногда появляются снова.

Такое случалось не раз в некоторых небольших группах, в которых я работал. Системы контроля версий, такие как git, mercurial или subversion, являются ключевыми вместе с системой отслеживания проблем.

Было ли у вас когда-нибудь техническое интервью, которое проходило очень гладко — если да, что вы посоветуете другим? Если у вас было провальное интервью, что пошло не так, и нужно ли вам обнять?

Просто будь собой.

Хороший разработчик программного обеспечения:

Делятся своими знаниями — обучение — это ключ к росту и развитию сообщества.

Плохой разработчик программного обеспечения:

Все делает сам и не делится своими знаниями

iPhone, Android, прочее — а почему?

У меня есть и то, и другое, хотя я предпочитаю Android. Что ж, технически это неправда, так как я балуюсь postmarketOS, полномасштабным дистрибутивом Linux для мобильных устройств.

Для разработчика: ПК против Mac? Почему?
ПК; Мне нужно что-то, что я могу расширять и поддерживать сам — Mac — это просто ПК с завышенной ценой в другой оболочке.

Чем вы хотите, чтобы вас запомнили?

Возвращение Delphi в тройку самых уважаемых языков и сред разработки 😊

Какой фильм для разработчиков, хакеров, техников и компьютерщиков лучший?

У меня есть несколько фаворитов в этой категории: Хакеры 1995 года, Операция «Разрушение», Антимонопольное право, Матрица, Человек-газонокосилка, Wargames, Tron Legacy, Johnny Mnemonic.

Ни одного разработчика нельзя увидеть без:

Копия Delphi

Если бы о вашей жизни сняли фильм, кого бы вы хотели сыграть?

Джонни Ли Миллер

У вас есть веб-сайт, который люди могут посетить, и если да, то какой?

Блог: https://code-kungfu.com
Сайт компании: https://gkon.dk

Если вы пользуетесь Твиттером, каков ваш твиттер?
@ B1tSmurf

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

Отправьте электронное письмо, а затем запланируйте онлайн или личную встречу. Я предпочитаю, чтобы люди сначала обращались к вам с помощью текста.

Exit mobile version