Frontend Engineer

Frontend Enginering

Icon salary Salary
1,000 - $2,000
Icon Location Location
Ho Chi Minh


Others Others
Salary review Salary review
Travel/company trips Travel/company trips
Laptop/desktop for works Laptop/desktop for works
Extra health insurance Extra health insurance
13th month salary 13th month salary
Flexible working time Flexible working time
Work-from-home policy Work-from-home policy

Job Overview And Responsibility

The position - We’re the team behind projects like BI tool Holistics, database diagram tool, and open-source project We’re looking for another front-end 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 a flexible, hybrid WFH/WFO setup. Our application’s architecture To get a taste of what 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 front end side, 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 that computation from the main rendering thread. This enables a smoother user experience while also decoupling computation from rendering logic. Most of our “as-code” features operate in dual modes: code-mode and UI-mode. The code is for technical-savvy users, while the UI mode is for those who prefer a more intuitive start. To support these features, we have developed our own compiler and a web-based editor, similar to a lightweight version of VSCode, both of which are optimized for performance in the browser environment. While we use the word frontend, it encompasses both the conventional frontend aspects as well as the “backend of the frontend”. This includes elements like frontend architecture, designing data structures to enable complex visualizations, and packaging components to reuse them across various product lines. On the backend side, Holistics is built using Ruby on Rails as the main web framework. Unlike the standard Rails project structure, we modularize the code base into local gems and engines to improve maintainability and extensibility, following a modular monolith pattern. This also follows the pattern of “Functional core, imperative shell with the gems being mostly functional/stateless code and engines handling the imperative/stateful part of the app. By using Sorbet to add static typing on top of Ruby, we ensure that most of our Ruby code has an annotated type signature. This not only reduces a whole swath of common bugs that plague 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, which is then executed using Sidekiq on top of Redis. What you’ll work on here Here are some interesting frontend projects that have been going on inside Holistics: - Build a web-based IDE for data analysts to explore and develop analytics logic - Build a grid-based dashboard as-code - Create custom, interactive visualization components leveraging open-source technologies like Vega-Lite - Build a new design system and seamlessly integrate it across existing and new product lines. - Develop front-end components capable of rendering hundreds of thousands of data points efficiently - Perform ongoing audits and monitoring to optimize front-end performance, focusing on speed and user experience. - Develop and optimize a (CI/CD) pipeline specifically for front-end development to enhance the Developer Experience (DX) - Design and build a natural language interface for business users to explore data and view dashboards - Create a domain-specific language as part of a semantic layer to represent analytics logic - 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: - Product & Design Team spends time researching the problem, talking to customers, and preparing Product Discovery Doc (PDD) and Product Requirement Doc (PRD). - Engineering Team then performs Technical Research. When we have a fairly good picture of the complexity and impact, we’ll start with the implementation. - We do not compromise product and code quality for an artificial deadline. 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. - We maintain a problem-solving culture. Everyone is strongly encouraged to have a rigorous understanding of a problem, separating Problem Space vs Solution Space, as well as using Eigenquestions 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 that our cofounder gave (in Vietnamese). - We avoid being a feature factory. We’re aware more features do not equal a better product. - We let team members rotate every 3-6 months. This allows them to try new things and learn different aspects of the business. Our culture stimulates continuous learning: - We have a weekly TED talk program where team members present topics they are interested in. - The Engineering Team organizes weekly technical talks as well as monthly technical workshops. Product Team has regular AMA events with external product experts

Required Skills and Experience

- 1 - 3 years of experience in building front-end components. - You should have a profound interest in the front-end domain. You deeply care about the user experience and building high-performance front-end components. - Strong experience in data structure and algorithms. - 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.

Why Candidate should apply this position

Compensation - 13-month salary; annual compensation reviews - Stock options (ESOP) for high-contributing team members Benefits: - Flexible working arrangement, hybrid work (WFO+WFH) policies - 24/7 healthcare insurance; periodic medical checkups. - Annual budget for personal and professional growth, well-being, and interest cultivation. - 14 annual leaves, 14 sick leaves, and a child-care leave policy. - Weekly happy hours. Annual company trips and company-organized events - Workstation: Macbook/Laptop Grant, Mechanical Keyboard, 27-inch monitors Working Time: from Monday – Friday, from 9.00 a.m. to 6.00 p.m. Work Location: 457 Nguyen Dinh Chieu, District 3, Ho Chi Minh City

Preferred skills and experiences

- Having experience in the similar industry is preferred.

Report to

Tech Lead

Interview process

R1: Pair-coding (system design), R2: Technical Interview (Optional), R3: Culture & Behavior fit

Tony Nguyen

Headhunter | Recruiter
employee 5035 candidates
cup 676 interviews
health 41 offers

Apply for this job


Thank you, you have sent the information successfully.

← View more Tony Nguyen's jobs
upload Click or drag file to this area to upload PDF only (3MB), You can update only 1 CV

Tony Nguyen

Headhunter | Recruiter
Icon employee 5035 candidates
Icon cup 676 interviews
Icon health 41 offers

Completed jobs (41)
  • 22/07/2024 05:08 AM
    Check Placement for Front-end Developer
  • 24/06/2024 04:47 AM
    Check Placement for Office Manager
  • 10/01/2024 09:59 AM
    Check Placement for Creative Director (Video Content Lead – Fiction)
  • 08/01/2024 07:52 AM
    Check Placement for Promo Producer (Writer)
  • 04/12/2023 11:22 AM
    Check Placement for Senior Python Engineer (Full-time remote)
  • 20/10/2023 08:23 AM
    Check Placement for Freelance Senior Marketer
  • 19/10/2023 07:56 AM
    Check Placement for Creative Director (Video Content Lead – Fiction)
  • 01/09/2023 08:56 AM
    Check Placement for Endpoint Security Engineer (1-year contractor)
  • 15/08/2023 07:53 AM
    Check Placement for Credit Control Executive
  • 11/07/2023 03:55 AM
    Check Placement for Technical Lead
  • 30/06/2023 04:03 AM
    Check Placement for Performance Marketing Specialist
  • 25/05/2023 08:46 AM
    Check Placement for Finance Executive (Consolidation) - role 2
  • 03/04/2023 03:22 AM
    Check Placement for Head Trainer
  • 13/03/2023 08:39 AM
    Check Placement for Data Scientist
  • 17/10/2022 02:21 AM
    Check Placement for #Senior Mobile Developer
  • 03/10/2022 02:30 AM
    Check Placement for Marketing Lead (Full-time remote)
  • 06/09/2022 07:12 AM
    Check Placement for Technical Solution Sales
  • 25/07/2022 03:17 AM
    Check Placement for Senior Fullstack Developer (.NET Core) - Open remotely 100%
  • 01/07/2022 07:33 AM
    Check Placement for Investor Relations Manager
  • 02/06/2022 09:50 AM
    Check Placement for Chief Technology Officer
  • 04/05/2022 09:54 AM
    Check Placement for Phó phòng Telesales
  • 14/03/2022 07:34 AM
    Check Placement for QA/QC Tester (Part-time)
  • 11/02/2022 03:11 AM
    Check Placement for Graphic Designer
  • 07/10/2021 03:24 AM
    Check Placement for Game Designer (Full-time Remote)
  • 05/10/2021 03:47 AM
    Check Placement for Motion Designer (Full-time Remote)
  • 05/10/2021 03:42 AM
    Check Placement for Full Stack NodeJS (MERN Stack) (Full-time Remote)
  • 27/08/2021 09:53 AM
    Check Placement for Chief Accountant
  • 23/08/2021 02:30 AM
    Check Placement for Frontend Developer (Full-time Remote)
  • 16/08/2021 12:00 AM
    Check Placement for Front-end developer (Freelance remote)
  • 10/08/2021 12:00 AM
    Check Placement for Data Scientist (Full-time Remote)
  • 09/08/2021 12:00 AM
    Check Placement for Performance Marketer
  • 02/08/2021 04:57 AM
    Check Placement for #Senior React Native Developer
  • 17/07/2021 12:00 AM
    Check Placement for Web Designer (Freelance)
  • 12/07/2021 12:00 AM
    Check Placement for Senior QA Engineer
  • 12/07/2021 12:00 AM
    Check Placement for Business Analyst
  • 01/07/2021 12:00 AM
    Check Placement for Senior Angular Front-end Developer
  • 01/07/2021 12:00 AM
    Check Placement for Product Owner
  • 07/06/2021 12:00 AM
    Check Placement for Senior Java Developer
  • 05/04/2021 12:00 AM
    Check Placement for Sales Admin Supervisor
  • 01/12/2020 12:00 AM
    Check Placement for Assistant
  • 04/11/2020 12:00 AM
    Check Placement for Kỹ sư Thủy lợi
View More
View Less