Hello. This article is part of a series where we speak with professional software developers, ask them what it’s like to write code for a living, and perhaps gain a few insights into the software development industry along the way.
Today we’re heading out to the simply gorgeous country of Denmark to talk to Embarcadero MVP Glenn Dufke. Glenn can often be found fearlessly challenging preconceptions people have of Delphi by expounding the benefits of the language and the way it can solve everyone’s problems. If I wasn’t already a champion of Delphi myself I think Glenn could single-handedly change my mind and get me coding with it! You’ll bump into Glenn at various online events like TCoffeeAndCode as well as infosec forums and an impressive array of other locations.
Glenn, thanks for taking part in the interviews 😊
Thanks for inviting me – I’ve been overloaded with work, sorry it took a while!
What would be your brief evening news summary of who you are and what you do?
I run my own consulting company GlennKonnekt where I provide services in the realm of software development, electronics design for embedded solutions and industrial automation.
Which Embarcadero product(s) do you use a) the most b) regularly?
Delphi is what I use the most during the day for the things I’m working on.
How and/or why did you become a developer?
Besides writing software, I also design electronics for embedded and industrial automation setups. I wanted to know how to get things “to work” by being able to write the software too.
The challenges are fun and there are many things to think about, plus both knowing the hardware and software part makes it easier to account for the details that makes all the difference in the end.
Do you think you will ever stop being a developer? If so, what would be next?
No, I don’t. it is an ever changing field and a lot is constantly happening. However, if I were to switch to something else, that would probably starting a little burger joint, serving the best home made burgers you can get.
What made you start using Delphi/C++ Builder?
It was kind of a coincidence. When I initially got into a bit of programming, before I had a much clearer understanding of what it was all about, happened on the Commodore 64 with BASIC (Actually Microsoft BASIC 2.0 which Commodore licensed) when I was around 7 years old. Around 9, I tried HiSoft Pascal on the Amiga 500 I inherited from my gramps. Still I didn’t fully get far since I didn’t have manuals or anything to guide me.
When I became a bit older, around 11, I was so intrigued about what made a PC work and how did software get into the machine to make it work. Fortunately one of my brother’s friends had just graduated a computer science program where they were taught Delphi (around 2001) and he got me a copy of the trial version of Delphi 6, Not long after I was gifted with a copy of Delphi 7 Enterprise. Since we didn’t have any internet at home at the time (56k were common, ISDN for those who could afford and ADSL was just hitting the market but expensive), I was stuck with the help file which taught me the most. I also managed to find a couple books, including Mastering Delphi 7 by Marco Cantú.
In between I was also looking at C/C++ because I was told “That’s what real programmers use” but it didn’t compute in my brain. Today it isn’t difficult for me to use other languages, but Object Pascal is the cleanest, most expressive of them all and the one I default to whenever I can. Thankfully C++ Builder does make it easier to write or consume C++ libraries compared to other environments and platforms.
If you could give some advice to a student who is considering a career as a software developer, what would it be?
Get a copy of the latest Delphi version and one of the recent books about Delphi. Delphi is an invaluable tool which teaches good programming habits.
Tabs… or spaces?
If we’re talking about taming snakes, it is tabs. For Object Pascal I use tabs too, however it is more for the sake of formatting and consistency as the compiler don’t care. That said, I care about how my code looks and presents itself. To me, code is art in itself and to some degree reflects a developer’s mindset.
What’s the best day you ever had as a developer?
When seeing the code you’ve been working on for months come together nicely and works as intended. Of course, it isn’t bug free, but they’re quick enough to iron out.
What’s the worst thing about being a developer?
When things don’t work or there are setbacks because of missing information about a given task.
What’s the coolest development tip you know?
Use virtual machines for everything and don’t clutter your brain with all the newest [code] libraries, languages and tech stacks. Stick to a few, like Delphi and become excellent at it – teach and share knowledge, that’s where you start to grow. Have a good NAS backup solution in place that can do automatic snapshotting, like TrueNAS with the ZFS file system
Work from home, work from an office, work in an open plan / shared space? What do you prefer and why? Do you get to choose?
I have my own little office for myself. I prefer this style but there are times where I also like working in a shared office with a small team.
Tell us something interesting you think we might not know.
I’m a huge cat person and my office inspector Caesar often comes over for cuddles. He’s a rescue from the local shelter. I’ve spent many many nights as a teen reverse engineering [into assembly language] my compiled applications I wrote, to better understand what was going on. That is also something that got me interested in how compilers works and I’m currently working on my own research compiler.
If you could wave a “fix the tech industry” magic wand, what would you change?
Have you been to Silicon Valley? If so, how was it? If not, have you ever wanted to?
I have not, unfortunately. The closest I’ve been to Silicon Valley are San Francisco Airport. Of course it would be interesting to visit, at least once, but I’m not as enthused about Silicon Valley as I once was. I believe there are other areas throughout the US that are much more interesting, tech wise.
Have you ever met any famous/well known tech figures? Who was it? How did it go?
I’ve met various figures from the Delphi/C++ Builder community, entrepreneurs with multiple exits and millions under their belt. At the end of the day they’re human and I approach them like that with kindness and respect. Of people I would love to meet is of course Elon Musk and as a fellow Dane, meet Anders Hejlsberg one day.
If you could convince someone to consider Delphi or C++ Builder what would your method be, how would you do it?
Do you want to write good code that is easy to read while being able to reuse code across platforms? Then Delphi is the [tool to] goto.
Which tech product do you wish you invented/designed and why?
The bad language design in the first place would have been non existent if the syntax was based on a subset of Object Pascal and would have made writing applications for the browser a heck of a lot easier.
If you could live your life again, would you still become a developer? Why?
It is always difficult to answer this kind of question, as it will always bear some reflection of the now. I would probably, yeah. I have too many ideas in my head.
How many coffees do you drink a day and is it enough?
Way too much. It is not uncommon I drink at least a pot, maybe two. I’m a coffee connoisseur, I appreciate a good cup of coffee and it is my fuel that turns into code.
Are you a night hawk who codes until late in the evening, a morning person who gets up early and right into or do you keep to some sort of regular office hours?
I prefer working in the evening and nights for the most parts. There are peace and quiet and I can get to think about good solutions. I do try to keep to a regular schedule during the day.
In your career have you ever “pulled an all-nighter” to deal with something which absolutely had to be done?
I have, a couple times. Sometimes time critical fixes need to be delivered or an influx of ideas needs to be scratched down. However, I try to avoid all-nighters.
What is the most stupid question you get asked (none of these count!)
Do you know X or Y – and the person has looked at my resume earlier where it was listed.
Do you quote for work with clients? If you do, without revealing anything which would make you uncomfortable what sort of process do you use?
I prefer working by the hour. It happens sometimes clients asks for quotes, but I try to be very detailed about my scope of work in that case.
How do you stop clients/program managers/managers from ‘feature creep’?
I’ll say, we need this version out before we can start working on more features. What is the essential to get it out and be specific
Do you listen to music while you code? If so, can you tell us a few tracks/artists/performances?
I have a broad list of curated tracks I listen to when coding. From chiptunes from my own collection, modern tracks from Lukhash to liquid drum and bass delivered by Metrik, London Elektricity, Wilkinson, Grafix, Seba, Netsky, Logistics, High Contrast, Degs, Pendulum, State of Mind, Apex.. Please stop me, I can go on forever! The beauty of music in general, it triggers certain areas in your brain depending on what you want to accomplish.
Do you use any methods or techniques such as Agile, Scrum, Kanban, TDD? If so, why? If not, why?
A bit of Kanban and more TDD, as Jens Fudge has taught
Do you track bugs? If you do, what do you recommend?
Yes, definitely! And I encourage everyone to do so!
I use various systems, from Jira, Github Issue tracker, Gitlab Issue tracker, Bitbucket Issue tracker. I think it is important, especially when bugs sometimes get reintroduced.
It has happened more than once in some of the small teams I’ve worked in. Source control systems like git, mercurial or subversion are key together with an issue tracking system.
Have you ever had a technical interview which went super-smooth – if so, what’s your advice for others? If you’ve had a disastrous interview what went wrong, and do you need a hug?
Just be yourself.
A good software developer:
Shares their knowledge – teaching is the key to growing and fostering a community
A bad software developer:
Tends to do everything themselves and doesn’t share their knowledge
iPhone, Android, Other – and why?
I have both, though I prefer Android. Well that’s technically not true, as I am dabbling with postmarketOS, a full blown Linux distro for mobile devices.
For a developer: PC vs Mac? Why?
PC; I need something I can extend and maintain myself – Macs are just overpriced PCs in a different shell.
What is the one thing you would like to be remembered for?
Bringing Delphi back in the top 3 of respected languages and development environments 😊
What is the best developer/hacker/tech/geek movie?
I have multiple favorites in this category: Hackers from 1995, Operation Takedown, Antitrust, The Matrix, The Lawnmower Man, Wargames, Tron Legacy, Johnny Mnemonic.
No developer should be seen without:
A copy of Delphi
If a movie was made about your life, who would you want to play you?
Jonny Lee Miller
Do you have a website people can visit, if so, what is it?
If you use Twitter, what is your Twitter handle?
What’s your preferred method of contact from potential clients?
Email, then schedule either an online or in person meeting. I prefer people reaching out by some form of text first.