5 Câu Chuyện Về Các Nhà Phát Triển Sử Dụng JetBrains Rider Để Sáng Tạo, Cộng Tác Và Tận Hưởng Niềm Vui Lập Trình

Một năm trước, chúng tôi đã giới thiệu gói giấy phép sử dụng phi thương mại miễn phí cho JetBrains Rider, với hy vọng xóa bỏ rào cản cho những nhà phát triển viết mã mà không có mục tiêu tài chính cho các dự án của họ. Gần đây, chúng tôi đã kêu gọi chia sẻ câu chuyện từ các bạn – vì tò mò muốn biết các bạn đã sử dụng Rider như thế nào trong suốt năm qua.

Những gì nhận được đã khiến chúng tôi vô cùng xúc động. Từ những lập trình viên học tự học tại bàn bếp, tự dạy mình phát triển đa nền tảng, đến những kiến trúc sư giàu kinh nghiệm tìm lại được tình yêu với lập trình như thuở ban đầu. Câu chuyện của các bạn đã nhắc nhở chúng tôi rằng những dòng code tuyệt vời nhất thường đến từ sự tò mò, chứ không phải từ thương mại. Dưới đây là năm trong số những câu chuyện đó.

Xây dựng board game kỹ thuật số với AI và Rider

Sự tò mò luôn là động lực thúc đẩy mối quan hệ của Anton Makarevich với công nghệ. Được đào tạo như một kỹ sư xây dựng, anh ấy tự học lập trình hoàn toàn vì niềm đam mê. “Tôi chưa bao giờ học khoa học máy tính,” anh nói. “Lập trình luôn là một sở thích. Tôi bắt đầu từ thời đi học, làm những trò chơi nhỏ và công cụ tự động hóa chỉ để giải trí.”

Cảm giác thử nghiệm đó không bao giờ rời bỏ anh. Ngày nay, Anton làm việc với tư cách là kiến trúc sư đám mây, thiết kế các giải pháp quy mô lớn trên AWS và Azure. Nhưng trong thời gian rảnh, anh vẫn quay về với cội nguồn bằng cách viết code vì niềm vui thuần túy. Dự án mới nhất của anh, MakaMek, là một bản chuyển thể kỹ thuật số của trò chơi board game cổ điển BattleTech mà anh yêu thích từ nhỏ. Thay vì sử dụng một engine game truyền thống, Anton quyết định xây dựng nó hoàn toàn bằng thư viện .NET và Avalonia UI – một quyết định được thúc đẩy bởi sự tò mò cũng như mong muốn thử thách bản thân.

“Tôi thực sự thích quá trình viết code. Trong các engine game như Unity hay Unreal, bạn chủ yếu kết nối các tài sản có sẵn. Tôi muốn xem mình có thể đi được bao xa khi tự viết mọi thứ.”

Anton Makarevich – Người tạo ra MakaMek, Kiến trúc sư đám mây

Nhưng MakaMek không chỉ đơn thuần là ôn lại niềm đam mê thời thơ ấu. Nó đã trở thành một sân chơi để khám phá vai trò của AI trong phát triển phần mềm. Anton muốn xem liệu một trợ lý lập trình AI có thể đóng góp một cách có ý nghĩa vào một dự án dài hạn mà không tạo ra sự hỗn loạn trong codebase hay không. “Ý tưởng là xem liệu AI có thể thực hiện hiệu quả các tác vụ lập trình cụ thể mà tôi giao cho nó hay không,” anh giải thích. “Một năm sau, code vẫn có ý nghĩa và tôi có thể thêm tính năng mới dễ dàng mà không làm hỏng bất cứ thứ gì – vì vậy tôi cho rằng đó là một thành công.”

Quy trình làm việc của anh trở thành sự cộng tác phức tạp giữa nhiều tác nhân AI và JetBrains Rider. Anh thường sử dụng AI để tạo đặc tả kỹ thuật hoặc code khung, nhưng sau đó dựa vào các công cụ refactoring của Rider để làm cho mọi thứ trở nên sạch sẽ, nhất quán và đáng tin cậy.

“Các tác nhân AI hoàn toàn có khả năng refactoring và đảm bảo code biên dịch được,” Anton nói. “Tuy nhiên, thường thì chúng mất nhiều thời gian hơn và tiêu tốn rất nhiều token trong quá trình đó. Các công cụ refactoring của Rider đơn giản là nhanh hơn trong việc mang lại kết quả đáng tin cậy và chúng có thể dự đoán trước được.”

Đối với Anton, Rider không chỉ là một IDE. Đó là môi trường giúp anh kết nối với tình yêu lập trình của mình. Với giấy phép sử dụng phi thương mại miễn phí, anh có thể tiếp tục khám phá niềm đam mê đó theo cách của riêng mình: “Đó là một cơ hội tuyệt vời để sử dụng các công cụ chuyên nghiệp ngay cả khi bạn chỉ đang thử nghiệm.”

Hiện tại, MakaMek vẫn là một dự án sandbox cá nhân, thỉnh thoảng Anton chơi thử cùng con trai. “Nó không nhằm mục đích phát hành thương mại. Các phiên bản mã nguồn mở tương tự đã tồn tại,” anh nói. “Đối với tôi, đó là việc giữ cho kỹ năng luôn sắc bén, tận hưởng niềm vui và nhớ lại lý do tại sao tôi bắt đầu lập trình ngay từ đầu.”

Viết tiểu thuyết – và code! – để kết nối

Đối với Fabio Scagliola, sự sáng tạo có nhiều hình thức. Anh là một kiến trúc sư phần mềm chuyên nghiệp, một tiểu thuyết gia đã xuất bản và một nhạc sĩ với bốn album mang tên mình. Nhưng dự án cá nhân mới nhất của anh, Nerdy Weird Words, kết nối tất cả những thế giới đó – một nền tảng kỹ thuật số được thiết kế để giúp các nhà văn chia sẻ bản thảo của họ một cách riêng tư với một nhóm độc giả đáng tin cậy.

Ý tưởng đến từ một sự bực bội đơn giản. Sau khi hoàn thành cuốn tiểu thuyết đầu tay, Fabio muốn nhận phản hồi từ bạn bè và đồng nghiệp viết lách mà không phải gửi đi gửi lại các tệp tin hoặc sử dụng các nền tảng công cộng.

“Tôi không thể tìm thấy thứ gì đạt được sự cân bằng phù hợp giữa quyền riêng tư và cộng tác. Bạn có thể sử dụng Google Docs, Reddit hoặc Reedsy, nhưng hoặc là quá công khai hoặc quá phụ thuộc vào hệ sinh thái doanh nghiệp. Tôi muốn một thứ gì đó thân mật, nơi bạn mời độc giả, trao đổi bình luận, nhưng vẫn giữ quyền kiểm soát.”

Fabio Scagliola – Người tạo ra Nerdy Weird Words, Kiến trúc sư phần mềm, Nhà văn, Nhạc sĩ

Vì vậy, anh quyết định tự xây dựng nó.

Anh chọn .NET cho backend và React cho frontend – và đương nhiên, JetBrains Rider là IDE của anh. Fabio đã khám phá ra các sản phẩm của JetBrains nhiều năm trước khi làm việc với các dự án Java và PHP, và đã yêu thích IntelliJ IDEA và PhpStorm trước khi quay trở lại với .NET. “Sau khi sử dụng IntelliJ IDEA, tôi không thể quay lại các IDE khác,” anh thừa nhận. “Vì vậy, khi tôi quay lại với công nghệ Microsoft, tôi đã chọn Rider.”

Fabio nhận thấy triết lý của Rider phù hợp với mình: giàu tính năng nhưng linh hoạt, tinh vi nhưng trực quan. “Các phím tắt rất hợp lý, quy trình làm việc tự nhiên và nó không phải là một ‘IDE nhà tù’ như một số IDE khác. Bạn có thể thích ứng nó với bản thân mà không mất đi cấu trúc,” anh nói.

Khi JetBrains công bố giấy phép miễn phí cho mục đích phi thương mại, đó là mảnh ghép còn thiếu cho dự án mới của anh. “Tại nơi làm việc, tôi sử dụng phiên bản thương mại thông qua công ty,” anh giải thích. “Nhưng cho các dự án cá nhân, tôi muốn một thứ gì đó hợp pháp và chuyên nghiệp trên máy tính xách tay của riêng mình. Tôi đã sẵn sàng trả tiền nếu cần, nhưng việc phát hiện ra giấy phép phi thương mại là một bất ngờ tuyệt vời.”

Rider thậm chí đã giúp Fabio khám phá lại sự lưu loát về kỹ thuật của mình. Sau nhiều năm tập trung vào kiến trúc, Fabio thừa nhận anh cảm thấy “hơi mất kỹ năng với .NET và C#.” Các gợi ý và cảnh báo của Rider, anh nói, “chắc chắn đã giúp tôi cải thiện một số phần code của mình.”

Đối với Nerdy Weird Words, dự án là mã nguồn mở, một sự lựa chọn bắt nguồn từ niềm tin của Fabio vào cái mà anh gọi là “inner source” – mang toàn bộ kỹ năng và tinh thần cộng tác mở vào bất kỳ dự án nào bạn làm việc. “Tôi tin vào việc chia sẻ kiến thức,” anh nói. “Đó là cách chúng ta phát triển – với tư cách là nhóm, là cộng đồng, là xã hội.”

Hy vọng của anh về nền tảng này thật khiêm tốn nhưng chân thành. “Khi ai đó nói với tôi rằng một bài hát tôi viết đã làm họ xúc động, hoặc họ đã chìm đắm trong cuốn sách của tôi – đó là cảm giác tôi theo đuổi. Dự án này là một sự mở rộng của điều đó. Vì vậy, nếu chỉ có hai nhà văn sử dụng nó để chia sẻ tác phẩm của họ và nói với tôi rằng nó đã giúp ích cho họ, thì đó là một thành công đối với tôi,” anh mỉm cười.

“Nó đã trở thành một phần gây nghiện và sáng tạo trong thói quen của tôi”

“Tôi là một thợ lắp đặt nhà bếp 59 tuổi và là một lập trình viên nghiệp dư tự học,” Darren Hind bắt đầu. “Tôi bắt đầu học C# trong thời gian phong tỏa vì COVID.”

Dự án đầu tiên của anh là một ứng dụng thực tế – giúp công việc hàng ngày của anh dễ dàng hơn. “Nó giúp tôi với các tác vụ hàng ngày, như nhật ký, theo dõi chi phí, lập lịch và lập hóa đơn sử dụng các thao tác CRUD cơ bản. Tôi xây dựng nó đầu tiên với Entity Framework, sau đó tạo lại trong WinForms, và sau đó chuyển sang WPF khi tôi học thêm.”

Khi sau đó anh mua một chiếc iMac, các hạn chế về đa nền tảng đã thúc đẩy anh khám phá các lựa chọn mới. “Đó là khi tôi khám phá ra Rider và Avalonia,” anh nói. “Thật tuyệt vời khi tôi có thể nhận được giấy phép phi thương mại miễn phí để giúp tôi tiến xa hơn. Tôi quyết định chuyển ứng dụng của mình sang, mất khoảng một tháng, và nó hoạt động tuyệt vời trên nhiều nền tảng.”

Kể từ đó, Darren tiếp tục thử nghiệm. “Tôi đã bắt đầu xây dựng một ứng dụng web Blazor trong Rider, tái sử dụng cùng thư viện class từ dự án desktop của mình. Tôi vẫn còn rất nghiệp dư,” anh nói, “nhưng quá trình này vô cùng bổ ích.”

“Rider đã giúp tôi khám phá C#, XAML, MVVM và MySQL dễ dàng hơn nhiều theo tốc độ của riêng mình. Những gì bắt đầu như một sở thích thời phong tỏa đã trở thành một phần gây nghiện và sáng tạo trong thói quen của tôi.”

Darren Hind – Lập trình viên nghiệp dư

Darren ghi nhận cấu trúc của Rider đã giúp anh học tập. “Rider giữ mọi thứ gọn gàng và nhất quán, điều này giúp ích rất nhiều khi bạn đang học. Cách nó tổ chức các dự án, đánh dấu lỗi và đưa ra các sửa chữa nhanh hoặc gợi ý đã giúp ích rất nhiều trong việc hiểu cách mọi thứ kết nối với nhau,” anh giải thích. “Tôi cũng thích Rider cảm giác nhanh và phản hồi tốt, vì vậy tôi có thể tập trung vào thử nghiệm thay vì vật lộn với việc thiết lập. Những điều nhỏ nhặt như điều hướng tức thì giữa các tệp và các công cụ cơ sở dữ liệu tích hợp thực sự giúp duy trì động lực, bởi vì tôi không bị mắc kẹt ở khía cạnh kỹ thuật. Tôi có thể tiếp tục học.”

Khi được hỏi về điều tự hào nhất, Darren chỉ vào kiến trúc của dự án. “Viết từng đoạn code là một chuyện, nhưng hiểu cách mọi thứ kết nối với nhau lại là chuyện hoàn toàn khác,” anh nói. “Việc nắm được MVVM là một đường cong học tập dốc, nhưng khi tôi nhìn vào bố cục thư mục của mình bây giờ – với các thư viện class dùng chung cho models và data layers – tôi tự hào vì đã đi con đường dài. Nó dễ bảo trì hơn nhiều và cảm giác như một ứng dụng thực thụ.”

Và về giấy phép miễn phí cho mục đích phi thương mại, lòng biết ơn của Darren rất rõ ràng. “Ồ, chắc chắn, bây giờ tôi không thể thiếu nó, ngay cả khi tôi phải trả tiền! Nó thực sự xóa bỏ rào cản cho các lập trình viên nghiệp dư để học một cách đúng đắn.”

Một ngôn ngữ lập trình mới được tạo ra với Rider

“Tôi luôn tò mò về cách các ngôn ngữ lập trình hoạt động, đặc biệt là C#, ngôn ngữ tôi sử dụng và thực sự yêu thích,” Gregori Bruno Felicio, một nhà phát triển đến từ Brazil, chia sẻ. “Đó là lý do tôi bắt đầu dự án này.”

Dự án là G#, ngôn ngữ lập trình của riêng anh được xây dựng trên .NET. Gregori giải thích: “G# bắt đầu như một nghiên cứu cá nhân – một thứ nhỏ nhặt chỉ để học – nhưng nó dần dần phát triển thành một thử thách nghiêm túc. Nó vẫn ở giai đoạn rất sớm, nhưng mục tiêu của tôi là biến nó thành một thứ thực sự hữu ích.”

Ban đầu, G# là một thử nghiệm. Mục tiêu ban đầu là xây dựng “cú pháp giống Python với sức mạnh .NET,” nhưng tham vọng đó đã phát triển và bắt đầu hình thành một thứ lớn hơn và có cấu trúc hơn. Gregori chuyển sang thiết kế kiểu mạnh (strongly typed) để giữ cho mọi thứ nhất quán và dễ bảo trì.

“G# đã thúc đẩy tôi học các chủ đề .NET sâu như IL generation, reflection, Roslyn internals và runtime type systems – những thứ chúng ta thường không chạm đến trong công việc hàng ngày,” anh nói. “Trong quá trình đó, tôi bắt đầu thực sự hiểu tại sao một số ngôn ngữ lập trình lại đưa ra những lựa chọn thiết kế nhất định, như sử dụng {} hoặc ;, hoặc quyết định không sử dụng chúng. Mỗi lựa chọn cú pháp nhỏ đều thêm hoặc bớt độ phức tạp, và bây giờ tôi thấy được sự đánh đổi và ý đồ đằng sau các ngôn ngữ mà trước đây tôi chỉ đánh giá qua cú pháp của chúng.”

Rider đã là người bạn đồng hành trung thành trong suốt quá trình. “Thành thật mà nói, tôi luôn là một fan cuồng của Rider,” Gregori cười.

“Có một công cụ mạnh mẽ như vậy tạo ra sự khác biệt lớn. Các tính năng như IL Viewer, Type Hierarchy, code inspections và Structure View giúp tôi hiểu chính xác cách mỗi phần của trình biên dịch và runtime tương tác với nhau. Ngay cả trong phiên bản miễn phí, Rider cung cấp cho tôi mọi thứ tôi cần để khám phá G# ở cấp độ thấp.”

Gregori Felicio – Người tạo ra GSharp, Senior Software Developer

Đối với Gregori, giấy phép miễn phí cho mục đích phi thương mại thể hiện những gì anh yêu thích về cộng đồng JetBrains. “Tôi nghĩ đó là một ý tưởng tuyệt vời,” anh nói. “Đó là một điểm vào tuyệt vời cho các nhà phát triển để hiểu và thử nghiệm với công cụ mà không có bất kỳ áp lực nào. Không phải ai cũng có quyền truy cập vào phần mềm đẳng cấp chuyên nghiệp, và loại giấy phép này thực sự mở ra cánh cửa cho mọi người học hỏi, khám phá và sáng tạo một cách tự do. Đó là một cách tuyệt vời để khuyến khích sự sáng tạo và đổi mới.”

Một loại công cụ học tập hỗ trợ AI khác biệt

Khi nhà phát triển Chris Lopes gia nhập Đại học Gonzaga ở Spokane, Washington, anh sớm thấy mình đắm chìm trong một dự án giúp giảng viên hình dung lại cách AI có thể phù hợp với lớp học. Và khi làm việc với hai giáo sư – một người về Ngữ văn Anh và một người về Kinh doanh – anh đã xây dựng ZagAI, một trợ lý học tập được thiết kế để giúp các nhà giáo dục tận dụng AI trong việc giảng dạy một cách an toàn và có chủ đích.

Ý tưởng bắt nguồn từ giáo sư Ngữ văn Anh, người đã xây dựng một GPT tùy chỉnh nhỏ cho các lớp học viết của mình. “Ông ấy rất đam mê về AI,” Chris nhớ lại. “Nhưng có những hạn chế đối với thiết lập ban đầu đó, vì ông ấy phải dựa vào sinh viên tự báo cáo về trải nghiệm của họ.” Giáo sư muốn một thứ gì đó có cấu trúc hơn và minh bạch hơn – và đó là lúc Chris tham gia.

Với nhiều năm kinh nghiệm là một nhà phát triển .NET, Chris bắt đầu thiết kế thứ sẽ trở thành ZagAI. “Vì tôi là nhà phát triển duy nhất, Blazor Server mang lại năng suất tốt nhất,” anh nói. “Tôi sử dụng nó cho cả frontend và backend, và nó được triển khai lên Azure. Chúng tôi sử dụng Cosmos DB vừa là cơ sở dữ liệu tài liệu vừa là cơ sở dữ liệu vector, và Azure AI Foundry cho tất cả các tương tác AI.”

Công cụ cho phép các giáo sư thiết kế bài tập sử dụng phương pháp Socratic hỗ trợ AI. Sự tiến bộ của sinh viên qua bài tập đạt được thông qua đối thoại, với các hướng dẫn hữu ích và câu hỏi khám phá để tìm hiểu sâu hơn và suy ngẫm. Quy trình làm việc này có chủ đích khác biệt so với nhiều giải pháp học tập AI khác.

“Nhiều công cụ tập trung vào việc cung cấp câu trả lời nhanh hoặc đánh giá,” Chris nói. “Điều đó nuôi dưỡng mối lo ngại của các giáo sư về AI – rằng đó là tất cả các lối tắt và không có học tập sâu sắc. Những gì chúng tôi đang làm có cảm giác khác biệt. Các câu hỏi mà ZagAI đặt ra cần nỗ lực để giải quyết, nhưng chúng dẫn đến việc học thực sự.”

Một lợi ích bất ngờ khi làm việc với ZagAI là cách quá trình thiết lập một bài tập khuyến khích giảng viên trình bày triết lý giảng dạy của họ một cách rõ ràng hơn. “Các giáo sư hướng dẫn AI về cách tương tác với sinh viên và kiến thức nào cần tham chiếu,” Chris nói. “Lời nhắc có thể được tạo ra để phản ánh phong cách sư phạm riêng của mỗi giáo sư và mục tiêu học tập của họ. Việc phải đặt tất cả những điều đó dưới dạng hướng dẫn cho AI đang khiến họ suy nghĩ sâu sắc hơn về việc giảng dạy của mình.”

Khi nói đến phát triển, Rider là một lựa chọn hiển nhiên đối với Chris vì tính khả dụng trên Linux – hệ điều hành anh chọn. “Khi Rider đưa ra giấy phép phi thương mại mà tôi có thể sử dụng mà không tốn chi phí cho chủ lao động hiện tại của mình, đó giống như một sự kết hợp hoàn hảo của mọi thứ.”

Khi được hỏi về phần nào của dự án anh tự hào nhất, Chris không do dự. “Sự cộng tác,” anh nói.

“Nó không chỉ là một nhà phát triển xây dựng thứ gì đó trong cô lập. Chúng tôi cùng nhau tạo ra nó – tôi mang khía cạnh kỹ thuật, họ mang khía cạnh giáo dục. Chúng tôi cộng tác và làm việc cùng nhau để tạo ra một thứ gì đó tạo ra sự khác biệt thực sự.”

Christopher Lopes – Người tạo ra ZagAI, Kỹ sư AI tại Đại học Gonzaga

Hiện tại, ZagAI đang được sử dụng trong ba lớp học, với kế hoạch mở rộng vào học kỳ tới. “Chúng tôi hy vọng có khoảng một chục giáo sư sử dụng nó vào mùa xuân,” anh nói.

Nếu bạn có bất kỳ câu hỏi nào về ZagAI, bạn có thể gửi email đến informatics@gonzaga.edu.


Mỗi câu chuyện trong số này đều bắt đầu từ một tia cảm hứng – để thử nghiệm, để khám phá một sự tò mò, hoặc để tạo ra một thứ gì đó tốt đẹp hơn. Cùng nhau, chúng cho thấy những gì có thể đạt được khi các công cụ chuyên nghiệp được cung cấp miễn phí cho những tâm hồn sáng tạo ở khắp mọi nơi.

Nếu bạn có một câu chuyện về cách JetBrains Rider hoặc bất kỳ công cụ .NET nào khác của chúng tôi đã giúp bạn sáng tạo, học hỏi hoặc khám phá những ý tưởng mới, chúng tôi rất muốn nghe từ bạn. Hãy liên hệ với chúng tôi qua email sasha.ivanova@jetbrains.com – chúng tôi luôn hào hứng chia sẻ những gì cộng đồng của mình đang xây dựng.

Tải Rider ngay

Chỉ mục