Bài viết được dịch từ trang web Makeuseof

Kỹ năng lập trình viên giỏi
Liệu tôi có nên tham gia các cuộc thi lập trình trực tuyến?

Có phải bạn đang đi vào một lối mòn trong lập trình? Bạn lo lắng rằng kỹ năng lập trình của bạn đang có dấu hiệu đi ngang? Bạn đang trên bờ vực của sự hụt hơi trong sự nghiệp lập trình? Đôi khi câu trả lời là hãy rời xa máy tính một thời gian, nghỉ ngơi, và hít thở không khí trong lành. Nhưng đôi khi câu trả lời là hãy tham gia những thử thách khó khăn hơn để mở rộng khả năng và đẩy bạn tới những giới hạn của mình.

Trong cuốn Patterns Apprenticeship - một cuốn sách lập trình miễn phí có mô tả cuộc hành trình từ một newbie trở thành một lập trình viên lão luyện - có một nhận xét rất khôn ngoan, nhưng đó là sự thật:

Thất bại thường là cách tốt nhất để học bất cứ điều gì. Chỉ bằng cách cố gắng làm những điều táo bạo, thất bại, học hỏi từ thất bại đó, và cố gắng thử lại sẽ giúp chúng ta phát triển thành kiểu người có thể thành công khi đối mặt với các vấn đề khó khăn.

Còn cách nào tốt hơn để "thử những điều táo bạo" là tham gia những cuộc thi với các lập trình viên khác trong một môi trường cạnh tranh? Bạn có lẽ sẽ thất bại, nhưng chẳng sao cả. Chính bản thân việc tham gia này sẽ dạy cho bạn rất nhiều kỹ năng và kỹ thuật mới. Cùng với một suy nghĩ đúng đắn để cho việc lập trình không còn bị căng thẳng và áp lực, bạn sẽ không có gì để sợ hãi cả.

TopCoder

Ra mắt vào năm 2001, TopCoder đã trở thành cộng đồng lớn nhất và là sân chơi để các lập trình viên cạnh tranh và thi thố với nhau. Hiện có gần 1 triệu thành viên cạnh tranh nhằm giải quyết các vấn đề trong ngành công nghiệp liên quan để nhận được các giải thưởng bằng tiền mặt. Có lẽ bạn đang tò mò về số tiền mà họ nhận được phải không ạ? Chỉ riêng trong năm ngoái, số tiền trao giải cho những người chiến thắng đã vượt quá $300.000 đô-la.

Kỹ năng dành cho lập trình viên

TopCoder đưa ra các cuộc thi trên một số lĩnh vực, chẳng hạn như thiết kế đồ họa, thuật toán, tạo nguyên mẫu (prototyping), và nhiều hơn nữa. Điều thực sự thú vị về thuật toán tính điểm của họ là họ sử dụng hệ thống xếp hạng dựa trên ELO nhằm xác định ra lập trình viên "giỏi nhất" theo thời gian. Bạn càng thi đấu nhiều và có kết quả tốt, thì bạn sẽ càng được xếp hạng cao hơn.

Các khóa học lập trình tại TechMaster sẽ cung cấp cho bạn những kỹ năng thực tế nhất để có thể xin được việc làm. Với nhiều mô hình đào tạo như online, offline, và FlipLearning (kết hợp giữa online với offline). Bạn có thể xem thông tin chi tiết về các khóa học tại đây.

Google Code Jam

Google Code Jam là một trong những cuộc thi lập trình nổi tiếng nhất trên thế giới. Đó là một cuộc thi nhiều vòng dựa trên việc giải các câu đố thuật toán.

Phần lớn nội dung cuộc thi đều diễn ra trực tuyến, nhưng nếu bạn được lọt vào vòng chung kết, bạn sẽ được mời đến một sự kiện thi đấu trực tiếp và sẽ được livestreamed cho tất cả mọi người cùng xem. Người giành chiến thắng cuối cùng sẽ được nhận giải thưởng trị giá $15.000 đô-la (khoảng hơn 300 triệu VNĐ). 

Microsoft Imagine Cup

Imagine Cup là sự kiện diễn ra một lần mỗi năm bao gồm ba cuộc thi riêng biệt được gắn chặt vào sứ mệnh của sự kiện này, đó là: " Hãy tưởng tượng về một thế giới nơi mà công nghệ giúp giải quyết những vấn đề khó khăn nhất." Cuộc thi này mở cửa cho tất cả các thí sinh từ khắp nơi trên thế giới, mà đỉnh cao là cuộc thi tại chỗ Grand Finals được tổ chức luân phiên ở các quốc gia khác nhau.

Ba cuộc thi là:

  • The Innovation Path: Mục đích ở đây là tạo ra "sản phẩm lớn tiếp theo", nó có thể đơn giản chỉ là một công cụ web mới hoặc một ứng dụng di động có sức ảnh hưởng để thay đổi cách thức xã hội tương tác.
  • The World Citizenship Path: Bạn có muốn làm cho thế giới này trở thành một nơi tốt hơn? Đó là câu hỏi đã dẫn dắt cuộc thi đặc biệt này. Hãy tạo một giải pháp cho máy desktop, web, hoặc ứng dụng di động để giải quyết một vấn đề toàn cầu nào đó, chẳng hạn như bệnh tật, bình đẳng xã hội, hoặc tình trạng đói nghèo.
  • The Games Path: Phát triển các trò video game sáng tạo trên máy tính, console, điện thoại, hay bất cứ thiết bị mà bạn ưa thích khác. Mục đích là để cung cấp một trải nghiệm thú vị và hữu ích.

Ngoài ra còn có Code Hunt Challenge, đó là một sự kiện hàng tháng nơi người tham dự được cung cấp một đoạn code và yêu cầu viết lại nó thành ít dòng code nhất có thể. Người chiến thắng của mỗi thử thách này không chỉ giành được phần thưởng $1.000 đô-la, mà tất cả người tham dự cũng sẽ được quay số ngẫu nhiên để nhận giải thưởng trị giá lên đến $5000 đô-la.

Global Game Jam

Ngành công nghiệp game đang phát triển lớn nhất từ trước đến nay, nhưng điều thú vị hơn là làn sóng các nhà phát triển game độc lập trong vài năm qua. Những nhà phát triển game độc lập - là những người thường làm việc một mình hoặc theo nhóm nhỏ - đang sản xuất ra nhiều trò game với chất lượng hàng đầu. Bạn có thể tìm thấy rất nhiều người trong số họ trên Steam Early Access.

Kỹ năng dành cho sinh viên IT

Global Game Jam là một sự kiện thường niên diễn ra trong một ngày cuối tuần duy nhất. Những người tham gia lập nhóm với nhau và làm việc  trong vòng 48 giờ để tạo ra một bản game demo có thể chơi được. Về mặt kỹ thuật, GGJ không phải là một cuộc thi đấu giữa các đội vì không có thua hay thắng, nhưng nó vẫn là một cách tốt để kiểm tra dũng khí của bạn và xem những gì bạn có thể thực hiện được.

Bạn đang quan tâm đến việc tạo ra các trò game? Hãy bắt đầu với những công cụ phát triển game miễn phí. Đặc biệt, chúng tôi khuyên bạn nên học Unity vì nó miễn phí, mạnh mẽ, đủ linh hoạt để tạo ra các trò game 2D và 3D, và có một số lượng người dùng khổng lồ cùng đầy đủ các hướng dẫn và các ví dụ.

Ludum Dare

Ludum Dare, trong tiếng Latin có nghĩa là "tạo ra một trò game", là một cuộc thi phát triển game diễn ra 3 lần trong một năm: tháng Tư, tháng Tám và tháng Mười Hai. Có hai sự kiện Ludum khác nhau Dare:

  • Compo là một cuộc thi solo đòi hỏi tất cả code và asset phải được tạo ra từ đầu, giữa khoảng thời gian bắt đầu và kết thúc sự kiện, diễn ra trong vòng 48 giờ. Sau đó, người tham gia trở thành giám khảo và các sản phẩm tốt nhất là tâm điểm để mọi người chú ý.
  • Jam là một phiên bản bình thường hơn so với Compo. Bạn có 72 giờ để tạo ra một trò game và bạn có thể làm việc một mình hoặc theo nhóm. Không giống như cuộc thi Compo, Jam không đòi hỏi người tham dự phải bắt đầu từ đầu.

Tất cả các nhà phát triển game độc lập dù mới vào nghề hay dày dạn kinh nghiệm đều nên thử Ludum Dare ít nhất một lần, hoặc là Jam hoặc Compo. Nó không chỉ buộc bạn phải ngồi xuống và tạo ra sản phẩm, nó cũng mang lại cơ hội để kết bạn, tìm đối tác, và có rất nhiều niềm vui với những ý tưởng trò game thử nghiệm.

Kết luận

Các cuộc thi lập trình chỉ là một trong nhiều cách để thực hành kỹ năng lập trình. Một mặt, có thể rất hiệu quả để đưa ra ý tưởng về các dự án lập trình của riêng bạn và theo đuổi chúng về lâu dài, nhưng đôi khi bạn cũng nên bước lùi lại và tham gia một cuộc thi nào đó. Nó sẽ giữ cho bạn luôn tươi mới, trung thực, và tìm thấy nhiều niềm vui.

Nếu bạn đang rất vất vả để chống lại sự hụt hơi và những cuộc thi này không giúp bạn lấy lại sự đam mê với nghề, thì đó có thể là một dấu hiệu cho thấy bạn đang không có định mệnh để trở thành một lập trình viên.

Hiện nay có hàng chục - thậm chí hàng trăm - cuộc thi lập trình trực tuyến có sẵn ở ngoài kia. Bạn có biết cuộc thi nào khác xứng đáng được đề cập đến? Bạn đã bao giờ thi đấu trong một cuộc thi ở trên? Hãy chia sẻ những suy nghĩ của bạn trong phần bình luận phía dưới nhé!