Ích lợi của việc tham gia Competitive programming?

  1. Công nghệ thông tin

Như câu hỏi ạ. Theo em được biết thì hiện nay có rất nhiều cuộc thi về Lập trình thi đấu (Competitive Programming) diễn ra, có thể kể đến như ACM ICPC, CodeJam, HackerEarth,...

Các cá nhân/đội thi dành cả năm trời để tập luyện và dành công sức vào các cuộc thi như này. Vậy mình xin hỏi là việc tham gia Competitive Programming có thể mang lại những lợi ích gì?

Từ khóa: 

công nghệ thông tin

Competitive Programming (mình sẽ gọi tắt là CP) có lợi gì? Dạo qua một vòng các diễn đàn, mình đúc kết được 1 số ý trả lời giúp bạn:

  • Trong quá trình thi CP, việc mình học được các cấu trúc dữ liệu và thuật toán sẽ giúp mình có những cách tư duy khác, sáng hơn, tốt hơn, nhanh hơn là so với những cách thông thường.
  • Đối với một fresher khi xin việc, thì những kiến thức về công nghệ, coding skill, những project mà bạn thể hiện trong CV là những thứ duy nhất mà nhà tuyển dung có thể nhìn thấy (nhưng vẫn chưa chắc chắn). Thì để kiểm tra xem ta có năng lực thật sự và phù hợp với nhu cầu của họ hay không, cách thực tế nhất là làm bài test về thuật toán.
  • Hiện nay các công ty lớn ở VN đã bắt đầu tự phát triển dự án cho riêng mình, tự phát triển sản phẩm, thì lúc này rất cần đến những top dev, có khả năng sáng tạo và tư duy thuật toán tốt, vì nếu chỉ sáng tạo ra ý tưởng sản phầm mà không có cách giải quyết hay cách giải quyết không hiệu quả thì cũng như không, chẳng khác nào tạo điều kiện cho đối thủ phát triển 1 sản phẩm với chức năng tương tự và tính năng tốt hơn, từ đó giành thị trường.
  • Đối với các nhà tuyển dụng, họ sẵn sàng bỏ thời gian 3-6 tháng để ta thử việc, học những kiến thức về công nghệ, framework, ngôn ngữ, ... để phục vụ cho nhu cầu của công ty, nhưng với thời gian đó, không thể đào tạo một người không có kiến thức gì về thuật toán, về phương pháp giải quyết vấn đề trở thành một người giỏi được.

Lợi ích của việc năng nổ tham gia mày mò thi thố các cuộc thi Competitive programming rất là nhiều đó bạn.

Thêm nữa, cần chuẩn bị gì khi đi thi CP, mình nghĩ là cần kiến thức, ngoài ra thì cũng phải luyện tập rât nhiều, tiếp theo là tâm lý, tâm lý càng thoải mái thì áp lực càng ít, khả năng tập trung càng cao! :D

Trả lời

Competitive Programming (mình sẽ gọi tắt là CP) có lợi gì? Dạo qua một vòng các diễn đàn, mình đúc kết được 1 số ý trả lời giúp bạn:

  • Trong quá trình thi CP, việc mình học được các cấu trúc dữ liệu và thuật toán sẽ giúp mình có những cách tư duy khác, sáng hơn, tốt hơn, nhanh hơn là so với những cách thông thường.
  • Đối với một fresher khi xin việc, thì những kiến thức về công nghệ, coding skill, những project mà bạn thể hiện trong CV là những thứ duy nhất mà nhà tuyển dung có thể nhìn thấy (nhưng vẫn chưa chắc chắn). Thì để kiểm tra xem ta có năng lực thật sự và phù hợp với nhu cầu của họ hay không, cách thực tế nhất là làm bài test về thuật toán.
  • Hiện nay các công ty lớn ở VN đã bắt đầu tự phát triển dự án cho riêng mình, tự phát triển sản phẩm, thì lúc này rất cần đến những top dev, có khả năng sáng tạo và tư duy thuật toán tốt, vì nếu chỉ sáng tạo ra ý tưởng sản phầm mà không có cách giải quyết hay cách giải quyết không hiệu quả thì cũng như không, chẳng khác nào tạo điều kiện cho đối thủ phát triển 1 sản phẩm với chức năng tương tự và tính năng tốt hơn, từ đó giành thị trường.
  • Đối với các nhà tuyển dụng, họ sẵn sàng bỏ thời gian 3-6 tháng để ta thử việc, học những kiến thức về công nghệ, framework, ngôn ngữ, ... để phục vụ cho nhu cầu của công ty, nhưng với thời gian đó, không thể đào tạo một người không có kiến thức gì về thuật toán, về phương pháp giải quyết vấn đề trở thành một người giỏi được.

Lợi ích của việc năng nổ tham gia mày mò thi thố các cuộc thi Competitive programming rất là nhiều đó bạn.

Thêm nữa, cần chuẩn bị gì khi đi thi CP, mình nghĩ là cần kiến thức, ngoài ra thì cũng phải luyện tập rât nhiều, tiếp theo là tâm lý, tâm lý càng thoải mái thì áp lực càng ít, khả năng tập trung càng cao! :D

Là một người từng tham gia khá nhiều các cuộc thi về lập trình thời còn sinh viên, bản thân mình đúc kết ra được một số lợi ích rõ rệt của việc này đó là:

  • Làm đẹp CV, trở thành một ứng viên mà các công ty công nghệ mong muốn

Có thể bạn đã biết, các công ty, tập đoàn lớn về công nghệ như Viettel, FPT,… đều thường xuyên có những hoạt động tài trợ cho các cuộc thi lập trình dành cho sinh viên nhằm thu hút nhân tài. Việc góp tên trên bảng thành tích của các cuộc thi lập trình sẽ là một điểm cộng lớn giúp bạn trở thành ứng viên sáng giá trong tầm ngắm của họ

  • Rèn luyện bạn trở nên nhanh hơn, chính xác hơn, tập trung hơn

Trong cuộc thi, bạn sẽ phải xử lý các tình huống trong bầu không khí hết sức căng thẳng: hoàn thành trước deadline hoặc chấp nhận thua cuộc. Vì vậy, đây sẽ là dịp training cho bạn cách tập trung hoàn toàn vào task để có thể hoàn thành task đó một cách không chỉ nhanh mà phải thật chính xác.

  • Kỹ năng xử lý tình huống

Các vấn đề, bài toán được đưa ra trong cuộc thi lập trình rất đa dạng và phức tạp, bạn sẽ không bị shock khi sau này bước vào công việc thực tế đối mặt với đa dạng các thể loại vấn đề, tình huống khác nhau

  • Kỹ năng làm việc nhóm hiệu quả

Đây là một kỹ năng vô cùng quan trọng mà hầu hết job nào cũng đều yêu cầu phải có (đương nhiên là ở các mức level khác nhau).

Trong các cuộc thi về lập trình, các bạn sẽ phải làm việc theo team, tức là nhiều người cùng hoàn thành 1 task lớn, nên cả team cần phải phối hợp với nhau sao cho hiệu quả nhất.

Người leader đóng một vai trò cực kỳ quan trọng, phải biết được điểm mạnh - điểm yếu của từng team member và có sự phân chia trách nhiệm cho phù hợp. Chính vì vậy, mình có 1 lời khuyên cho các bạn là nên ít nhất 1 lần tự đề cử làm leader, các bạn sẽ thấy mình trưởng thành hơn rất nhiều đó ;)

  • Bệ phóng cho sự nghiệp coding

===> Nói chốt lại, việc tham gia nhiều các cuộc thi lập trình từ khi còn là SV không có nghĩa là bạn chắc chắn sẽ được offer 1 job khủng ngay khi mới ra trường, nhưng nó chắc chắn sẽ là 1 điểm highlight trên resume của bạn. Đâu có nhà tuyển dụng nào lại dễ dàng bỏ qua một ứng viên có khả năng làm việc nhóm tốt, xử lý vấn đề khó hiệu quả, làm việc được dưới áp lực cao, quản lý thời gian tốt, ....vân vân và mây mây đâu đúng ko? ;)

Cho em hỏi Hackathon thuộc thể loại nào thế ạ?