At Ruma, we always challenge ourselves
to learn new technology
and apply it to create impact at scale.


Mobile and Front End Engineering

To go beyond framework is the challenge for our mobile and front end engineers.

Our target market, who’s new to Android, typically own entry level device. They have limited memory, CPU, space, and even unstable network connectivity. As mobile engineer in Ruma, we need to balance between speed of development and high quality, light-weight app as our end-product; we use various technology, including Android Studio and Ionic framework. To understand our customer better, we use Flurry mobile analytics. Meanwhile, our front end engineers answer the challenge by building the solution on Python using Flask framework, implementing Hazelcast to increase the performance of our system. Last but not least, we’re still maintaining our very own SMS gateway to serve those who’s still transacting over SMS.


Back End Engineering

Now, everybody deserves secure, fault tolerant, highly scalable, distributed transaction system.

With all the limitation our market has on their devices, we need to centralize most of the computing power on our back-end system. With our load of transaction, our engineers is demanded to produce more than just working algorithm; speed and efficient use of computing resources does matter for us. Our back end engineers implementing the solution on Python using Django (or*) Flask framework. We also use various technology on our stack, including RabbitMQ, Celery, Swagger, MySQL, and* PostgreSQL
* choosing right framework/ technology on the right time does matter as well


Platform Engineering

Simply put, help other engineers to work more efficiently

Engineers also deserve better support. At Ruma, Platform Engineering Team support our engineers so that they could work more effectively and efficiently. We achieve this by building common, reusable sub-system or components on Python using Django framework and MySQL database. We also monitor our app performance by utilizing ELK stack. Moreover, we’re also starting to implement automatic deployment and explore various technology, including Ansible, Docker, and Vagrant.


Quality

We’re Quality Team - Not Tester

Serving people at the bottom of the pyramid doesn’t mean that we can compromise quality. We believe everybody deserve best possible quality. Our quality team is required to understand the business process, not limiting themselves in the system they need to test. On execution level, we do all means of testing, from black box to white box testing; manually, writing our own scripts, as well as using available tools, including Selenium. Our feedback for the system is integrated to our engineering process workflow which is well-tracked in Jira.


Data Engineering

From Data to Insights

With various range of products we offer, we know our customers’ behaviour, starting from their airtime purchase, bill payment habit, including physical goods orders. To some this just mere data, but for us, this could translate to way to serve them even better. We start our baby steps on MySQL Workbench, creating reporting on BIRT, and start implementing Business Intelligence using SpagoBI.