- Chi tiết công việc
- Giới thiệu công ty
Mô tả công việc
People-first
Teamwork over one's work
Problem Solving Centric
The Job
The position
We're the team behind projects like BI tool , database diagram tool , and open-source project . 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 to improve maintainability and extensibility, following . This also follows the pattern of "" with the gems being mostly functional/stateless code and engines handle the imperative/stateful part of the app.
By using 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 , which are then executed using Sidekiq on top of Redis.
[protected info] 3.0 with TypeScript is our framework of choice for front-end development. To deal with displaying huge amount of data, we build sophisticated, custom Vue components that lazily render the data. Since many complex computation are done on the front-end, we also use Web workers to decouple those computation from the main rendering thread. This enables smoother user experience while also decouples computation from rendering logic.
What you'll work on here
Here are some interesting engineering projects that have been going on inside Holistics
- Create a new query language that compiles to SQL
- Build front-end component that can render hundreds of thousand of data points
- Build custom, interactive visualization components on top of open source technology
- Create a domain specific language as part of a semantic layer to represent analytics logic
- Build a text-based database for analytics metadata on top of Git
- Build a web-based IDE for data analysts to explore and develop analytics logic
- Design and build a natural language interface for business users to explore data and view dashboards
The way we work
We follow Spotify squad model. Our team is split into 4 squads, each (5-7 members) consists of engineers, product managers & designers working closely together.
How we work on a new feature:
- Product & Design Team spends time research the problem, talk to customers and prepare Product Discovery Doc (PDD) and Product Requirement Doc (PRD).
- Engineering Team then performs a Technical Research. When we have a fairly good picture of the complexity and impact, we'll start with the implementation.
We avoid being a . We're aware more features do not equal better product.
We do not compromise product and code quality for artificial deadline. We refactor and think about code optimization regularly. We understand the good and bad of technical debt and use them to our advantages.
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 .
We maintain a problem-solving culture. Everyone is strongly encouraged to have rigorous understanding of a problem, separating as well as using to find the most important dimensions of a problem. Solutions are deliberated over with trade-offs explicitly listed in discussion documentation. Watch that our cofounder gave (in Vietnamese)
Our culture stimulates continuous learning:
- We let team members rotate every 3-6 months. This allows them to try new things and learn different aspects of the business.
- We have a where team members present topics they are interested in.
- Engineering Team organizes as well as monthly technical workshops.
- Product Team has regular AMA events with external product experts
Your Skills and Experience
What we look for in you
Here's our idea of a good team member fit:
- You should have a strong foundation in Computer Science with good problem-solving ability.
- Experience with our technology stack not required: While it's a bonus, it's not a requirement for you to be familiar with our current technical stack. We expect you to be able to pick up these quickly on the job.
- You should be someone with a continuous learning & growth mindset. You find yourself excited to learn something new as part of the work every week.
- Communications: Given we have a strong writing culture, you should be comfortable with communicating your ideas in English written forms.
- Genuine interest in the space: We'd love to work with people who are genuinely interested in the product and the space we're in, someone who cares about the end-product beyond just writing the code that makes it work.
Interview Process
- Round 1: Technical interview with the Engineering team (understand your skills and experiences)
- Round 2: Either System Design interview or takehome assignment (offline - deadline 3 days, will be sent after Round 2)
- Round 3: Culture & Behavior Interview
Compensation and Benefits
Compensation
- 13-month salary; annual compensation reviews
Benefits:
- Flexible working arrangement, hybrid work (WFO+WFH) policies
- 24/7 healthcare insurance; periodic medical checkup.
- Annual budget for personal and professional growth, well-beings and interest cultivations.
- 14 annual leaves, 14 sick leaves, child-care leave policy.
- Weekly happy hours. Annual company trip and company-organized events
- Workstation: Macbook/Laptop Grant, Mechanical Keyboard, 27-inch monitors
Why You'll Love Working Here
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 to improve maintainability and extensibility, following . This also follows the pattern of " with the gems being mostly functional/stateless code and engines handle the imperative/stateful part of the app.
By using 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 , which are then executed using Sidekiq on top of Redis.
[protected info] 3.0 with TypeScript is our framework of choice for front-end development. To deal with displaying huge amount of data, we build sophisticated, custom Vue components that lazily render the data. Since many complex computation are done on the front-end, we also use Web workers to decouple those computation from the main rendering thread. This enables smoother user experience while also decouples computation from rendering logic.
The way we work
We follow Spotify squad model. Our team is split into 4 squads, each (5-7 members) consists of engineers, product managers & designers working closely together.
How we work on a new feature:
- Product & Design Team spends time research the problem, talk to customers and prepare Product Discovery Doc (PDD) and Product Requirement Doc (PRD).
- Engineering Team then performs a Technical Research. When we have a fairly good picture of the complexity and impact, we'll start with the implementation.
We avoid being a . We're aware more features do not equal better product.
We do not compromise product and code quality for artificial deadline. We refactor and think about code optimization regularly. We understand the good and bad of technical debt and use them to our advantages.
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 .
We maintain a problem-solving culture. Everyone is strongly encouraged to have rigorous understanding of a problem, separating as well as using to find the most important dimensions of a problem. Solutions are deliberated over with trade-offs explicitly listed in discussion documentation. Watch that our cofounder gave (in Vietnamese)
Our culture stimulates continuous learning:
- We let team members rotate every 3-6 months. This allows them to try new things and learn different aspects of the business.
- We have a where team members present topics they are interested in.
- Engineering Team organizes as well as monthly technical workshops.
- Product Team has regular AMA events with external product experts
Benefits:
👨🏼💼 Training & career developments
- Weekly TED talks to expand skills and knowledge.
- Yearly budget to support personal and professional growth, well-beings and interest cultivations.
🌏 Competitive salary and benefits
- 24/7 Healthcare Insurance, Periodic Medical Checkup.
- Salary regular reviews, 13-month Bonus.
💕 Awesome company policies
- A flexible work culture, Regular reviews, Remote policy.
- 14 Annual leaves/year, 14 Sick leaves/year, Children care leave policy.
- Weekly happy hours. Company trip and company-organized events.
🏢 Workstations provided for maximum productivity
- MacBook (or Laptop) Grant
- Mechanical Keyboard + Razer Mouse
- Big-screen monitor(s)
🌐 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.
Learn more:
Yêu cầu
Quyền lợi
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 to improve maintainability and extensibility, following . This also follows the pattern of " with the gems being mostly functional/stateless code and engines handle the imperative/stateful part of the app.
By using 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 , which are then executed using Sidekiq on top of Redis.
[protected info] 3.0 with TypeScript is our framework of choice for front-end development. To deal with displaying huge amount of data, we build sophisticated, custom Vue components that lazily render the data. Since many complex computation are done on the front-end, we also use Web workers to decouple those computation from the main rendering thread. This enables smoother user experience while also decouples computation from rendering logic.
The way we work
We follow Spotify squad model. Our team is split into 4 squads, each (5-7 members) consists of engineers, product managers & designers working closely together.
How we work on a new feature:
- Product & Design Team spends time research the problem, talk to customers and prepare Product Discovery Doc (PDD) and Product Requirement Doc (PRD).
- Engineering Team then performs a Technical Research. When we have a fairly good picture of the complexity and impact, we'll start with the implementation.
We avoid being a . We're aware more features do not equal better product.
We do not compromise product and code quality for artificial deadline. We refactor and think about code optimization regularly. We understand the good and bad of technical debt and use them to our advantages.
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 .
We maintain a problem-solving culture. Everyone is strongly encouraged to have rigorous understanding of a problem, separating as well as using to find the most important dimensions of a problem. Solutions are deliberated over with trade-offs explicitly listed in discussion documentation. Watch that our cofounder gave (in Vietnamese)
Our culture stimulates continuous learning:
- We let team members rotate every 3-6 months. This allows them to try new things and learn different aspects of the business.
- We have a where team members present topics they are interested in.
- Engineering Team organizes as well as monthly technical workshops.
- Product Team has regular AMA events with external product experts
Benefits:
👨🏼💼 Training & career developments
- Weekly TED talks to expand skills and knowledge.
- Yearly budget to support personal and professional growth, well-beings and interest cultivations.
🌏 Competitive salary and benefits
- 24/7 Healthcare Insurance, Periodic Medical Checkup.
- Salary regular reviews, 13-month Bonus.
💕 Awesome company policies
- A flexible work culture, Regular reviews, Remote policy.
- 14 Annual leaves/year, 14 Sick leaves/year, Children care leave policy.
- Weekly happy hours. Company trip and company-organized events.
🏢 Workstations provided for maximum productivity
- MacBook (or Laptop) Grant
- Mechanical Keyboard + Razer Mouse
- Big-screen monitor(s)
🌐 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.
Learn more:
Thông tin chung
- Thu nhập: 1000 - 4000
Cách thức ứng tuyển
Việc làm tương tự
Giải thưởng
của chúng tôi
Top 3
Nền tảng số tiêu biểu của Bộ
TT&TT 2022.
Top 15
Startup Việt xuất sắc 2019 do VNExpress tổ chức.
Top 10
Doanh nghiệp khởi nghiệp sáng tạo Việt Nam - Hội đồng tư vấn kinh doanh ASEAN bình chọn.
Giải Đồng
Sản phẩm công nghệ số Make In Viet Nam 2023.