QCerris https://qcerris.com Rooted in Excellence Sun, 01 Feb 2026 14:25:58 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 Using Apache AirFlow to Orchestrate Your Data pipeline – Dos and Don’ts https://qcerris.com/using-apache-airflow-to-orchestrate-your-data-pipeline-dos-and-donts/ Mon, 23 Jan 2023 13:45:00 +0000 https://qcerris.com/?p=232 Introduction

Over the last couple of years we have witnessed more and more companies engage in exploring and even base their products and services on machine learning and big data. 

Hence, engineering and orchestrating large data pipelines with a lot of moving parts has become unavoidable, often requiring to work in real time and in a completely automated fashion. 

Various orchestration tools have been made available in order to make this easier, but in our opinion none offer as much control over sequencing, coordination, scheduling, and managing complex data pipelines from diverse sources as Apache’s open-source tool AirFlow. With an easy to use Web UI, this Python-based tool allows you to define your workflow in terms of DAGs – Directed Acyclic Graphs. It is easily integrated into Kubernetes and Celery for distributed computing, and unlike Cron Jobs for which you have to define the exact time of execution, tasks directly depend on the tasks that precede them and are executed when the upstream finishes, making it easy to write sequences of jobs, or jobs that are executed in parallel.

With all of that in mind, every tool is only powerful if it’s used in the right way. AirFlow can easily run into performance issues if the pipeline and its underlying tasks aren’t written in the way it was intended to. As there are countless beginner tutorials online, we plan not to focus on showing you how to write DAGs in AirFlow, but instead assume that you have a basic understanding of it. In this article we will be sharing with you tips and tricks on how to use AirFlow to its full potential.

1. How to use other languages

While the DAG itself has to be written in Python and this is unavoidable, the orchestrator should never force us to write our jobs in a specific language. For Python and Bash there are the respective PythonOperator and BashOperator but other languages potentially don’t have their dedicated operators. So how to circumvent this? Simple – use the DockerOperator.

With the DockerOperator you can easily specify everything about the environment needed to run your code, even what exact version of compiler or interpreter. You can use both public DockerHub or AWS ECR images, or even feed it private images via the docker_conn_id argument. If you use something all the time, you can even define your own Operator by overriding this one. This is even useful for Python code: if you don’t want to bloat your AirFlow setup with lots of packages or depend on the version of python that AirFlow is running on, you can easily set up a container with your requirements and run custom Python without exposing your AirFlow setup to it and fearing package conflicts.

For example, if you need to run some Haskell code you can simply state what the container is and give it a path to your specific script:

If you’re using the Kubernetes Executor to run all your tasks in a kubernetes cluster, the KubernetesPodOperator is an excellent way of achieving the same goal and cutting out the middleman. Besides being able to develop your different functionalities as separate projects and by just defining a image that runs your code, you can also control the resources that pod is being allocated to, define weights and priorities to specific tasks getting allocated resources, and even have XCom communication by writing results into a specific file: /airflow/xcom/return.json.

2. How to communicate between tasks

Because complete isolation between the tasks in our pipeline is an unreasonable expectation, airflow offers various ways for inter-task communication. AirFlow Variables are a sort of global variable space for all AirFlow DAGs. You can both set them from the UI, pull them from the environment or just set them in tasks. You can even connect your AirFlow instance to the AWS Parameter Store and pull values from there as encrypted secrets. Designed for storing string values, you can even retrieve a json formatted string directly as a dict and pass subvalues as jinja templates.

But as any good programmer knows, over utilizing global variables can be dangerous and sometimes we want to be able to pass values that have the scope of the DAG run. For this utility AirFlow made XCom as a way for our jobs to pass information directly to each other. When the information is just a short string, this is perfect! When passing something different though, this can potentially cause a headache.

Let’s say, we want to pass a number. Because pulling from XCom by default returns a string we have to cast it to an int. This is simple, but forces us to worry about types, which is not very pythonic. Instead, as of AirFlow 2.1, you can pass render_template_as_native_obj = True to the DAG constructor and it starts treating your passed objects as the exact object that has been pushed. But that isn’t the end of the problems.

You should NEVER pass large objects to XCom because the AirFlow backend DB stores all values passed permanently, and you risk bloating the backend and slowing it down (Variables don’t have this issue, the DB only always keeps track of the latest value only). Even a dictionary can potentially fill up the DB if the DAG is ran a sufficient amount of times. If passing large objects is unavoidable, you should do it with some other service: AWS S3 or redis are a good solution, but you have to then make sure that the objects or resource is deleted after it’s not needed any more. Also, you have to make the pathing specific to the DAG run to avoid concurrency issues if your DAG can be run multiple times in parallel. A simple way to do this is to implement your own XCom, with the exact logic you need and using whatever tool you intend for job communication.

3. How to split large jobs

Let’s say as part of your ETL pipeline you have to process large amounts of data. Doing it as just one job makes no sense, especially if your AirFlow is set up to run in a cluster. The best way of doing this is to not do it at all: instead use some other tool for distributed batch processing like Apache Spark and use AirFlow just to schedule the operation. If this is not available, try to avoid any hard coding and evaluate as much as possible during runtime. If we don’t know the number of batches we’ll end up with, AirFlow 2.3 offers us dynamic task making.

This way, we can determine at runtime  how many instances of our job we need and run them in parallel. This avoids us having to make specific DAGs for each use case, or having to run way more tasks than we need or running empty tasks and handling this ourselves. AirFlow was not designed to be an ETL tool, so doing transformations in it can be painful, but if used right and in coordination with other tools this can be easily achieved.

4. How to reuse code and DAGs

The property of any good code is modularity and reusability, and the same is true with DAGs. To increase reusability of the DAG we can pass it the params argument in the constructor with a dict of default values, and even enforce passing of an argument by templating it with dag_runc.conf instead of params. If written this way we can easily trigger this DAG from other ones with the TriggerDagRunOperator. While it’s easy to look at DAGs as unconnected pieces of code, the best way to orchestrate everything is by implementing it as a sequence of triggers.  We can distinguish between things that are a part of our pipeline and things that happen after our pipeline with the wait_for_completion boolean flag. We can then pass the dag name and desired config via the respective dag_id and conf parameters. 

But what if something doesn’t make sense on its own, only as part of a pipeline? The old way was by defining SubDAGs in a function and then calling them to generate the desired task pattern, but this is pretty much just a legacy option that introduces a lot of performance issues if used. At the moment, AirFlow has TaskGroups as a functionality, which not only allows us to define task patterns easily and reuse them, but also makes it visually simpler by reducing everything to only one field at a time that is expandable on click.

]]>
Our Farewell to 2022. Onward and Upward to 2023 and Beyond https://qcerris.com/our-farewell-to-2022-onward-and-upward-to-2023-and-beyond/ Thu, 05 Jan 2023 13:36:00 +0000 https://qcerris.com/?p=222

“KPI at QCerris stands for Keep People Impactful, Interested and Inspired”

                                                                                         QCerris CEO, Dan Kusalovich

Our farewell to 2022. Onward and upward to 2023 and beyond

In 2022 we have grown tremendously. However, QCerris is far away and will never come close to being a typical corporation, no matter how much we grow, and how many markets, projects, and technologies we continue to conquer. Not our style.

QCerris is a place of organizational agnosticism, where we try to take the best practices across industries and organizations, and implement them to suit the people and not the other way around.

We continue to nurture the charm of a small company, where you know most of your colleagues, where it feels employee-centric and flexible, and where we learn alongside you in the tough times, rewarding your work and effort, valuing your progress individually, and celebrating when we are on a winning strike!

A Part of the QCerris team at the team-building


QCerris culture: A nurturing environment geared toward constant progress for all team members

What makes it so unique? We are maintaining a finely balanced minimum level of procedures and structures. A complete lack of processes in the start-up community, that heavily relies on the chaotic productive energy, can sometimes lead to confusion and to a constant loop of ambiguity. On the other hand, creating unnecessary administration and processes can leave the employees feeling they work at a depersonalized and highly bureaucratic company.  

This is why we keep the procedures simple, and effective, and we use them when necessary. Since the beginning, our employees know exactly what to expect, and transparency makes it a blessing. For example, we fully support and encourage the flexible working mode. 

You can work remotely, or at the office at your convenience, as long as you communicate it with your team. We even have employees sometimes working from abroad, so they can fulfill their travel wishlists while working the job they love. The key is open communication with your teammates. Everything is possible if you are open about your needs, and if you communicate it clearly, we will find a way to make it work.

QCerris made it to distant African Island of Zanzibar!

Before employee branding was a cool buzzword, QCerris knew the secret ingredient to maintain the perfect organizational balance, and that is being simultaneously client-oriented and team-oriented.

Each and every one of our employees is a QCerris ambassador. We take pride in their professionalism and business etiquette in communicating with clients and understanding their needs and requirements. From project managers to engineers, we approach the client as we would our closest friend: with empathy, a desire to help, and the determination to make their vision come to a reality. 

The teamwork is at the front and center at QCerris. After we give the applicants a job offer or an internship, we carefully consider which team they will be joining. They will contribute there, learn, and share ups and downs, so it has to be the best possible environment for their growth, as well as their area of expertise. 

Our organizational structure is simple and agile. We are working hard to maintain the vigor and vibrancy of our scrappy, bootstrapped early years while empowering our coaches/managers to provide career guidance and development paths to their team members. Similarly, our technology practice leaders drive development of tools for technology skill improvements within carefully selected technology practices such as Devops, MLOps and Data Engineering. You can count on QCerris to be at the forefront of software development technology and innovation.

As the golden sponsors of the AIBG Hackathon competition, we had an opportunity to help young IT Talents get their foot into the industry

QCerris Team outside the Office

2022. will be remembered as the year of the best get-togethers, parties, games, and fun activities! Let’s not forget the spectacular team building at Fruška Gora, where everyone had a shot to try competitive outdoor games. From climbing the adventurous park to soft air competition, the activities blasted the adrenaline-infused, competitive spirit! Finishing the day off with the domestic barbecue, and dessert, we will always remember this day, as the day nobody got hurt!

Our basketball team deserves a special place in our hearts, as they made us laugh, yell, and even cry a little bit during their games, but all for good reason: they won 6 out of 6 games at the national IT League! We could not be more proud of the team that vigorously trained after office hours, and displayed team spirit and dedication. We also must give credit to QCerris basketball fans who were the loudest, and the most passionate, and who supported the team wholeheartedly, jumping from their seats every time somebody misses a shot.

Finally, the company’s New Year celebration, made a strong impact, as one of the best team activities. Everybody hit the dancefloor and enjoyed the domestic cuisine, mixed up with a glass of fine wine. The party was so good, that we don’t have a lot of pictures to prove it… As it is the case with any other great party…

Winners of the party photo contest

People Make QCerris Special

We mentioned our unique organizational culture, our transparent communication, and our versatile team activities, but are those elements really what makes QCerris such a unique environment?

The answer is not clear, however, the most credit goes to a fantastic group of people who work at QCerris, and who each contribute immensely to this company through their skills, knowledge, great personality, and willingness always to learn more. 

We are continuously trying to make the best possible environment, where every potential, talent, and work ethic can be nurtured and recognized.

Happy New Year, and Stay Rooted in Excellence!

QCerris

]]>
Python MVF: Most Valubale Frameworks https://qcerris.com/python-mvf-most-valubale-frameworks/ Mon, 28 Nov 2022 13:00:00 +0000 https://qcerris.com/?p=210 Comparing python frameworks: Django, Flask, and FastApi

When developing a web application with Python, there is always the debate about which framework to use. While it’s true that you can create your own framework, it is recommended to use some previous existing framework supported and maintained by big communities, to reduce security risks, save time on repetitive tasks, manage databases, serialize/deserialize objects, create APIs, and more. In this article, we explore three important web frameworks in the Python ecosystem: Django, Flask, and FastAPI.

Django

‍One of the primary goals of Django is to make it easy to develop complex database-driven websites. It is used by some of the giant websites like Instagram, National Geographic, Spotify, and Pinterest. 

Advantages of Django:

– Django will automatically track security breaches and enable the security firewall against most of the major cyber-attacks (SQL injection, cross-site request forgery, etc). It comes with multiple specifications, for example, URL dispatchers, ORM, a relational database, and a web templating system. The core of this framework is based on MVC architecture.

– Django also has a powerful toolkit for building Web APIs. It is called Django REST. It is fully customizable and has great community support, it also has a built-in API browser for testing endpoints. Django with rest framework provides the facility of authentication and permission rules with the framework.

Disadvantages of Django:

– Django is generally not recommended for smaller projects.

– The process of development using Django framework may take longer compared to using more lightweight Python frameworks as more available functionality introduces comparatively more complexity

– A developer needs to find a minor code set from a massive database of complex codes to accomplish smaller tasks. This makes the development slower and more complex.

Flask

Flask is a microframework because of no requirement of any particular library or tools in the web development with it. Common functionality is provided by pre-existing third-party libraries.

The primary goal of the flask framework is to develop lightweight applications with lower features in an easy and fast way.

Advantages of Flask:

‍- It is a simple and forgiving framework that can help less experienced developers produce solutions efficiently when the task in front of the developers is not too complex.

‍- Flask is an incredibly flexible framework. You can add changes at almost any step of the development process.

‍- Flask offers a modular set of codes that make it possible to develop multiple web applications and servers. This can be distributed over a massive network, with each individual handling a specific task, which makes flask great for developing light web-based applications.

‍- Unlike other monolithic applications, the flask-developed application is much more scalable.

Disadvantages of Flask:

– The Flask framework has a limited set of tools available, hence a developer may need to look for tools in other libraries and use several extensions to accomplish a project.

– Flask uses Modules, which means that it is more prone to security breaches. It also has no CSRF protection. To address this issue, developers often use the Flask-WTF extension to enable CSRF protection. 

– Using Flask for big applications can be incredibly time-consuming. It is better to use it for simple and innovative cases rather than for big projects that require complex features and fast development time.

FastAPI

FastAPI is a modern, fast and robust framework that helps build APIs with python 3.6+ versions

According to Github, FastAPI is one of the fastest  Python frameworks for development available. It is built to optimize the development experience so that a team can write simple code to build effective APIs.

Advantages of FastAPI:

– FastAPI is based on the open standards for APIs: JSON Schema, Open API, and OAuth 2.0.

– FastAPI helps in validating the datatype from the developer even in nested JSON requests.

– It offers an autocomplete specification that helps developers to accomplish Python-based web applications more effectively and in less time.

– FastAPI supports asynchronous code out of the box using the async/await keywords. The asynchronous code allows a significant reduction in the execution time.

– FastAPI makes it easy to build a GraphQL API with a python library called graphene-python.

– Open API, Swagger UI, and ReDoc come packed automatically with FastAPI. As a result, all documentation is automatic.


Disadvantages of FastAPI:

During the development process, you need to tie everything together in the FastAPI application. As a result, the main file can become too crowded.

As FastAPI is a relatively new framework, its community is smaller than Django and Flask communities. For FastAPI there are fewer community guidelines and information available.

Example of FastAPI documentation:

                                        Swagger:

                                         ReDoc:

Conclusion

Each of the three exposed frameworks has great capabilities, strengths, and also disadvantages. Our recommendation is analyzing for each new project, which is your requirements, how much time you have for developing a minimum viable product, or how you will handle scalability. 

Django is the best option for big projects that need to scale, it is a robust and mature framework. Flask is great for smaller and lightweight services, whereas Django can be a waste of time due to its complexity, setting up a Flask application can be done in minutes, while Django it could take hours. It is important to note that even with Django Python development is still often considered comparatively simple and fast when compared to alternatives such as Java/Spring. While FastAPI seems like a great project, it has not been in the market for a long time, and community support is still not as mature as that of Django and Flask. At this moment, we recommend exploring and using Fast API for smaller projects, centered around APIs, for example, APIs supporting OpenAPI, which is not a native feature of Django or Flask.

There is no such thing as a “perfect framework”. Everything is relative to the project. Deadlines, team skills, and specific project requirements need to be considered before choosing a framework. Knowing the difference between the available tools out there could be a game-changer for your organization, so choose wisely the best option for each situation your team faces. Of course, QCerris experts would be happy to be your guide on those journeys.

]]>
Less is More: Starting out with Python https://qcerris.com/less-is-more-starting-out-with-python/ Mon, 07 Nov 2022 12:57:00 +0000 https://qcerris.com/?p=204 Introduction to Python

Python is a general-purpose language, designed to be easy to write and read, based on a simple syntax. That makes it easy for people starting in the software industry, and good for teaching programming in school.

Its intrinsic beauty and minimalism make Python a great choice for solving complex problems and have attracted software engineers, data scientists, academic researchers, and artificial intelligence experts. It also has strengths in backend web development and scripting.

source: pexels.com

Advantages of Python

Python is a programming language that has a syntax very similar to the English language, making it very simple for developers to read and write code in it, even if they have not used python before.

Python’s standard library is vast, you can find all the required functions you need for almost any task. For example, for Data Science, Python has multiple libraries available to handle mathematical and scientific functions, such as TensorFlow, NumPy, Pandas, and so on.

Simple syntax and wide availability of libraries and frameworks such as Django make it a good choice for efficient and rapid code development. 

Python has an open-source license and is available to anyone for free, allowing you to easily distribute it.

Python can run on any machine, whether it’s Mac, Windows, Or Linux. This means that you can write and use Python code across different systems without making any changes to the code

source: pexels.com

Disadvantages of Python

Due to Python code mostly being interpreted from byte code and running on a virtual machine akin to Java, it is slower than C/C++, Go, and alike and it also may have higher memory usage.

Python is an excellent server-side programming language since it is powerful on both server platforms and desktops. However, one of the disadvantages of Python is mobile development. Python does not have many built-in mobile applications since it is memory inefficient and requires a significant amount of processing power.

Comparison between Python and other programming languages

Comparing programming languages is a difficult task, as many of them are designed to achieve different outcomes, and have different approaches and paradigms. With that in mind, let’s compare some well-known programming languages with Python.

vs Java

The main difference is that Java is a compiled and typed language, while Python is interpreted in runtime and dynamically typed. In general, Python has a lower run time and faster launch time, while Java has a faster run time and lower launch time.

Python has a lower entry point for newcomers and Java is harder to learn, due to its complexity, inherited from languages like C or C++. Learning Python is significantly faster than learning and mastering Java.

Both are reliable for projects of all sizes, including big corporate products.

On a practical level, Python will be less taxing on your organization in mostly in terms of developer resources.

Which should you use? A quick rule of thumb: use Python if you prioritize development speed; use Java if you value software stability.

vs PHP

These are very different languages on syntax and paradigm levels. Picking Python or PHP for your project highly depends on your requirements. Both languages are good for web development and have great web frameworks maintained by big communities (for example, Django for Python and Laravel for PHP).

We would recommend using Python for machine learning, data processing, and more complex problems.

PHP’s popularity has been decreasing, while Python’s popularity has been increasing over the years. That doesn’t make PHP a bad language, as many people say, and it’s being actively developed, releasing new versions, like Python. On a syntax level, if you prefer simplicity and beauty, pick Python; PHP syntax remembers more languages from the C or C++ family, similar to each other.

Which should you use? If you are starting a new project, we would recommend Python. Use PHP if your project requirements somehow force you into that.

source: pexels.com

vs Ruby

Both languages are great for web development, while Ruby is mainly used for the Web, Python is able to perform a wide range of tasks. These languages are different in paradigms and ways to solve problems.

Ruby’s popularity has been declining over the years, while Python’s popularity has been increasing. Regarding syntax, Ruby is more flexible, allowing developers to come up with more creative solutions, while Python’s philosophy is more about clear, simple, and direct solutions. 

Conclusion

source: pexels.com

Both languages share similarities: they run on the server side, are high-level languages, dynamically typed, general-purpose, cross-platform, mature, well-established, and used by big tech companies.

Which should you use? Unless you require Ruby, we would recommend going on with Python. You can do almost anything with Python, not the other way around. Python  has particular advantages over Ruby in areas such as data processing, machine learning, and scientific research.

]]>
The Beginner’s guide to IoT https://qcerris.com/the-beginners-guide-to-iot/ Mon, 18 Jul 2022 12:49:00 +0000 https://qcerris.com/?p=196 The future is IoT

“Smart” is a pronoun no longer reserved only for describing people. With new IoT technologies, your refrigerator, water heater, stove and vacuum cleaner, can also share this attribute with us, humans.

What makes these objects smart? Well, firstly, as they are connected to the internet,  you are able to control them much easier via a device such as a phone, laptop, or a tablet, giving you the opportunity to control the device settings remotely. For example, if you forgot to turn off your vacuum cleaner, you can do so from the comfort of your own office. You can program these smart devices to activate the lights when you enter a room, or to turn off the heating when the room reaches a set temperature. 

What are some common IoT use cases?

IoT devices are increasingly popular for personal users, as well as within various industries. This technology offers the possibility of interconnection and machine to machine communication, creating a web of devices that helps us manage work and chores easily.

Source: pexels.com

Smart Home Devices

When we think of IoT, one of the first things that comes to our mind is a voice control device, or other devices that help as control home attributes like temperature, lighting, entertainment systems, appliances, and alarm systems. These devices are the future of smart houses, and not only are they becoming important in everyday life, they are also impacting the real-estate market. Smart homes are in demand, and their resale value is higher, compared to a regular house. 

Healthcare

Medical IoT devices offer personalized approaches to healthcare. Some examples are fitness bands, blood pressure and heart rate monitoring cuffs, and glucometers. These devices can help health conscious people monitor their health parameters and work as a positive reinforcement for healthy habits. For example, the fitness app can reward you with positive points if you complete your daily cardio. 

Smart City

These devices are the future of urban living, allowing citizens to be active members of society. IoT can greatly contribute to environmentally friendly policies and behavior, as we could have more information about the waste management, air quality and pollution etc. Analyzing the information gathered through IoT, local governments can make better evidence-based policies concerning the pressing issues in the community.

Smart Cars

The future of smart, self-driving cars is just around the corner. Smart cars can already share information and improve our driving experience, and these IoT devices improve incredibly fast. Using highly sophisticated machine learning algorithms, smart cars are the driving force of the transportation industry innovation.

Smart Warehouses

In the Amazon-dominated world, where customers expect fast delivery around the world, smart warehouses are becoming a necessity.  They can increase productivity and efficiency of the business, automating many manual aspects of work. Using smart warehouse solutions, it is easy to keep track of all objects, orders and shipping.

What are pros and cons of IoT?

Source: pexels.com

Machine-to-Machine Communication

Imagine this scenario: while you are cooking your favorite food in the kitchen, the smart stove is communicating it with your a.c., cooling down the room. Or, your smart lock sends you a notification that somebody tried to enter the house without permission. These are just some simple examples of M2M communication, which also has important applications in the industry, and it increases productivity and efficiency.

Big Data Collection and the ability to predict

Through gathering data, such as activity, inventory tracking etc., IoT devices improve the efficiency of the system. Big data is analyzed to generate new opportunities and predict everything: from customer behavior, to stock control. Using our devices in homes and schools, we gather more personal data and more predictive techniques can be applied to improve our quality of life.

The Future for Urban Living is Smart

Smart city is not yet a buzzword, it is an opportunity to better use our urban resources. For example, we could have more information about the traffic, electricity use, water usage and air quality, and our home devices could inform us about recent changes, so we can quickly adapt. For example, if there is a problem with the air quality in the city, our smart air purifiers could automatically start working, to prevent future respiratory issues. Or, the neighborhood that spends the least amount of water per month could be rewarded by the city, as the most eco-friendly and water conscious community. This would allow communities to contribute to green goals and get rewarded. 

So as the pros of the IoT technologies are evident, what are the biggest challenges users and companies alike are facing?

Source: pexels.com

Privacy issues

IoT devices gather large quantities of useful information through various types of sensors: temperature, pressure, motion, image, proximity, qatar quality and chemical sensors, etc. These sensors are connected to the cloud, where the data is stored and used to indicate the IoT device action. However, there were exemples in the past where big corporations, such as Google and Amazon, had privacy breaches of data collected from users of IoT devices. Alexa and Siri were examples of this problem,as there were breaches of private data that was gathered from these devices, such as private conversations, or shopping preferences. The question of privacy still remains, who has access to the cloud, and how is the information being processed? Is it possible to make IoT devices and clouds more privacy-oriented?   

Security issues

Software vulnerabilities and cyberattacks can be a problematic aspect of IoT. More importantly, the security issues are even more dangerous and magnified if they happen in the industry-context. For example, a security attack on the hospital IoT devices could endanger the health of numerous people. On a personal use level, the problems could be very serious too, as a malicious person, or an organization could violate your smart lock and prevent you from entering in your own house, or hack your smart stove and cause a fire. Even though these examples are drastic, they could happen, and that is why more work needs to be done to ensure the future safety of IoT devices.

Conclusion

Beyond Siri and Alexa, the number of IoT devices is increasing, and International Data Corporation (IDC) estimates that there will be 41.6 billion IoT devices in 2025, capable of generating 79.4 zettabytes (ZB) of data. The data we generate will continue to grow, and will pose a tremendous challenge. The best question is not only how can we safely process the huge amount of data, but also, who has the authority to do so. In the meantime, people continue to benefit from the IoT technology, saving energy, money and time to do meaningful work.

Source: pexels.com

Sources:

https://infohub.delltechnologies.com/l/edge-to-core-and-the-internet-of-things-2/internet-of-things-and-data-placement#:~:text=The%20Internet%20of%20Things%20(IoT,zettabytes%20(ZB)%20of%20data.

https://www.apriorit.com/dev-blog/513-iot-security

https://www.rochesterrealestateblog.com/smart-home-technology-impacted-real-estate/

]]>
Gamification in Fintech: Is It Still Relevant? https://qcerris.com/gamification-in-fintech-is-it-still-relevant/ Fri, 01 Jul 2022 12:39:00 +0000 https://qcerris.com/?p=186 Gamification 101

Learning how to invest in complex financial markets can appear daunting: how can you know if you made the right decision by looking at all these mundane charts and tables? Do you really need to be a blockchain expert so you can reap the benefits of cryptocurrencies? 

This is where the concept of gamification comes into play. It simply means to use game design elements outside of a video-game context. Video-games are an inspiring arena of entertainment and user engagement that can teach us a lot about successful attention grabbing strategies. So, why not use those elements to the fintech’s advantage?

Source: pexels.com

The Financial Sector: Before and After Fintech

As a popular approach across industries, recently utilized in fintech, gamification is radically changing the reputation of the financial sector, making it more approachable to non-experts, youth and financial actors from all over the world. Since the 1960’s and the proliferation of publicly available information on financial markets, this area has become more accessible to the general public. Visualization of financial data and publishing it in traditional media, played an important role in democratizing financial knowledge

Later, during the internet boom in the early 2000’s, it furthered the change in the financial sector, reaching out to an incredible number of potential clients and potential investors. All of the sudden, people had incredible access to different financial services, from saving and insurance options, to taking a mortgage, or investing.

Source: pexels.com

Nowadays, when we have a proliferation of data in general, data-fatigue can develop as a result of an extensive amount of information that we cannot carefully process and deduce which portion is relevant, and which is not. That is why now, it is more important than ever to organize the data in an engaging way, that is going to hold the attention of users, and that will clearly provide additional value compared to unorganized chunks of financial information scattered across the internet. 

The new and innovative fintech industry is doing exactly that, utilizing technological advancement such as different software and hardware tools to make a meaningful change in customer experience. 

The fintech future is Millenial

When considering the pros of a gamified fintech product, it is important to think about Millennials, the generation that will soon become dominant in the financial market

Source: pexels.com

In general, they are considerably less interested in investment, than Gen X, or Baby Boomers and they have less trust in traditional institutions. It is crucial to understand that Millennials are digital natives, and that they thrive in a digital environment, rejecting traditional wealth management of financial activities, such as directly investing in stocks through a third person.  

Millennials are also a generation that got a bad reputation as a “distracted generation ”, that has a shorter attention span and that reads books three times less compared to older generations.

Furthermore, they are also very critical towards traditional financial institutions, as they perceive themselves to have less opportunities to move across the economic classes, and they are more focused on short-term solutions. All these factors come into play when we discuss the pros of gamification, which has a goal to simulate the exciting and thrilling environment of video-games in finances. 

Learn to play, play to learn 

The gamifying options are limitless, and they progressively erase the boundaries between play and financial activity. Gamification does not only have an entertainment value, it clearly offers us educational potential, as well as possibilities to reach more users and to engage them in financial activities

Source: pexels.com

There are two forms of learning through gamification in fintech apps:

Duolingo Style

Way of learning progressively about a subject, and getting rewards as you proceed through the content. For instance, you can employ an engaging feature of high score and implement it in an app that helps you save money, so users can be rewarded when they don’t buy that avocado toast or fancy gadget outside of their budget. The app could also have informative materials teaching the user how to be more financially responsible and create a long-term saving strategy. 

Learning by Simulation

This is especially used in fintech projects dedicated to improving financial literacy. For example, you can help  high school students understand how to invest money by letting them enjoy the virtual trading simulation, where they can compete with their classmates. 

Gamification in fintech: pros and cons

Pros:

Increasing users’ motivation and engagement

You will be surprised, but the most research in the area of gamification is actually researching its effects in education. Results? Overwhelmingly positive, demonstrating the power of gamification in motivating learners to achieve better results. The most commonly used affordances are points, badges, and tasks and challenges, allowing users to track their progress and to be active in the pursuit of knowledge and skills. 

Innovative approach to learning

Who has decided to start learning a foreign language with the help of a green owl named Duo? Millions of users worldwide, who fell in love with this app, that gives them free language lessons, quizzes, games, and quirky reminders not to miss their daily goals. This app is praised as an app that brought gamification to the mainstream of language learning and assessment. Many educational fintech apps are teaching younger generations about investment, saving, and budgeting. A good example is Investmate or World of Money, both of which successfully use gamification elements providing users immense educational value. 

Democratizing knowledge 

Many gamified fintech apps and platforms are free to use, just one download away from use. How does that affect our access to knowledge? Well in many ways, it has a potential to reach people from different backgrounds, providing them quality knowledge. You don’t need to have a business degree anymore to be in charge of your business account, and you can learn a lot about house budgeting just one click away. Gamification makes the content not only more fun, but also more understandable, and that is especially important when the users are children or youth. 

Source: pexels.com

Cons:

Decrease in intrinsic motivation

Psychologists define intrinsic motivation as a motivation that comes from a general and honest interest in a subject, or an activity, where the learner finds the meaning and joy in learning. On the other hand, extrinsic motivation comes from external rewards, or lack of them, the best example being a student who is studying solely to pass a test, not being motivated to learn for the higher purpose of bettering his/her knowledge. Sometimes, getting so many rewards, badges and other simulations can diminish the natural process of learning, that also faces failure and boredom. 

Gamification features are time consuming to make

Any software development company knows that gamifying an app takes extra effort and time, than traditional instructional design. This does not only pertain to development itself, but also for additional resources, such as music and sound effects, as well as visual animations and content making the game more diverse and audio-visually appealing. If a fintech company wants to incorporate gamification in the app, it needs to consider the financial cost of development, and its potential ROI for the product as a whole. 

Poorly designed gamification elements backfire

Since gamification is not something new, and users had some experience with it, they have a high set of expectations. If an app is not thoughtfully designed, using the gamification elements with a clear purpose, it could appear rather dull, or in the worst scenario, it could even backfire in terms of the engagement. Gamification should never be considered separately from its purpose, the design and functionality. 

To Gamify or Not?

To conclude, gamification can be a powerful strategy to popularize the financial services, to educate the users and to let them experience the market in an entertaining manner. Although it has some downsides, when used with caution and with a clear idea to promote user engagement, it could help users demystify the financial industry, and use that knowledge for their own advantage. However, in fintech, we must always keep in mind that the user is the king, and before any development or app release occurs, we need to do thorough user experience research, so we can really know how our users are feeling. 

Sources: 

Eric K. Clemons & Lorin M. Hitt, 2000. “The Internet and the Future of Financial Services: Transparency, Differential Pricing and Disintermediation,” Center for Financial Institutions Working Papers 00-35, Wharton School Center for Financial Institutions, University of Pennsylvania.

Majuri, Jenni & Koivisto, Jonna & Hamari, Juho. (2018). Gamification of Education and Learning: A Review of Empirical Literature..

Arjen van der Heide & Dominik Želinský (2021): ‘Level up your money game: an analysis of gamification discourse in financial services, Journal of Cultural Economy, DOI: 10.1080/17530350.2021.1882537

https://www.wired.com/story/power-and-pitfalls-gamification

]]>
Working from Home vs. Remotely: Why not Both? https://qcerris.com/working-from-home-vs-remotely-why-not-both/ Sun, 01 May 2022 07:04:00 +0000 https://qcerris.com/?p=176 The Choice Is Yours

Do our employees love working remotely? Absolutely! At QCerris, we care about our employees’ preferences and needs. They can choose when they work and where they work, as long as they deliver great results. In practice, some teammates come to the office everyday, enjoying a vibrant office atmosphere, others choose to come on occasion, especially on Barbecue Thursdays, and some work from home entirely. It is up to them to choose what works best for them!

At QCerris, we are a big believer in remote and hybrid work, simultaneously striving to make our offices a peaceful and friendly base, where our employees can always go and work side by side with their colleagues.

What are the biggest reasons our employees choose to work hybrid or remotely?

Source: pexels.com

1. Location Independent

QCerris knows no boundaries as we recruit people from all over the world. That means that our employees can live their best lives at the place they choose to call home, all while being a part of the QCerris family. This is especially convenient for our teammates who prefer living in a smaller city, or a village, where there is no opportunity to make a brick and mortar office. However, gathering together for team building activities several times a year brings us together!

2. Work-life balance


We want our QCerris crew to be happy at work, and we take this goal seriously. Although our company is tech-driven, and led by engineer master-minds, our HR team is regarded as just as important, as they take care of our employees, make innovative projects, organize events, and make sure that everybody feels welcome, safe and in a great environment to thrive. We take mental health seriously, and we encourage our employees to seek support, or guidance. We also know that our employees are living interesting lives, have families, travel, enjoy social activities, so we have a rule when it comes to work: no to working overtime unless urgent, no to taking work home, no to disrupting your private life!

3. Preferred work environment

Work environment is not just an office, or a Zoom meeting, it is a whole QCerris experience. From a selection phase, to being promoted to senior positions, each step of the path is tailored to specific needs of a person, and we avoid any strict and imposed hierarchies. No matter if you are a CEO, or a cleaning lady, at QCerris you will be treated with respect. Our company’s structure is rather horizontal, with the emphasis on personal growth, learning from colleagues with more experience and working in diverse teams. Each of our employees has a couch, a person with considerable work experience, that is there to answer any concerns regarding the future career trajectory, or help employees solve a work related problem.

‍Why and How Do We Work?

Working from home is not a privilege anymore, it is slowly, but surely becoming an industry standard. The covid-19 pandemic made companies challenge their “working from home” productivity fears, accelerating the workplace transformation. With more companies working remotely, we have an increasing amount of data that can help us settle the heated debate about remote work productivity.

Source: pexels.com

Different Models of Remote Work

First thing first, not all remote work models are created equally! We will give our attention to the following:

Fully remote

The company does not have a permanent location, and all employees are working remotely. This could be done asynchronously, so they do not work at the same time, or synchronously, meaning employees have working hours.

‍‍

Hybrid

The name says it all, this model combines working at the office and remote work. Depending on the company, or the employees’ preferences, some employees work mostly remotely, only coming to the office occasionally, and some do the other way around. This model encompasses all different kinds of arrangements, and the emphasis is on flexibility.

‍‍

Partially remote work

For this model, the company clearly defines the remote vs. the office days. Depending on the preference of the company, there are two main variations: office first and remote first. Unlike the hybrid model where employees have an important role in defining their work location, in this model, the management of the company makes the final decision.

At QCerris, we work hybridly, allowing employees to choose if and how often they want to come to the office, or if they want to work completely remotely.

Source: pexels.com

Productivity at home vs. at the office

Working from home during the pandemic became the “new normal” out of necessity, and it is important to note that most organizations did not plan this: they did not prepare for this. The result is millions of employees who are new to working from home being lost at the beginning, with no clear direction, expectations, sometimes even with no quiet place to work. This “experiment” reorganized how we perceive private vs. professional life, and it blurred the lines between work and free time.

What are the main productivity challenges when working remotely?

We have all been there: washing the dishes, or vacuuming while muted on a meeting.

Source: pexels.com
‍‍

1. Private life co-existing with professional

So instead of blaming people for using time wisely and multitasking, at QCerris, we make meetings short, efficient and engaging, with a clearly defined purpose. Our teammates are therefore fully present and contributing to the meeting’s topic, and after the meeting is done, we love taking a couple of extra minutes to share cute pictures of our children, pets, or funny outfits.

2. Time management

Our policy has always been simple. We don’t need fancy productivity tools to know if the job is done. If you are present and active in meetings, finishing your tasks on time and communicating smoothly with the team and the client, it is completely up to you how you organize your working day. Therefore, employees can manage their time according to their needs, and preferences. We let our night owls or morning persons stay the way they are!

‍3. Feeling isolated

This is a tough one. People are social creatures, and Jira, Zoom and Skype aren’t exactly a natural habitat. When QCerris teammates feel tired from remote paradise, they have an opportunity to come and work from one of our offices, and reconnect with the crew. The best part is that you will be completely taken care of! We will cover the trip and the accommodation, and make sure that you enjoy your office stay!

To Office, or Not to Office?

The answer is simple: you choose! Hybrid work has proven the best model for QCerris employees, as everybody has the freedom to take advantage of the optimal working environment they want to have. Whether it is the beach, the living room, or an office, our employees are thriving, and for us, it is the only thing that counts!

Source: pexels.com

]]>