<img height="1" width="1" style="display:none;" src="https://www.facebook.com/tr?id=1924329124555630&amp;ev=PageView&amp;noscript=1">

Simple Things Should be Simple, Complex Things Should be Possible

Posted by Garbo Kwan

With this new blog series, we take an inside look at Givex and the people behind the technology created to streamline your operations!

Here is our Vice President of Quality, Sasa Dimitrijevic:


I discovered Givex in 2009, when the little web scraping script I wrote to help me find a position as a Python developer stumbled upon it. In that sense, it is fair to say that the story really began 10 years earlier when I discovered Python. At the time, I was using Visual Basic and trying various Rapid Application Development tools but none seemed right. As someone said, visual part of Visual Basic was great, but the Basic part was too basic. Then I found Python and immediately fell in love with its philosophy: "Simple things should be simple, complex things should be possible".

10 years later my script found the job posting for a Python developer at Givex, and I read it only to discover that this was way out of my league. I only had basic C knowledge, and I had never used SQL in any production system, so I decided that there was no point in applying. But I liked the fact that this company used all open source tools I was familiar with and that I could ride my bike to work, since by that time I had enough of driving to Vaughan from South-Western corner of Toronto. So I applied for a  QA position and got the job.

I spent half of my previous career in quality control but that is not the same as software quality assurance, and anyway, every organization does it slightly differently so I had a lot to learn. With time, the role of the department kept changing so we now cover much more than just testing. Our current role is matchmaking: we match what our software delivers to what the client expects. When a client approaches us with an idea for some new functionality, it is the senior members of our QA team who come up with the conceptual solution and, when needed, a detailed functional specification, which is then used by developers, and once the development is ready for testing, by testers to understand the new functionality. 

Some people don't understand the role of quality assurance in developing software, but in essence it boils down to this: every developer will test the application they develop, and knowing what they did, they are subconsciously going to avoid any area that may cause it to fail. So you need someone who knows the application and the requirements very well, but is not going to be afraid of breaking it. Software development is complex, and I find that the analogy of a car describes it well: you need developers, who are the engine, but in order to tell the engine where to go you need software designers who are the GPS, and in order to steer the car you need product management. Where does the QA fit in this picture? We are the brakes! You can drive your car without brakes, but it usually doesn't end well.          

And what about Python? Well, I still get to write a few lines of code from time to time, because one of the test automation tools I use is programmed using Python. To relax, some people do yoga, or use aromatherapy, run or watch hockey. For me, opening Vim editor and writing code does the trick. 




Interested to start a career with us? Come see what we have to offer!




Topics: Point of Sale, Loyalty, Gift Cards, News, Event Ticketing, analytics, Tableside Ordering