fbpx
Native X
ĐĂNG KÝ HỌC THỬ MIỄN PHÍ NGAY

Các Công Cụ Giúp Nghề Kỹ Sư Phần Mềm Làm Việc Hiệu Quả

Là một lập trình viên, việc ưu tiên các công cụ lập trình rất quan trọng, vì chúng chính là chìa khóa giúp bạn đạt được mục tiêu của mình. Kỹ năng lập trình thì cần thiết , nhưng lựa chọn được các công cụ phù hợp có thể nâng cao được những kỹ năng đó và dẫn đến những thành công lớn hơn trong lĩnh vực của bạn. 

Trong bài viết dưới đây, tôi sẽ chia sẻ các công cụ mà mình sử dụng hàng ngày để tăng năng suất của bạn thân. Những công cụ này hỗ trợ tôi trong các nhiệm vụ khác nhau, bao gồm tài liệu, wireframing, phát triển, thử nghiệm, gỡ lỗi và nghiên cứu. 

Tôi đã sắp xếp các công cụ thành ba danh mục: quản lý tác vụ, phát triển và tài liệu. Đừng đắn đo mà hãy cùng nhau đi sâu vào những công cụ này ngay sau đây nha. 

Các công cụ quản lý tác vụ: Giúp mọi thứ được ngăn nắp

Đối với một nhà phát triển phần mềm, việc sắp xếp các nhiệm vụ rất quan trọng, không quan trọng bạn đang lập kế hoạch cho tháng này, tuần này, hoặc chỉ ngày hôm nay. Việc viết tất cả các nhiệm vụ của bạn xuống giấy sẽ giúp bạn nhìn thấy mình đang làm gì. Hai công cụ chủ yếu được tôi sử dụng cho mục đích này là: Notion và Linear. 

Notion 

Khi bạn là một kỹ sư phần mềm, bạn thường cần sắp xếp công việc của mình, ghi chú nhanh chóng hoặc thậm chí là viết tài liệu ngay lập tức. Notion là một công cụ tuyệt vời cho mục đích này. 

Notion cho phép tôi sắp xếp suy nghĩ của mình, lập kế hoạch nội dung và lên lịch làm việc dễ dàng. Template calendar rất dễ sử dụng, bạn có thể thay đổi nó theo ý thích của mình và có thể thêm nhiều chi tiết như nhãn để theo dõi các nhiệm vụ của mình. Tôi sử dụng Notion để lên kế hoạch cho nội dung của mình.

Notion

Notion cũng rất phù hợp cho những người làm việc theo nhóm có thể theo dõi nhiệm vụ của mình. Tuy nhiên, công cụ tiếp theo mà tôi sắp đề cập sẽ còn đơn giản hơn nữa để quản lý các nhiệm vụ phát triển phần mềm. 

Tôi thực sự không thích việc di chuyển các ticket hoặc dành quá nhiều thời gian cho các báo cáo ticket. Công cụ này làm cho những nhiệm vụ đó trở nên dễ dàng hơn và nhiều lập trình viên tôi biết cũng thích sử dụng nó hàng ngày. Đó là lý do tại sao tôi muốn giới thiệu đến các bạn công cụ Linear.

Linear

Tôi đã thử sử dụng các công cụ như Trello hoặc Jira trước đó nhưng chúng không phù hợp với tôi cho lắm. Trello quá giản đơn và không có nhiều tính năng, trong khi Jira có nhiều tính năng nhưng lại phức tạp trong việc sử dụng (ngay cả Issue board của GitLab cũng có vẻ tốt hơn). 

Sau đó tôi phát hiện ra Linear, một ứng dụng có thể nói là được tạo ra cho các lập trình viên như chúng tôi. 

Linear giúp dễ dàng tự động hóa quy trình làm việc của bạn và tích hợp cùng các công cụ khác mà không làm mọi thứ phức tạp lên. Và nó thực sự rất đáng để sử dụng:

Linear có thể giúp bạn tự động cập nhật các ticket dựa trên những gì đang xảy ra với các thay đổi hoặc tiến triển PR/MR của bạn. 

Nó cũng là một giải pháp hay để dễ dàng sao chép tên của một nhánh. 

Chế độ trên Linear tối nên rất dễ nhìn. 

Phím tắt giúp di chuyển trong ứng dụng nhanh chóng. 

Nó nhanh và dễ sử dụng. 

Với Linear, tôi không mất nhiều thời gian cho việc quản lý công việc nên tôi có thể tập trung hơn vào việc lập trình. 

Chúng ta vừa đi qua một vài công cụ giúp chúng ta quản lý các tác vụ, giờ là lúc tôi sẽ chia sẻ đến bạn một vài công cụ mà tôi sử dụng cho tài liệu. 

Các công cụ tài liệu: Đây chính là cột sống của công nghệ phần mềm 

Tài liệu là một trong những điểm cốt lõi của kỹ thuật phần mềm, đến mức người ta thường nói rằng các lập trình viên giỏi thường dành nhiều thời gian viết tài liệu hơn là viết code. Nó phục vụ cho nhiều mục đích khác nhau, từ lập kế hoạch và tạo giả thuyết đến theo dõi hiệu suất, hướng dẫn người dùng và nếu ra chi tiết các tính năng hoặc lỗi. 

Ở đây, tôi sẽ chia sẻ các công cụ tôi sử dụng cho tài liệu, từ việc viết văn bản đến tạo đồ họa. 

Obsidian 

Mặc dù Notion là một công cụ tuyệt vời và nhiều người có thể tự hỏi tại sao nó không phải là công cụ chính của tôi cho mục đích tài liệu, tôi nhận thấy rằng Notion nghiêng thiên về ghi chú nhiều hơn. Mặc dù các tiện ích của Notion nâng cao khả năng của nó, nhưng gần đây tôi vẫn cần một công cụ ngoại tuyến đơn giản để sắp xếp các ý tưởng và liên kết chúng một cách hiệu quả. Obsidian vượt trội trong lĩnh vực này, vượt qua Notion về việc tạo liên kết ngược và tổ chức các ý tưởng.

Obsidian

Obsidian cung cấp một bộ tính năng đầy đủ cho việc ghi chú và quản lý kiến thức. Biểu đồ kiến thức của nó thể hiện trực quan các kết nối ghi chú, tạo điều kiện cho việc tìm hiểu sâu các thông tin. Hỗ trợ markdown đầy đủ cho phép định dạng linh hoạt. 

Chức năng ngoại tuyến của ứng dụng đảm bảo nó có thể sử dụng được mà không cần kết nối internet, và các tính năng khác như kiểm tra chính tả, hỗ trợ API, và khả năng xuất bản ghi chú dưới dạng trang web hoặc sử dụng các mẫu để nổi bật các cấu trúc ghi chú đồng nhất.

Obsidian

Tôi chủ yếu sử dụng Obsidian để sắp xếp các ghi chú của mình. Sau khi sắp xếp xong, tôi sẽ chuyển chúng sang Notion để chia sẻ, vì Obsidian thiếu khả năng chia sẻ và đồng bộ hóa. Mặc dù vậy, Obsidian vẫn là công cụ tài liệu ưa thích của tôi hơn Notion. 

Tuy nhiên, Notion và Obsidian chỉ có thể giúp bạn viết tài liệu. Vậy còn hình ảnh thì sao? Hãy cùng tìm hiểu qua Excalidraw nha. 

Excalidraw 

Việc chuyển sang làm việc remote (từ xa) đã khiến tôi nhớ lại sự đơn giản của việc tư duy với một cây bút và bảng trắng. Khi thiếu đi từ ngữ, hình ảnh có thể là cầu nối giúp thu hẹp khoảng cách với trong việc hiểu những ý tưởng phức tạp. 

Excalidraw tái tạo trải nghiệm bảng trắng bằng kỹ thuật số, rất hữu ích cho việc vẽ sơ đồ hoặc minh họa nhanh chóng để bổ sung cho tài liệu. Dưới đây là một ví dụ về sơ đồ mà tôi đã tạo để làm rõ vòng đời của các thành phần React.

Excalidraw 

Các công cụ này tạo thành nền tảng cho việc thực hành ghi chép tài liệu của tôi khi với tư cách là một kỹ sư phần mềm. Tiếp theo, chúng ta sẽ khám phá các công cụ phát triển giúp nâng cao hiệu suất lập trình của tôi. 

Các công cụ phát triển (Dev tools)

Các công cụ phát triển của tôi đã thay đổi trong nhiều năm qua và với sự ra đời cũng như mức độ sử dụng trí tuệ nhân tạo trong thời gian gần đây, tôi phát hiện ra thêm nhiều công cụ có thể giúp tôi làm việc hiệu quả hơn với công việc của một kỹ sư phần mềm. Nhưng trước khi nói về các công cụ AI, hãy nói về các công cụ lập trình và kiểm thử. 

Tôi sử dụng công cụ Django, Next.js và đôi khi là Golang cho công việc kỹ sư phần mềm của mình. Tôi xây dựng các API phục vụ dữ liệu và/hoặc giao diện sử dụng những dữ liệu này, vì vậy việc viết mã và kiểm tra công việc của tôi là khá quan trọng. Và đây là lúc mà Jetbrains xuất hiện.

Các công cụ lập trình 

Jetbrains Jetbrains cung cấp các IDE mạnh mẽ giúp đơn giản hóa các nhiệm vụ lập trình đáng kể. Tôi hoàn toàn tin tưởng rằng họ tạo ra được những IDE tốt nhất cho các lập trình viên. Và sự thật rằng bạn có thể bắt đầu công việc viết code của mình ngay lập tức mà không cần cấu hình chính là một điểm cộng lớn. 

Đây là một trong những lý do khiến tôi ngừng sử dụng VsCode (sự thật là tôi vẫn sử dụng nó cho những dự án nhanh hoặc ít phức tạp hơn) vì tôi cần phải đồng bộ hoá mọi lúc trước khi đảm bảo rằng mình có thể bắt đầu công việc. Chẳng hạn như khi bắt đầu một dự án Next.js bằng Webstorm, tôi chỉ cần chọn các tùy chọn để chạy Eslint, không chỉ đẹp hơn sau mỗi lần lưu mà còn tự động cấu hình git hooks có thể thực thi trước khi viết một cam kết. 

IDE Webstorm cũng có một UI tuyệt vời để thực hiện dự án trong chế độ khắc phục sự cố (debug). Tôi cũng đã trải nghiệm nó trên Pycharm và Goland. Các IDE này rất tốt và dễ sử dụng. 

Đừng hiểu sai ý tôi nhé, VsCode thực sự mạnh về nhiều mặt nhưng chỉ khi nói đến các nhiệm vụ cơ bản mà không cần nhiều rắc rối hoặc cấu hình như: tìm kiếm, tái cấu trúc, các tác vụ Git (lấy, kéo, đẩy, quản lý PR/MR,…). 

Tôi muốn gửi lời khen ngợi đến nhóm Jetbrains đã tạo ra các công cụ mạnh mẽ như vậy. 

Kiểm thử: Insomnia, Postman 

Ban đầu, tôi sử dụng Postman để kiểm thử API vì nó có rất nhiều tính năng. Nhưng sau đó tôi chuyển sang Insomnia vì nó dễ sử dụng hơn và giữ mọi thứ đúng vị trí hơn. Vấn đề lớn của Insomnia là nó đã xóa tất cả công việc đã lưu của tôi khi buộc tôi phải tạo tài khoản để tiếp tục sử dụng.

Sau đó, tôi quay lại sử dụng Postman sau một năm. Postman không thay đổi nhiều, nhưng nó có một số tính năng mới và tốt hơn mà tôi thực sự rất thích. Tôi quay lại với Postman vì cảm giác như đây là một cái gì đó tôi đã biết nhưng đồng thời cũng có những tính năng mới. Insomnia dễ sử dụng, nhưng việc phải đăng nhập mỗi khi tôi mở laptop thực sự rất phiền phức. Nó khá là tuyệt đấy, nhưng chỉ vì lí do này mà tôi phải tìm kiếm công cụ khác. 

Bây giờ, tôi đang dùng thử Bruno, một công cụ mới mà tôi nghe nói đến. Bruno có tất cả các tính năng bạn muốn, như hỗ trợ cho websockets. Điều tuyệt vời là Bruno chỉ có giá $19 cho một lần thanh toán, đây có vẻ là một mức giá hời. Tôi muốn xem nó hoạt động tốt như thế nào đối với tôi và xem nó có tốt như những gì mà tôi được nghe hay không. Tôi khá là hào hứng và có thể sẽ đề cập nó ở các bài viết sau. 

Công cụ AI

Tôi thường sử dụng ChatGPT và Phind.ai để viết các bài báo kỹ thuật, gỡ lỗi và nghĩ ra các giải pháp. Mặc dù một số người có thể cảm thấy hoài nghi về những câu trả lời của chúng, nhưng tôi nhận thấy chúng có những nước đi khá bổ ích, bổ sung cho nghiên cứu của riêng tôi.

Phind.ai đặc biệt có giá trị trong việc cung cấp các liên kết để khám phá sâu hơn và cải thiện quá trình nghiên cứu.

Các công cụ AI khác như Copilot và Codium.ai tích hợp tốt với các trình soạn thảo và IDE phổ biến như VSCode, giúp nâng cao kỹ năng và năng suất của bạn.

Việc sử dụng hiệu quả AI trong lập trình đòi hỏi một hiểu biết rõ ràng về mục tiêu của bạn. Không khuyến khích người mới bắt đầu lập trình với AI mà không có hiểu biết vững chắc về các công nghệ cơ bản và kỹ năng giao tiếp rõ ràng. Khi bạn có những kỹ năng này, các công cụ AI có thể mang lại lợi ích đáng kể cho công việc của bạn. 

Kết Luận 

Đây là lần đầu tiên sau một thời gian dài tôi viết một bài viết không liên quan đến việc lập trình. Vì năng suất là một khía cạnh quan trọng của kỹ thuật phần mềm, tôi muốn viết thêm về các công cụ hoặc các chiến lược đã giúp tôi trở thành một kỹ sư phần mềm giỏi hơn. 

Nếu bạn có câu hỏi hoặc phản hồi về bài viết này, vui lòng chia sẻ chúng trong phần bình luận. Ý kiến của bạn giúp làm cho bài viết này trở nên tốt hơn cho tất cả mọi người. 

NativeX – Học tiếng Anh online toàn diện “4 kỹ năng ngôn ngữ” cho người đi làm.

Với mô hình “Lớp Học Nén” độc quyền:

  • Tăng hơn 20 lần chạm “điểm kiến thức”, giúp hiểu sâu và nhớ lâu hơn gấp 5 lần.
  • Tăng khả năng tiếp thu và tập trung qua các bài học cô đọng 3 – 5 phút.
  • Rút ngắn gần 400 giờ học lý thuyết, tăng hơn 200 giờ thực hành.
  • Hơn 10.000 hoạt động cải thiện 4 kỹ năng ngoại ngữ theo giáo trình chuẩn Quốc tế từ National Geographic Learning và Macmillan Education.

ĐĂNG KÝ NATIVEX

Tác giả: Mangabo Kolawole

Dịch: NativeX

Blog học tiếng anh

TRẢI NGHIỆM NGAY LỚP HỌC NÉN NativeX ĐỘC QUYỀN

Hãy cùng trải nghiệm Lớp Học Nén NativeX độc quyền với phương pháp IN DẤU được phát triển dựa trên nguyên lý Tâm lý học ngôn ngữ giúp tiếp thu tiếng Anh tự nhiên và hiệu quả.

HỌC THỬ MIỄN PHÍ NGAY!