Để mở đầu một loạt bài viết “giàu” technical đến từ các Engineer của Got It, mình xin được đưa đến các bạn một vài insight (hay còn gọi là tin tình báo) về team Front-end engineer.
Đôi lời về tác giả, mình là Erico, một thành viên của team Front-end làm việc tại Got It Việt Nam. Sau hơn một năm lăn lộn với các sản phẩm và tích luỹ được một số kinh nghiệm, (đồng thời tạo được mối quan hệ tốt với team branding) nên cuối cùng mình đã có cơ hội được viết một bài suýt technical thế này. Các bạn hãy đọc và cùng trao đổi nhé!
Thông qua việc trả lời một số câu hỏi hay gây hoang mang dư luận về việc làm Front-end nói chung và làm Front-end tại Got It nói riêng, mình (tin rằng) sẽ giúp các bạn thấy được làm Front-end rất thú vị và không hề nhàm chán, đặc biệt là Front-end ở Got It!
1. Làm Front-end là ngồi code HTML/CSS?
Theo Udacity: “Front-end developers are responsible for a website’s user-facing code and the architecture of its immersive user experiences. In order to execute those objectives, front-end devs must be adept at three main languages: HTML, CSS, and Javascript programming”.
Mình tạm dịch là Front-end Developer thì chuyên ngồi làm giao diện. Nhưng đấy là mình 1 năm trước, còn hiện tại thì mình đã có một khái niệm khác cho Front-end Engineer tại Got It:
“Front-end Development là việc xây dựng những ứng dụng, thành phần giao diện, logic liên quan đến giao diện người dùng trong một hệ thống hay một sản phẩm công nghệ”.
Team Front-end không đơn thuần là ngồi code HTML/CSS, mà chúng mình sẽ build lên những Single Page Web Application chứa rất nhiều logic phức tạp nhằm đáp ứng được những yêu cầu về business của sản phẩm. Với những sản phẩm chủ yếu xây dựng bằng ReactJS cùng với hệ sinh thái NodeJS, Front-end developer cần thuần thục Javascript, React và rất nhiều công nghệ liên quan như Redux, webpack, và cả… Back-end để tạo ra được những Web App phức tạp, đáp ứng được những yêu cầu nghiệp vụ (business requirements) cũng phức tạp không kém từ phía Product Manager (PM).
Chia sẻ một chút, trước đây mình cũng hay tự làm project cá nhân bằng HTML/CSS thuần. Nhưng từ khi vào Got It, khả năng đấy của mình sa sút đi hẳn, vì Got It có cả một team siêu nhân làm phần HTML/CSS, còn team Front-end thì tập trung vào xử lý những logic oái oăm.
(Team này là ai thì mình sẽ bật mí ở các câu trả lời sau đây!)
2. Làm Front-end là làm web?
Như mình nói ở trên, bất kể khi nào sản phẩm cần những phần tử giao diện, hay logic liên quan đến tương tác với người dùng, thì team Front-end sẽ nhảy vào giải quyết.
Sản phẩm của Got It có web app? Team Front-end sẽ xây dựng web app bằng React. “Chúng ta sẽ làm một con chrome extension cho Excelchat”, anh Founder thông báo vào một ngày đẹp trời. Và chỉ vài tuần sau, extension đã có trên Chrome Web Store. Hay Got It cần xây dựng một Mac Application? Team Front-end sẽ xắn tay lên học và làm 1 app bằng Electron + React (thậm chí còn nhúng cả Python service vào).
Mỗi khi có nhiệm vụ gì mới là Front-end sẽ ngồi họp với các team khác, với “ông Google” để tìm cách. Và bùm, một tech stack mới rất có thể sẽ được team Front-end sử dụng! Nhưng thế không đồng nghĩa với việc học hổ lốn mỗi thứ một tí, không chuyên sâu đâu nhé. Để có thể hoạt động một cách linh hoạt như vậy, các Front-end Engineers đều phải nắm chắc và tuân thủ chặt chẽ những kiến thức, kỹ năng về Javascript, React, architectural pattern như Redux, Single Page Application (SPA) và Routing v.v.. Chính vì vậy mà tất cả Engineer tại Got It dù mới làm việc hay đã gắn bó lâu dài thì vẫn luôn phải học tập mỗi ngày, và đều có lộ trình phát triển cụ thể sau mỗi lần Performance Evaluation.
Bạn muốn biết cách team Front-end tại Got It vận hành và xây dựng nên “bộ mặt” của các sản phẩm như Excelchat, Querychat, Expert for Powerpoint? Hãy đọc ngay phần 2 sau đây nhé!
Like!! I blog frequently and I really thank you for your content. The article has truly peaked my interest.