Bài đăng nổi bật của cộng đồng GDE: Nishu Goel

Nishu Goel là kỹ sư web nổi tiếng ở Ấn Độ, Chuyên gia phát triển của Google về Angular và các công nghệ web. Cô ấy chia sẻ với chúng tôi về sự tham gia của mình với cộng đồng, kế hoạch nghề nghiệp và những cách tốt nhất để học cách phát triển web.

Monika Janota
Monika Janota

Nishu trên sân khấu.

Nishu Goel là kỹ sư web nổi tiếng ở Ấn Độ. Chuyên gia phát triển của Google phụ trách các công nghệ web và Angular, chuyên nghiệp có giá trị nhất của Microsoft. Cô là tác giả của Step by Step Angular Routing (BPB, 2019) và A thực hành Guide to Angular (Educative, 2021) cũng như là tác giả của chương JavaScript Web Almanac 2021. Nishu hiện làm việc tại epilot GmbH với vai trò là kỹ sư hệ thống công nghệ toàn diện. Cô ấy chia sẻ với chúng tôi về sự tham gia của mình với cộng đồng, kế hoạch nghề nghiệp và những cách tốt nhất để học cách phát triển web.

Monika: Hãy bắt đầu từ câu chuyện của bạn. Điều gì đã truyền cảm hứng cho bạn trở thành nhà phát triển và đảm nhận vai trò tích cực trong các cộng đồng nhà phát triển?

Nishu: Tôi nhận bằng cử nhân khoa học máy tính, chúng tôi đã nghiên cứu về cấu trúc dữ liệu và đó là nơi bắt đầu mối quan tâm đến lĩnh vực lập trình. Trong năm thứ ba làm kỹ thuật, tôi đã tạo dựng được mối gắn kết với cộng đồng các nhà phát triển nhờ việc tôi tham gia cuộc thi Microsoft think Cup Nationals, nơi chúng tôi trình bày các giải pháp thông qua mã nguồn. Ý tưởng của ứng dụng mà chúng tôi xây dựng là mang lại cơ hội giáo dục cho học sinh địa phương, đặc biệt là nữ sinh. Tôi đã gặp được những người truyền cảm hứng, cả các thí sinh và nhà tổ chức trong hành trình này.

Năm 2018, sự nghiệp chuyên nghiệp của tôi khởi sắc và tôi bắt đầu làm việc với Angular. Angular trở thành công nghệ chính kết nối tôi với chương trình GDE. Trong khoảng thời gian đó, tôi bắt đầu viết các bài đăng trên blog và tạo nội dung xoay quanh chủ đề tôi đang học và nghiên cứu . Dhananjay Kumar đã giúp tôi bắt đầu hành trình này và đảm bảo giữ cho tôi đi đúng hướng. Các bài viết đầu tiên của tôi đề cập đến những khái niệm cơ bản của Angular. Không lâu sau khi tôi bắt đầu diễn thuyết tại các sự kiện – sự kiện đầu tiên là ngNepal, Hội nghị Angular của Nepal. Nhờ đó, có nhiều lời mời diễn thuyết hơn về Angular và công nghệ web.

Nishu và những người khác đến từ Ấn Độ.

Monika: Bạn có kinh nghiệm chuyên môn về công nghệ không?

Nishu: Trong hai năm đầu tiên, Google tập trung vào các thành phần web và Angular. Tôi từng sử dụng Angular để xây dựng trang web, nhưng chẳng bao lâu sau tôi quyết định đi xa hơn thế nữa và khám phá các lĩnh vực khác. Tôi không muốn giới hạn bản thân trong trường hợp tôi phải chuyển đổi dự án. Đó là cách tôi bắt đầu tạo các thành phần web trong Angular để sử dụng trong các khung khác.

Điều đầu tiên tôi làm là tạo các thành phần web bằng Angular. Tôi đã xuất bản nó lên npm và sử dụng nó làm bản minh hoạ trong dự án React. Tôi đã thảo luận về chủ đề này trong một số buổi trò chuyện và bài thuyết trình sau này. Công việc tiếp theo của tôi là dùng React và Typescript. Vì tôi đang làm việc với React nên không chỉ sử dụng một khung mà còn sử dụng cả web nói chung. Tại thời điểm đó, tôi đã tìm hiểu nhiều về web, đặc biệt là hiệu suất web. Đó là lúc tôi phải bắt đầu suy nghĩ về Thời gian hiển thị nội dung đầu tiên (LCP) hoặc Thời gian hiển thị nội dung đầu tiên (FCP), nghĩa là thời gian tải ứng dụng hoặc thời gian tối đa để trang hiển thị. Tôi đã nỗ lực chọn các phương pháp hay nhất và cải thiện hiệu suất cho các ứng dụng.

Do mối quan tâm đến hiệu suất web này, tôi đã tham gia vào Niên giám web và viết chương JavaScript. Web Almanac là một báo cáo hằng năm về tình trạng web nói chung. Báo cáo này cho chúng tôi biết cách mọi người đang sử dụng các tính năng khác nhau. Năm ngoái 8,6 triệu trang web đã được sàng lọc, dữ liệu đã được phân tích và trình bày trong báo cáo. Báo cáo này bao gồm các số liệu thống kê như việc sử dụng các thuộc tính asyncdefer trong phần tử <script>. Số lượng trang web đang sử dụng đúng cách, có bao nhiêu trang web không dùng tính năng đó và bao nhiêu trang web cải thiện được những tính năng đó so với năm 2020. Báo cáo gần đây nhất của Niên giám web đã đề cập rằng khoảng 35% trang web sử dụng hai thuộc tính trên cùng một tập lệnh, đây là hành vi chống mẫu, làm giảm hiệu suất. Điều này đã được chỉ ra vào năm ngoái. Năm nay, chúng tôi cố gắng xem liệu tình hình có cải thiện hay không. Tôi cũng đã nói chuyện tại ngConf và Hội nghị Nhà phát triển đáng tin cậy, nơi tôi tập trung vào hiệu suất của web.

Ấn bản in của Niên giám web.

Monika: Bạn cũng tham gia rất nhiều vào việc hỗ trợ cộng đồng. Gần đây, bạn làm tình nguyện cho một tổ chức phi chính phủ của Uganda YIYA. Quá trình này bắt đầu từ đâu và điểm chính của sự hợp tác đó là gì?

Nishu: Nhóm GDE bắt đầu quá trình thông báo cho chúng tôi về cơ hội tham gia tình nguyện tại YIYA. Tổ chức phi chính phủ Uganda đang tìm các kỹ sư để hỗ trợ họ chuẩn bị nội dung hoặc các tính năng kỹ thuật. Mục đích của chương trình này là hỗ trợ trẻ em trong độ tuổi đi học ở Uganda và mang đến cho trẻ cơ hội giáo dục bằng cách sử dụng những công nghệ sẵn có tại địa phương, không phải máy tính hay sách giáo khoa, mà là những chiếc điện thoại và đài bàn phím cơ bản. Trẻ sẽ gọi một số điện thoại cụ thể và nhận một tập hợp thông tin, gọi một số khác để biết thêm thông tin chi tiết, v.v. Giải pháp này càng trở nên hữu ích hơn trong thời gian đại dịch.

Vì luôn đóng góp cho cộng đồng và các mục tiêu phát triển bền vững nên tôi quyết định liên hệ với nhóm này. Sau cuộc họp với nhóm YIYA, tôi đã đề nghị hỗ trợ về các tập lệnh Python hoặc mọi lỗi họ gặp phải, mọi vấn đề với cổng thông tin. Chúng tôi đã làm việc cùng nhau trong một khoảng thời gian ngắn.

Monika: Bạn có kế hoạch gì cho năm 2022? Có điều gì mà bạn đang tập trung cụ thể vào không?

Nishu: Tôi sắp chuyển việc và chuyển đến một quốc gia khác. Nói chung, tôi sẽ làm việc trên web bằng cách sử dụng Golang để cải thiện hiệu suất của trang web cũng như phần phụ trợ. Tôi sẽ tiếp tục tập trung vào lĩnh vực hiệu suất web vì lĩnh vực này rất thú vị và phức tạp, cũng như có nhiều điều cần hiểu và tối ưu hoá. Ngay cả bây giờ, sau khi tôi dành rất nhiều thời gian cho công việc đó, tôi vẫn còn rất nhiều điều cần tìm hiểu. Ví dụ: tôi muốn hiểu rõ việc sử dụng CDN cho tài nguyên hình ảnh sẽ giúp tôi cải thiện ứng dụng nhanh hơn như thế nào. Tôi muốn trở thành chuyên gia về hiệu suất trang web—Tôi đang dần đạt được mục tiêu đó, tôi tin tưởng lắm :)

Monika: Bạn có đề cập rằng ngay khi chưa thành chuyên gia, bạn mới bắt đầu viết những gì mình học. Bạn sẽ đưa ra lời khuyên gì cho các nhà phát triển mới bước vào lĩnh vực này và cảm thấy họ không có điều gì để chia sẻ?

Nishu: Đó chính xác là cảm giác của tôi khi bắt đầu viết. Tôi nghĩ có lẽ tôi không nên đăng nội dung này lên thì sao? Có thể sai rồi? Tôi lo rằng bài viết của mình sẽ không giúp ích cho người đọc. Nhưng điều quan trọng là việc viết của tôi đã giúp ích cho tôi. Sau một thời gian, tôi thường quên mọi thứ rồi quay lại những thứ mình đã viết trước đó. Viết mọi thứ ra là một ý tưởng hay.

Cuốn sách Angular định tuyến trên bàn.

Vì vậy, tôi sẽ đề xuất tất cả mọi người — hãy viết, ở bất kỳ giai đoạn nào. Ngay cả khi bạn chỉ hoàn thành một phần của khoá học, bạn vẫn đang học bằng cách viết ra phần đó. Thông tin bạn biết vào một thời điểm nào đó có thể hữu ích cho những người khác chưa biết thông tin đó. Bạn không cần phải là chuyên gia. Việc viết thư sẽ giúp ích cho bạn. và bất cứ ai, ở bất kỳ giai đoạn nào trong sự nghiệp.

Monika: Tốt nhất là nên theo dõi những người vừa học điều gì đó vì họ biết tất cả những điều họ phải tìm hiểu. Khi đã trở thành một chuyên gia, bạn sẽ khó nhớ được cảm giác lúc đó khi mới bắt đầu. Và có lời khuyên nào cho người mới bắt đầu phát triển web không?

Nishu: Nhiều người hỏi họ nên chọn khung làm việc nào khi bắt đầu, nhưng tôi nghĩ đó không phải là câu hỏi phù hợp. Bất cứ điều gì chúng ta đang tìm hiểu ở bất kỳ thời điểm nào cũng sẽ hữu ích ở giai đoạn sau. Tôi khuyên mọi người hãy bỏ những giới hạn và bắt đầu bằng HTML hoặc JavaScript—điều đó sẽ có lợi nhuận trong tương lai.

Và sau đó hãy nắm bắt bất cứ cơ hội nào xuất hiện trước mắt bạn. Chuyện này xảy ra khi tôi tình cờ xem được thông tin về Niên giám web tìm tác giả. Tôi nghĩ: "Ồ, thật thú vị, điều này có thể giúp ích cho mọi người về mặt hiệu suất". Đó là cách tôi trở thành trưởng nội dung của chương JavaScript và tôi đã dành sáu tháng để viết ra chương trình này. Vì vậy, tôi nghĩ rằng điều quan trọng là phải nắm bắt cơ hội và làm việc chăm chỉ.

Monika: Bạn có dự đoán hay ý tưởng nào về tương lai của công nghệ web nói chung không? Chủ đề nổi bật tiếp theo sẽ là gì? Những công ty nào sẽ phát triển nhanh chóng?

Nishu: Tôi rất thích việc chúng tôi có thể chạy máy chủ trong các trình duyệt. Đây là một bước tiến vượt bậc. Ví dụ: việc chạy Node.js trên trình duyệt mới ra mắt gần đây, trong khi trước đây, chúng tôi không thể chạy Node.js nếu không cài đặt Node.js trong hệ thống của mình. Giờ đây, chúng ta có thể làm mọi việc từ trình duyệt. Đây là một bước tiến lớn trong hệ sinh thái web. Và OMT – Tránh khỏi chuỗi chính. Việc xử lý các luồng cũng sẽ được cải thiện nhiều. Web hội đang phát triển và cho phép các nhà phát triển làm được điều đó. Tôi nghĩ đó là tương lai của hệ sinh thái web.