We’re the team behind projects like BI tool Holistics [1], database diagram tool dbdiagram.io [2], and open-source project dbml.org [3]. We’re looking for another software engineer to help us build more awesome tools for data teams and developers.
This is a full-time position based in Ho Chi Minh City with flexible, hybrid WFH/WFO setup.
Our application’s architecture
To get a taste of how working with us is like, here are some insights into how our application has been built so far.
The Holistics app works by allowing data analysts to connect to their data warehouses and develop reusable “data models”. This allows non-technical users to use a friendly drag-and-drop interface to explore the data and build dashboards, without the need to bother their technical colleagues.
On the backend side, Holistics is built using Ruby on Rails as the main web framework. Unlike standard Rails project structure, we modularize the code base into local gems and engines [4] to improve maintainability and extensibility, following modular monolith pattern [5]. This also follows the pattern of “Functional core, imperative shell" [6] with the gems being mostly functional/stateless code and engines handling the imperative/stateful part of the app.
By using Sorbet [7] to add static typing on top of Ruby, we ensure that most of our Ruby code has annotated type signature. This not only reduces a whole swath of common bugs that plagues Ruby codebases but also significantly improves developer productivity through IDE/editor integrations.
We use PostgreSQL for our main production database due to its reliability and rich feature-set. We have built a custom job queue system on top of Postgres [8], which are then executed using Sidekiq on top of Redis.
Vue.js 3.0 with TypeScript is our framework of choice for front-end development. To deal with displaying huge amounts of data, we build sophisticated, custom Vue components that lazily render the data. Since many complex computations are done on the front-end, we also use Web workers to decouple those computations from the main rendering thread. This enables a smoother user experience while also decoupling computation from rendering logic.
Here are some interesting engineering projects that have been going on inside Holistics
The way we work
We follow Spotify squad model. Our team is split into 4 squads, each (5-7 members) consisting of engineers, product managers & designers working closely together.
How we work on a new feature:
We avoid being a feature factory [9]. We’re aware more features do not equal better product.
We do not compromise product and code quality for artificial deadlines. We refactor and think about code optimization regularly. We understand the good and bad of technical debt and use them to our advantage.
We employ “pair programming” practices regularly where two team members work on a task together in one workstation. This brings a great deal of benefits, among which are faster knowledge transfer, reduced bus factor, better team cohesion, and improved code quality.
We have a strong writing culture: Almost everything is communicated through written documents. Just as our developers write reusable codes, we write evergreen notes [10].
We maintain a problem-solving culture. Everyone is strongly encouraged to have rigorous understanding of a problem, separating Problem Space vs Solution Space [11] as well as using Eigenquestions [12] to find the most important dimensions of a problem. Solutions are deliberated over with trade-offs explicitly listed in discussion documentation. Watch this talk about problem-solving for engineers [13] that our cofounder gave (in Vietnamese)
Our culture stimulates continuous learning:
Benefits:
👨🏼💼 Training & career developments
🌏 Competitive salary and benefits
💕 Awesome company policies
🏢 Workstations provided for maximum productivity
🌐 Working time: From Monday – Friday, from 9.00 a.m. to 6.00 p.m.
🌐 Work location: Charmington La Pointe Building, 181, Cao Thang Street, District 10, Ho Chi Minh City, Vietnam.
What we look for in you
Here’s our idea of a good team member fit:
Interview Process
English
Speaking: Intermediate - Reading: Intermediate - Writing: Intermediate
Our product has helped improved data productivities of technology companies across the region (Singapore, Vietnam, Indonesia, Thailand, Malaysia, etc). Companies like Grab, Traveloka are our proud unicorn customers among other well funded start-ups such as Tech In Asia, 99.co, ShopBack, KFIT, Aviasales, etc. In Vietnam, we have The Coffee House, OnOnPay among others as customers.
ITJobs is founded in 2014 in Vietnam and the primary goal is grow to one of the leading specialists in recruitment and selection of IT staff in Asia.