Đột phá kỹ thuật số - nó đã xảy ra như thế nào

Đây không phải là cuộc thi hackathon đầu tiên tôi giành chiến thắng, cũng không phải là cuộc thi đầu tiên viết, và đây không phải là bài đăng đầu tiên trên Habré dành riêng cho “Đột ​​phá kỹ thuật số”. Nhưng tôi không thể không viết. Tôi coi trải nghiệm của mình đủ độc đáo để chia sẻ. Tôi có lẽ là người duy nhất tại hackathon này đã giành chiến thắng ở vòng khu vực và vòng chung kết với tư cách là thành viên của các đội khác nhau. Bạn muốn biết điều này xảy ra như thế nào? Chào mừng đến với con mèo.

Giai đoạn khu vực (Moscow, 27 - 28/2019/XNUMX).

Lần đầu tiên tôi nhìn thấy một quảng cáo về “Đột ​​phá kỹ thuật số” ở đâu đó vào tháng 16-tháng XNUMX năm nay. Đương nhiên, tôi không thể bỏ qua một cuộc thi hackathon lớn như vậy và đăng ký trên trang web. Ở đó tôi đã làm quen với điều kiện và chương trình của cuộc thi. Hóa ra để tham gia hackathon, bạn phải vượt qua bài kiểm tra trực tuyến bắt đầu vào ngày XNUMX tháng XNUMX. Và có lẽ tôi đã quên nó đi một cách dễ dàng vì tôi đã không nhận được một lá thư nhắc nhở về việc bắt đầu kỳ thi. Và, tôi phải nói rằng, trong tương lai TẤT CẢ CÁC THƯ gửi đến tôi từ CPU đều bị đưa vào thư mục thư rác. Mặc dù lần nào tôi cũng nhấp vào nút “không phản đối”. Tôi không biết làm thế nào họ có thể đạt được kết quả như vậy, việc gửi thư trên MailGun đối với tôi không thành công. Và những kẻ đó dường như không hề biết gì về sự tồn tại của các dịch vụ như isnotspam.com. Nhưng chúng ta lạc đề.

Tôi được nhắc về việc bắt đầu thử nghiệm tại một trong các cuộc họp câu lạc bộ khởi nghiệp, ở đó chúng tôi cũng đã thảo luận về việc thành lập đội. Mở danh sách các bài kiểm tra, lần đầu tiên tôi ngồi xuống bài kiểm tra Javascript. Nhìn chung, các nhiệm vụ ít nhiều đều đầy đủ (chẳng hạn như kết quả sẽ ra sao nếu bạn thêm 1 + '1' vào bảng điều khiển). Nhưng theo kinh nghiệm của tôi, tôi sẽ sử dụng những bài kiểm tra như vậy khi tuyển dụng cho một công việc hoặc một nhóm có lượng đặt trước rất lớn. Thực tế là trong công việc thực tế, một lập trình viên hiếm khi gặp phải những điều như vậy, với khả năng gỡ lỗi mã nhanh chóng của anh ta - kiến ​​​​thức này không hề tương quan với nhau và bạn có thể đào tạo những thứ như vậy để phỏng vấn khá dễ dàng (tôi biết từ bản thân mình). Nói chung mình bấm test khá nhanh, một số trường hợp mình tự kiểm tra trên console. Trong bài kiểm tra python, các nhiệm vụ có cùng loại, tôi cũng đã tự kiểm tra trên bảng điều khiển và rất ngạc nhiên khi ghi được nhiều điểm hơn trong JS, mặc dù tôi chưa bao giờ lập trình chuyên nghiệp bằng Python. Sau đó, trong cuộc trò chuyện với những người tham gia, tôi đã nghe những câu chuyện về việc các lập trình viên mạnh mẽ đạt điểm thấp trong các bài kiểm tra như thế nào, một số người nhận được thư nói rằng họ không vượt qua quá trình lựa chọn CPU và sau đó họ vẫn được mời tham gia. Rõ ràng là những người tạo ra những bài kiểm tra này rất có thể chưa nghe thấy gì về lý thuyết kiểm tra, không phải về độ tin cậy và tính hợp lệ của chúng, cũng như về cách kiểm tra chúng, và ý tưởng thực hiện các bài kiểm tra sẽ thất bại ngay từ đầu, ngay cả khi chúng tôi không tính đến mục tiêu chính của hackathon. Và mục tiêu chính của vụ hack, như sau này tôi mới biết, là lập kỷ lục Guinness, và các cuộc thử nghiệm đều trái ngược với điều đó.

Tại một thời điểm nào đó sau khi vượt qua bài kiểm tra, họ gọi cho tôi, hỏi tôi có tham gia không, làm rõ chi tiết và cho tôi biết cách tham gia cuộc trò chuyện để chọn đội. Ngay sau đó, tôi đã tham gia cuộc trò chuyện và viết ngắn gọn về bản thân. Cuộc trò chuyện hoàn toàn là rác rưởi; có vẻ như ban tổ chức đang quảng cáo cho rất nhiều người ngẫu nhiên không liên quan gì đến CNTT. Nhiều nhà quản lý sản phẩm “ở cấp độ của Steve Jobs” (một cụm từ có thật trong bài gửi của một người tham gia) đã đăng những câu chuyện về bản thân họ và các nhà phát triển bình thường thậm chí còn không được nhìn thấy. Nhưng tôi đã may mắn và sớm được gia nhập cùng ba lập trình viên JS có kinh nghiệm. Chúng tôi đã gặp nhau tại hackathon và sau đó chúng tôi thêm một cô gái vào nhóm để truyền cảm hứng và giải quyết các vấn đề của tổ chức. Tôi không nhớ tại sao, nhưng chúng tôi đã lấy chủ đề “Đào tạo an ninh mạng” và đưa nó vào chủ đề “Khoa học và Giáo dục 2”. Lần đầu tiên tôi thấy mình ở trong một nhóm gồm 4 lập trình viên mạnh mẽ và lần đầu tiên tôi cảm thấy việc giành chiến thắng trong một đội như vậy dễ dàng đến thế nào. Chúng tôi đến mà không chuẩn bị trước và tranh cãi cho đến bữa trưa và không thể quyết định xem mình sẽ làm gì: ứng dụng di động hay ứng dụng web. Trong bất kỳ tình huống nào khác, tôi sẽ nghĩ đó là một thất bại. Điều quan trọng nhất đối với chúng tôi là hiểu làm thế nào chúng tôi sẽ giỏi hơn các đối thủ cạnh tranh, bởi vì có rất nhiều nhóm xung quanh đang thực hiện các bài kiểm tra, trò chơi an ninh mạng và những thứ tương tự. Sau khi xem xét điều này và tìm kiếm các chương trình và ứng dụng đào tạo trên Google, chúng tôi quyết định rằng điểm khác biệt chính của chúng tôi sẽ là các cuộc diễn tập cứu hỏa. Chúng tôi đã chọn một số tính năng mà chúng tôi thấy thú vị để triển khai (đăng ký bằng email và xác minh mật khẩu đối với cơ sở dữ liệu của hacker, gửi email lừa đảo (dưới dạng thư từ các ngân hàng nổi tiếng), đào tạo kỹ thuật xã hội trong trò chuyện). Sau khi quyết định những gì chúng tôi đang làm và hiểu cách chúng tôi có thể nổi bật, chúng tôi nhanh chóng viết một ứng dụng web chính thức và tôi đóng vai trò đặc biệt của một nhà phát triển phụ trợ. Vì vậy, chúng tôi tự tin giành chiến thắng trên đường đua của mình và cùng với ba đội khác, chúng tôi đã vượt qua vòng chung kết ở Kazan. Sau đó, ở Kazan, tôi biết được rằng việc lựa chọn vào vòng chung kết là hư cấu, ở đó tôi đã gặp nhiều gương mặt quen thuộc của các đội không vượt qua vòng tuyển chọn. Chúng tôi thậm chí còn được phỏng vấn bởi các nhà báo của Kênh 1. Tuy nhiên, trong báo cáo từ đó, ứng dụng của chúng tôi chỉ hiển thị trong 1 giây.

Đột phá kỹ thuật số - nó đã xảy ra như thế nào
Đội Snowed, nơi tôi đã giành chiến thắng ở vòng khu vực

Trận chung kết (Kazan, 27 – 29 tháng 2019 năm XNUMX)

Nhưng rồi những thất bại bắt đầu. Tất cả các lập trình viên của nhóm Snowed trong vòng khoảng một tháng, lần lượt báo cáo rằng họ sẽ không thể đến Kazan để tham dự trận chung kết. Và tôi đã nghĩ đến việc tìm một đội mới. Đầu tiên, tôi gọi điện trong cuộc trò chuyện chung của Nhóm Hack Nga, và mặc dù ở đó tôi nhận được khá nhiều phản hồi và lời mời tham gia nhóm nhưng không có câu trả lời nào khiến tôi chú ý. Có những nhóm không cân bằng, chẳng hạn như sản phẩm, nhà phát triển thiết bị di động, front-end, gợi nhớ đến một con thiên nga, một con tôm càng và một con cá chó trong truyện ngụ ngôn. Cũng có những nhóm không phù hợp với tôi về mặt công nghệ (ví dụ: với việc phát triển ứng dụng di động trong Flutter). Cuối cùng, trong một cuộc trò chuyện mà tôi cho là rác rưởi (cũng chính là VKontakte nơi diễn ra việc lựa chọn các đội cho vòng khu vực), một quảng cáo đã được đăng về việc tìm kiếm người dẫn đầu cho đội và tôi đã viết hoàn toàn ngẫu nhiên. Các chàng trai hóa ra là sinh viên tốt nghiệp tại Skoltech và ngay lập tức đề nghị gặp gỡ và làm quen. Tôi thích điều đó; các đội thích làm quen với nhau ngay tại hackathon thường cảnh báo tôi về việc họ thiếu động lực. Chúng tôi gặp nhau tại “Rake” trên Pyatnitskaya. Các chàng trai có vẻ thông minh, năng động, tự tin vào bản thân và chiến thắng, và tôi đã đưa ra quyết định ngay tại đó. Chúng tôi vẫn chưa biết những bài hát và nhiệm vụ nào sẽ có trong trận chung kết, nhưng chúng tôi cho rằng chúng tôi sẽ chọn thứ gì đó liên quan đến Machine Learning. Và nhiệm vụ của tôi sẽ là viết quản trị viên cho vấn đề này, vì vậy tôi đã chuẩn bị trước một mẫu cho việc này dựa trên antd-admin.
Tôi đến Kazan miễn phí với chi phí của ban tổ chức. Tôi phải nói rằng rất nhiều sự không hài lòng đã được bày tỏ trong các cuộc trò chuyện và blog liên quan đến việc mua vé và nói chung là việc tổ chức trận chung kết, tôi sẽ không kể lại tất cả.

Đến Kazan Expo, đăng ký (tôi gặp chút khó khăn khi lấy huy hiệu) và ăn sáng, chúng tôi đi chọn đường đua. Chúng tôi chỉ đến dự buổi khai trương, nơi các quan chức phát biểu, trong khoảng 10 phút. Trên thực tế, chúng tôi đã có những bản nhạc ưa thích nhưng chúng tôi quan tâm đến các chi tiết. Ví dụ, trong bài hát số 18 (Rostelecom), hóa ra cần phải phát triển một ứng dụng di động, mặc dù điều này không có trong phần mô tả ngắn gọn. Chúng tôi đã đưa ra lựa chọn chính giữa Nội soi khiếm khuyết đường ống số 8, Gazprom Neft PJSC và Đường số 13 Các trung tâm chu sinh, Phòng Tài khoản của Liên bang Nga. Trong cả hai trường hợp, Khoa học dữ liệu đều cần thiết và trong cả hai trường hợp, web đều có thể được thêm vào. Ở bài số 13, chúng tôi đã dừng lại vì nhiệm vụ Khoa học dữ liệu ở đó khá yếu, cần phải phân tích cú pháp Rosstat và không rõ liệu có cần bảng quản trị hay không. Và giá trị của nhiệm vụ bị nghi ngờ. Cuối cùng, chúng tôi quyết định rằng với tư cách là một đội, chúng tôi phù hợp hơn với Đường 8, đặc biệt là vì các thành viên đã có kinh nghiệm giải quyết các vấn đề tương tự. Chúng tôi bắt đầu bằng cách suy nghĩ về kịch bản mà người dùng cuối sẽ sử dụng ứng dụng của chúng tôi. Hóa ra chúng tôi sẽ có hai loại người dùng: kỹ thuật viên quan tâm đến thông tin kỹ thuật và nhà quản lý cần các chỉ số tài chính. Khi ý tưởng về kịch bản xuất hiện, nó trở nên rõ ràng những gì phải làm ở mặt trước, nhà thiết kế nên vẽ gì và những phương pháp nào cần thiết ở mặt sau, từ đó có thể phân bổ nhiệm vụ. Trách nhiệm trong nhóm được phân bổ như sau: hai người giải quyết ML bằng dữ liệu nhận được từ các chuyên gia kỹ thuật, một người viết phần phụ trợ bằng Python, tôi viết phần giao diện người dùng bằng React và Antd, nhà thiết kế đã vẽ các giao diện. Chúng tôi thậm chí còn ngồi xuống để thuận tiện hơn cho việc giao tiếp trong khi giải quyết vấn đề của mình.

Ngày đầu tiên trôi qua gần như không được chú ý. Khi trao đổi với các chuyên gia kỹ thuật, hóa ra họ (Gazprom Neft) đã giải quyết được vấn đề này, họ chỉ đang tự hỏi liệu nó có thể giải quyết tốt hơn hay không. Tôi sẽ không nói rằng điều này làm giảm động lực của tôi nhưng nó để lại dư lượng. Tôi rất ngạc nhiên khi vào ban đêm, người điều hành phần ghi chú các nhóm làm việc (như họ đã nói để thống kê); điều này thường không được thực hiện tại hackathons. Đến sáng, chúng tôi đã có nguyên mẫu ở mặt trước, một số nguyên mẫu thô sơ ở mặt sau và giải pháp ML đầu tiên đã sẵn sàng. Nói chung, đã có thứ gì đó để cho các chuyên gia thấy. Vào chiều thứ bảy, nhà thiết kế rõ ràng đã vẽ nhiều giao diện hơn mức tôi có thể viết mã và chuyển sang tạo bản trình bày. Thứ bảy được dành để đăng ký hồ sơ, đến sáng thì mọi người làm việc trong hội trường đều bị đuổi ra hành lang, sau đó việc ra vào hội trường được thực hiện bằng phù hiệu, không được phép rời đi nữa. hơn một giờ mỗi ngày. Tôi sẽ không nói rằng điều này gây ra cho chúng tôi bất kỳ sự bất tiện đáng kể nào; hầu hết thời gian trong ngày chúng tôi vẫn ngồi và làm việc. Thực sự, thức ăn rất ít; bữa trưa chúng tôi nhận được một ly nước dùng, một chiếc bánh nướng và một quả táo, nhưng một lần nữa điều này không làm chúng tôi khó chịu lắm, chúng tôi đang tập trung vào thứ khác.

Họ định kỳ phát bò đỏ, mỗi tay hai lon, điều này rất hữu ích. Công thức nước tăng lực + cà phê, vốn đã được thử nghiệm từ lâu tại hackathons, cho phép tôi viết mã suốt đêm và ngày hôm sau, vui vẻ như một chiếc ly. Trên thực tế, vào ngày thứ hai, chúng tôi chỉ cần thêm các tính năng mới vào ứng dụng, tính toán các chỉ số tài chính và bắt đầu hiển thị biểu đồ về số liệu thống kê về các khiếm khuyết trên đường cao tốc. Không có đánh giá mã nào như vậy trong quá trình theo dõi của chúng tôi; các chuyên gia đã đánh giá giải pháp cho vấn đề theo kiểu kaggle.com, dựa trên độ chính xác của dự báo và giao diện người dùng được đánh giá một cách trực quan. Giải pháp ML của chúng tôi hóa ra là chính xác nhất, có lẽ đây là điều cho phép chúng tôi trở thành người dẫn đầu. Các đêm từ thứ bảy đến chủ nhật, chúng tôi làm việc đến 2 giờ sáng rồi về ngủ tại căn hộ mà chúng tôi dùng làm căn cứ. Chúng tôi ngủ khoảng 5 tiếng, vào Chủ nhật lúc 9 giờ sáng, chúng tôi đã có mặt tại Kazan Expo. Tôi vội vàng chuẩn bị thứ gì đó, nhưng phần lớn thời gian đều dành cho việc chuẩn bị tiền phòng thủ. Việc bào chữa trước diễn ra theo 2 luồng, trước mặt hai đội chuyên gia, chúng tôi được yêu cầu phát biểu cuối cùng vì cả hai đội chuyên gia đều muốn lắng nghe chúng tôi. Chúng tôi coi đây là một dấu hiệu tốt. Ứng dụng được hiển thị từ máy tính xách tay của tôi, từ một máy chủ dev đang chạy; chúng tôi không có thời gian để triển khai ứng dụng đúng cách, tuy nhiên, mọi người đều làm như vậy.

Nhìn chung, mọi thứ đều diễn ra tốt đẹp, chúng tôi đã được chỉ ra những điểm mà chúng tôi có thể cải thiện ứng dụng của mình và trong thời gian trước khi bào chữa, chúng tôi thậm chí còn cố gắng thực hiện một số nhận xét này. Việc phòng ngự cũng diễn ra suôn sẻ đến bất ngờ. Dựa trên kết quả của cuộc phòng thủ trước, chúng tôi biết rằng chúng tôi đang dẫn trước về điểm số, chúng tôi dẫn đầu về độ chính xác của giải pháp, chúng tôi có giao diện người dùng tốt, thiết kế tốt và nói chung là chúng tôi có tốt cảm xúc. Một dấu hiệu thuận lợi khác là cô gái điều hành phần của chúng tôi đã chụp ảnh tự sướng với chúng tôi trước khi bước vào phòng hòa nhạc, và sau đó tôi nghi ngờ rằng cô ấy có thể biết điều gì đó))). Nhưng chúng tôi không biết điểm của mình sau khi phòng thủ, nên thời gian cho đến khi đội của chúng tôi được công bố trên sân khấu trôi qua hơi căng thẳng. Trên sân khấu, họ trao một tấm bìa cứng có dòng chữ 500000 rúp và mỗi người được phát một chiếc túi có cốc và pin điện thoại di động. Chúng tôi không thể tận hưởng và ăn mừng chiến thắng một cách đàng hoàng, chúng tôi nhanh chóng ăn tối và bắt taxi ra tàu.

Đột phá kỹ thuật số - nó đã xảy ra như thế nào
Đội WAICO giành chiến thắng chung cuộc

Khi trở về Moscow, các nhà báo của NTV đã phỏng vấn chúng tôi. Chúng tôi đã quay cả tiếng đồng hồ trên tầng hai của quán cà phê Kvartal 44 ở Polyanka, nhưng bản tin chỉ chiếu khoảng 10 giây, xét cho cùng thì đó là sự tiến bộ mạnh mẽ so với khu vực.

Nếu chúng tôi tóm tắt những ấn tượng chung về Đột phá kỹ thuật số thì chúng như sau. Rất nhiều tiền đã được chi cho sự kiện này, tôi chưa bao giờ thấy hackathons quy mô như vậy trước đây. Nhưng tôi không thể nói rằng điều này là hợp lý và nó sẽ thực sự mang lại kết quả. Một phần đáng kể những người tham gia đến Kazan chỉ đơn giản là những người tham gia tiệc tùng, những người không biết cách làm bất cứ điều gì bằng chính đôi tay của mình và bị buộc phải lập kỷ lục. Tôi không thể nói rằng sự cạnh tranh ở vòng chung kết cao hơn ở vòng khu vực. Ngoài ra, giá trị và tính hữu ích của nhiệm vụ của một số bản nhạc vẫn còn nhiều nghi vấn. Một số vấn đề từ lâu đã được giải quyết ở cấp độ công nghiệp. Hóa ra sau đó, một số tổ chức tiến hành các cuộc theo dõi không quan tâm đến việc giải quyết chúng. Và câu chuyện này vẫn chưa kết thúc, những đội dẫn đầu của mỗi đường đua đã được chọn vào vòng tiền tăng tốc và người ta cho rằng họ sẽ trở thành những công ty khởi nghiệp ĐỘT PHÁ. Nhưng tôi chưa sẵn sàng để viết về điều này, chúng ta sẽ xem điều gì sẽ xảy ra.

Nguồn: www.habr.com

Thêm một lời nhận xét