Hello. This article is part of a new series in which we speak with professional software developers who use Windows app development tools to find out what it’s like to write code for a living and, hopefully, gain some insight into the software development industry.
Today we’re talking to Dr. Holger Flick, Delphi developer since version 2, actively engaged in the community since 2004; Embarcadero MVP, a technical evangelist for TMS Software, and head of FlixEngineering. He is primarily known for his technical evangelism for TMS, appearing in a staggering amount of well-received tutorial videos, and for his very popular Delphi books.
Apart from Holger’s extensive work experience, he also holds a degree in Computer Science and a Ph.D. in Machine Engineering.
Holger is originally from Germany but is living in the USA right now.
Hello Holger, thanks for taking the time to talk to us.
Hello! Thanks for asking me.
How and/or why did you become a developer?
In 1987, I received a programming book for GW BASIC. At the time, my dad’s pigeon racer club developed software to determine the order of pigeons participating in a race. It was written in Clipper 87, and I have hooked on the tech right away. I spent huge amounts of hours learning Basic, dBASE, Clipper, and then Pascal which ultimately led to Delphi. The desire to build software was there all the time as it was just practical having my customized MS DOS programs that allowed me to learn Latin and French vocab, adding plugins to learn irregular verbs. All in all, my time in school was a very geeky experience with too little time to enjoy the outside.
Do you think you will ever stop being a developer? If so, what would be next?
After publishing my first two Delphi books, I have been asked to write a novel about my time in the Delphi community because it might be a suspenseful non-technical thriller that might make the bestseller list. I really cannot see myself as a non-technical book author though. Let’s stay with Delphi, building hands-on examples and collecting them in books…
Which Embarcadero product do you use the most regularly?
RAD Studio and its Delphi personality.
What made you start using Delphi?
With my background in building DOS database applications, it was just an amazing tool to find. I could connect to all the databases and was an easy way to build an amazing Windows user interface. There was nothing comparable at the time – and there still isn’t in my opinion.
If you could give some advice to a student who is considering a career as a software developer, what would it be?
Expect to be a student for the duration when choosing this career. You will never be able to stop learning about new innovations and issues.
Tabs… or spaces?
A smart code editor that converts tabs to spaces when appropriate.
What’s the best day you ever had as a developer?
Receiving the huge package with Delphi 2 and its multiple-book documentation back in 1996. It was my first version of Delphi purchased directly from Borland Germany.
What’s the worst thing about being a developer?
There is no break to learning. If you stop learning, you will miss the train and others will overtake you. Sadly, this process does not become easier getting older.
What’s the coolest development tip you know?
Do not copy and paste source code found on the Internet without understanding it yourself.
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?
Home. I need to be able to start working anytime whenever I have an idea or want to finish a train of thought. I simply cannot have that in an office I need to drive to. Also, I need a very quiet work environment without distractions. Shared spaces are the worst because somebody is always on the phone or in a remote meeting.
Tell us something interesting we don’t know.
I prefer Root Beer to any other beer.
If you could wave a “fix the tech industry” magic wand, what would you change?
Get rid of all social media. Make all information a pull process again. Don’t push tidbits to people they did not know they were interested in.
Have you been to Silicon Valley? If so, how was it? If not, have you ever wanted to?
I drove to the Apple Campus in 2009, took a couple of pictures in front of the Oracle and Electronic Arts building like the average tourist. I was not able to enter the buildings. However, I also visited the old Borland headquarters just before they were closed. That was a very memorable experience and nostalgic feeling. I was able to meet colleagues from the Delphi QA department which I was working for. I was also able to get to know developers of the R&D department at their workplace.
Have you ever met any famous/well known tech figures? Who was it? How did it go?
I have met many awesome Delphi developers that are well-known in the community for years. Most of them have been part of Delphi when I was still going to high school. It was always fun having a meal or drink together. Each one of them is famous in my world.
If you could convince someone to consider Delphi or C++ Builder what would your method be, how would you do it?
I would tell them to start reading the programming book at D as in Delphi.
Which tech product do you wish you invented/designed and why?
Apple iPod Touch. It truly was the first device that allowed you to use a user interface as an extension of your fingers and was based on reliable hardware. The huge majority was not taking Apple seriously at the time. It was the foundation for innovations like the iPhone and the iPad. I consider it one of the “biggest” milestones of the century.
How many coffees do you drink a day and is it enough?
Too many and there’s never enough coffee.
Are you a night hawk who codes until late in the evening, a morning person who gets up early and right into it or do you keep to some sort of regular office hours?
I am definitely not a morning person. Regular office hours kill my creativity. If I have an idea or project to work on, I do not abide by any schedule. I do try to take regular breaks though which is sometimes hard to do.
In your career have you ever “pulled an all-nighter” to deal with something which absolutely had to be done?
No, thankfully I never had to. I am often criticized for starting with todos way too early, but it helps reducing stress significantly.
What is the most stupid question you get asked – the ones in this interview don’t count!
I usually think every question is valuable, but I get quite a few that would require foresight and I am not skilled in that profession at all. I am still looking for a worse question than the following one though which I have gotten asked since the inception of Visual Basic or .NET: “Do you think Delphi will still be around in two years?”
How do you stop clients/program managers/managers from ‘feature creep’?
Presenting better alternatives is key.
Describe a typical coding session for you. How does it start? Do you take breaks? Do you have any rituals/habits to accompany it?
Lots of coffee is essential. Since spending a huge amount of time in the USA, creamer with syrup has become part of that ritual. Due to the water consumption and effect of coffee, regular breaks are automatic.
Do you listen to music while you code? If so, can you tell us a few tracks/artists/performances?
I usually listen to Chill on Sirius XM or the news.
Do you use any methods or techniques such as Agile, Scrum, Kanban, TDD? If so, why? If not, why?
I have to admit that using SVN and GIT as a versioning system to manage my source code is the only modern, fancy thing I do. I also use LaTeX as my favorite type setting tool which is anything but standard.
Do you track bugs? If you do, what do you recommend?
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?
Don’t be nervous and be true to yourself. Admit if you do not know the answer because there is always time to find out. The most disastrous interviews are when you prepare examples for one subject and the audience steers the topic to a completely different area. I very much dislike being unprepared.
A good software developer:
Is always willing to learn and never says “that’s impossible”.
A bad software developer:
Tries to talk you out of following up with any ideas you have.
iPhone, Android, Other – and why?
Yes. Essential tools for any software developer. Android and iPhone both because you simply need to be able to make all customers happy. Also, even if you do not develop for that platform, you still need to be aware of its features and capabilities.
For a developer: PC vs Mac? Why?
Again, both. If you develop software, you need to know the target systems and their kinks. I would add Linux to the list with a few popular distributions like Ubuntu, SUSE, and Debian.
What is the one thing you would like to be remembered for?
That my books helped other developers save time and get new ideas to create better products and applications.
What is the best developer/hacker/tech/geek movie?
Star Trek. The Original Series and The Next Generation are the best tech/geek shows in retrospect. I clearly remember people laughing at me for believing in “handheld devices” or “screens used with the hand as keyboards”. I think the creators of these shows were geniuses.
No developer should be seen without:
A Delphi license.
If a movie was made about your life, who would you want to play you?
Do you have a book, product or service you’d like to mention?
I am not impartial to book recommendations, but I can wholeheartedly recommend TMS All Access if you are a Delphi developer. The amount, quality, and variety of tools and components for the yearly price tag as well as the high quality of support are only to be applauded.
Please get in touch if you are in need of software engineering, training or consulting.
Do you have a website people can visit?
If you use Twitter, what is your Twitter handle?
Thanks for talking to me Holger and thank you for your great books, videos and all you do for the developer community.