As part of a series of user interviews, the Qt Development Frameworks blog embarks upon the ‘open road to Qt code’ to uncover the real issues impacting users with direct proximity to Qt and its many elements and functions.
On the spot today is Milot Shala who hails from Prishtina, Republic of Kosova. With a bachelor’s degree in computer science, Milot works at a local Kosovar software development firm where he writes embedded systems software for Ingenico payment POS terminals in C and C++. We speak to him about his work with Qt from his early experiences through to how he is working with the framework today to develop his current solutions.
How did you first come to find and use Qt and what did (and didn’t) you like about it initially?
Back in 2004 I was reading about the technology behind KDE while we were organizing the Software Freedom Day 2004 Conference in Prishtina and I had a presentation to give on Linux desktop environments. I was naturally interested in Qt because it was the toolkit used in the KDE graphical desktop environment, but I was not a C++ programmer back then.
I started by writing some stuff in Python and used a little bit of PyQt3. At that time I was enrolled at the computer science department at South East European University in Macedonia as a full time student, where I started learning and writing C++ programs. I was messing around with STL and browsing through examples and documentation for Qt3 as I tried them out.
Not long after that, Qt4 came out and I immediately continued my explorations with the new version. Job opportunities in Kosova are mainly based on Microsoft technologies (especially .NET) which I had to use it in order to be on the job market, but I never gave up on Qt, I continued to use it whenever I could and now I write Qt applications almost full-time.
Your work is heavily focused on embedded systems for banks; what aspects of Qt make it suitable for working in this precise environment?
Well these systems are all customer-based applications, so we as programmers need to make them work as easily as possible. In fact, we currently have an issue with a customer in this sector and I am using Qt to write the application and solve the issue.
You build desktop applications that need to interact with the POS (point of sale) terminals; is the cross-platform functionality of the Qt framework particularly important to achieving flexibility and interoperability in this scenario?
Due to our heavily Microsoft-based IT infrastructure among major companies here in Kosova, there is no need for cross-platform functionality (as yet), but I do not doubt that there will be a need for other alternative platforms. This is why I chose to work with Qt in the first place so when migration happens in the near future our applications will be ready.
Over the course of your career you have used ‘other’ frameworks for your software development projects including .Net; given the breadth of your experience, what would you say to developers who have not yet used Qt but may be considering it?
I have used .NET, C# and Visual Studio’s set of tools in my working environment previously because that was what was required by management. One of the previous companies I worked at offered me the opportunity to give a presentation on Qt and they liked it, but I was never required to use it in production, just on some proof-of-concept research for internal projects.
What I would say to all developers is the following: don’t let your solution run on a single platform; your customers may curse you!