Học được gì qua 4 năm định cư ở Canada? (Phần cuối)

Nếu phần 2 đã bộc bạch hành trình đi tìm đam mê của mình qua những cuộc dạo chơi ra thế giới ngoài kia, thì phần 3 lại là một thế giới đã được thu hẹp lại rất nhiều.

Story #3: Chuyện tự học lập trình 

Lần đầu tiên được tiếp xúc với thế lớp lập trình là khi mình qua Seattle thăm anh chị họ đang học Computer Science ở trường đại học Washington. Nghe được mình đang khám phá nhiều loại ngành nghề, hai người lập tức lôi mình ra một góc cùng với cái laptop để vừa làm bài tập trên lớp vừa say sưa giảng cho mình những thứ căn bản như biến (variable), điều kiện (condition), etc. và gợi ý lên thử trang web CodeAcademy để làm thử mấy bài tập đơn giản. Trước khi về thì xoa đầu mình chúc may mắn rồi đưa cho bản PDF của cuốn "Building Java Programs: A Back to Basics Approach" hơn 1,000 trang mà hai người đang học trong khoá lập trình cơ bản trên đại học tên là CSE 142.

Lúc đó mình chỉ làn nhàn học khoá lập trình đơn giản trong trường rồi lại bận rộn đi theo đuổi cái khác. Hứng thú cho ngành này chỉ dừng lại ở mức "ờ cái này cũng hay hay" rồi thôi, gác qua một xó chẳng thèm ngó tới những nguồn tài liệu đáng giá mà anh chị đã cho.
Cho tới một ngày, mình đụng phải bác trưởng nhóm kĩ thuật cao cấp (senior technical lead) của công ty Hootsuite ở một cái hội thảo tìm hiểu nghề nghiệp. Thấy mình tò mò hỏi đủ thứ chuyện trong ngành nên bác cũng say sưa kể chuyện về ti tỉ những thứ hay ho trong lập trình, rồi bảo mình một câu mà chắc có lẽ dẫn đến luôn cái việc xác định nghề nghiệp sau này,
"Công ty bác có chương trình thực tập duy nhất trong thành phố này dành cho học sinh trung học đó, nên nếu hứng thú cháu có thể thử!"
Chương trình thực tập cho học sinh? Wow, nghe ngầu đó chứ. 
Về nhà tìm hiểu thử thì mình mới biết Hootsuite là một công ty phần mềm chuyên quản lý nội dung của nhiều mạng xã hội cùng một lúc dành cho đủ loại doanh nghiệp lớn nhỏ. Mà ở thời điểm đó công ty cũng đang phát triển khá lắm, có tận hơn 15 cái văn phòng trên toàn cầu với trụ sở chính ngay tại Vancouver và doanh thu của công ty đang trên đà tăng trưởng mỗi năm vì nhu cầu ngày càng nhiều. Không gian lẫn văn hoá làm việc cũng hơi bị thú vị nên mình đã nghĩ nếu được làm việc ở đây sẽ là một trải nghiệm rất đáng nhớ.
Không gian làm việc siêu đẹp luôn nha
Thế là có đứa ham hố muốn nộp đơn xin việc, dù khi đó chưa mặn mà gì nhiều với ngành phát triển phần mềm. 

Phỏng vấn lần #1

Lúc mình tìm được thông tin ngày nộp đơn thì biết tin nó sẽ đóng trong vòng 2 tuần tới, nên mình đã cuống cuồng tìm hiểu về công ty, kỹ năng viết resume và kỹ năng phỏng vấn rồi mất 1 tuần thiết kế resume để quăng đơn vào những phút cuối. Vào thời điểm nộp đơn, mình còn chưa biết đến sự hiện diện của LinkedIn hay Github, và resume thì có thể nói là chém gió khá nhiều chứ chẳng có kinh nghiệm thực tế nào cả. Nhộn nhất là lần đầu tiên được phỏng vấn qua điện thoại, giọng mình lúc đó run kinh khủng rồi còn nói lắp bắp chẳng nên hồn. Cô phỏng vấn thấy tội quá nên nói chậm thật chậm như đánh vần cho trẻ mẫu giáo và còn gợi ý luôn cho câu trả lời, làm mình vừa buồn cười vừa muốn khóc. Vài tuần sau thì email báo kết quả y như dự đoán: bị từ chối

Giờ nhìn lại resume hồi ấy thì bựa thôi rồi...
Mình chán nản lên mạng đào sâu hơn nữa thì tìm ra được một sự thật khá đắng lòng: mỗi năm kỳ thực tập sinh này chỉ nhận 2-3 học sinh trong hơn 100 người nộp đơn và đây là điểm chung của những người từng được nhận, 
1. Con trai
2. Bắt đầu lập trình từ 8, 9 tuổi
Rõ ràng là mình chẳng nằm đâu trong mớ tiêu chuẩn đó - bản thân chỉ là một đứa con gái bắt đầu mò mẫm lập trình ở tuổi 16 trong khi đám con trai bằng tuổi ngoài kia đã viết game ầm ầm từ hồi bé tí. Lúc đấy đúng ra phải cảm thấy buồn nhưng không hiểu sao mình chỉ cực kỳ khó chịu và bức bối. Cái tư duy "năng lực con người khác nhau chỉ ở hành động" đã ăn sâu vào người làm mình lập tức gầm gừ với bản thân: thua keo này thì bày keo khác, năm tới nhất định phải dành được một suất vào làm đứa con gái thực tập đầu tiên trong lịch sử công ty!
Vì có tận một năm để chuẩn bị, mình đã ngồi xuống chia nhỏ ra 2 phần cần tập trung vào:
- Lấy kiến thức từ sách vở
- Lấy kinh nghiệm từ thực tế

1. Lấy kiến thức từ sách vở

Những tháng đầu là khoảng thời gian khó khăn nhất. Không phải vì lập trình căn bản khó, mà đó là khi tâm lý người mới học muốn bỏ cuộc nhất. Có rất nhiều khái niệm mới trừu tượng nên làm đa số cảm thấy khó thở vì nó không đơn giản như tưởng tượng chút nào. Cộng thêm việc học theo hướng dẫn miễn phí trên mạng sẽ hay rơi vào một bẫy phổ biến: làm theo như một cái máy, mọi thứ hoạt động, nhưng bạn thì không nắm rõ chuyện gì đang xảy ra. Bởi vậy nhiều người khoe với mình là làm được cả chục cái đồ án sau khi tự học một thời gian, nhưng tới khi mình hỏi đồ án này hoạt động thế nào hay dòng code kia có chức năng ra sao, họ không giải thích được. Để tránh lỗi "xây nhà từ nóc" này, mình đã cặm cụi trong 3 tháng đầu đọc cuốn sách giáo khoa về Java căn bản mà anh chị đã cho. 
Những giai đoạn mà bất kỳ ai tự học lập trình đều phải trải qua
Mỗi ngày sau khi học xong ở trường là mình lại hối hả chạy thẳng lên thư viện gần nhà dành ra tầm 6-7 tiếng học tiếp, vừa đọc vừa ghi chép, xong một chương thì làm bài tập trong sách rồi tự chấm điểm. Cách này chậm hơn một chút so với cách thông thường nhưng những kiến thức căn bản mình nắm được về ngôn ngữ lập trình nói chung và lập trình hướng đối tượng (Object-Oriented Programming) nói riêng thì vững và nhớ lâu hơn hẳn so với khi ngồi xem Youtube. Đến những chương lên cao thì mình được học thêm cả về nhiều thuật toán và cấu trúc dữ liệu khác nhau cực kỳ thú vị. Thật bất ngờ khi càng học thì mình càng mê mẩn bởi những cái hay của ngành lập trình như những ứng dụng thực tế trong đời sống hằng ngày, tư duy logic để giải quyết vấn đề, cách áp dụng sự sáng tạo vào những thứ khô khan, hay đơn giản là ngồi cả ngày chơi trò trốn tìm với dấu chấm phẩy (phần này thì không vui mấy...)
Đó là khi mình bỏ lại cái tính hiếu chiến "học để được thực tập", mà thay vì đó là "học vì thích". 

Sau khi đã có nền tảng chắc chắn rồi thì mình bắt đầu bung ra học những khoá MOOCS nổi tiếng ngoài kia như Harvard CS50x được học về khoa học máy tính căn bản dùng C và Python hay Columbia CSMM 101 tìm hiểu về trí tuệ nhân tạo và Machine Learning. Trong thời gian rảnh, mình tìm đọc những cuốn sách không cần đến kiến thức chuyên môn giải thích về cách hoạt động của Google, những thuật toán nổi tiếng, dữ liệu lớn, etc. hoặc tuỳ hứng tham gia các hội thảo về phát triển game hay mobile app.
Đáng nhớ nhất có lẽ là khi mình hoàn thành chứng chỉ Software Development Micromaster của UBC trong vòng 2 tuần của kỳ nghỉ xuân. Động lực chính lúc đó chẳng qua là do...thất tình. Mối tình đầu bất ngờ nói lời chia tay trong một ngày nắng đẹp làm cả thế giới nội tâm của mình như sụp đổ. Thế là 2 tuần sau đó, nếu may mắn đi qua thư viện thành phố, bạn sẽ được chứng kiến cảnh tượng kinh dị có thật: một con bé nước mắt nước mũi chảy tèm lem vừa sụt sùi khóc vừa cắm mặt vào laptop chép bài, trên mũi còn cắm nguyên hai cục khăn giấy to tướng chống nhỏ nước lên mặt giấy, đều đặn 12-15 tiếng mỗi ngày, 7 ngày mỗi tuần.
Kiểu như này nhưng mà là 2 cục giấy
(Giờ nghĩ lại lúc đó sao mà ảo thế không biết)
Tự học một thời gian, mình dần lấy được sự tự tin từ nền tảng kiến thức vững chắc qua sách vở và những khoá học trên mạng để từ đó lấy động lực tham gia vào đủ loại cuộc thi lớn bé.

2. Lấy kinh nghiệm từ thực tế

Hackathon là tên gọi chung của những cuộc thi kéo dài 24 / 36 / 48 giờ liên tục dành cho việc phát triển ý tưởng công nghệ, nên cơ bản là bạn sẽ phải mang theo laptop, gối, chăn, bàn chải đánh răng và những vật dụng cá nhân cần thiết để cắm sân qua đêm. Thể lệ cuộc thi thường khá đơn giản: bạn lập một đội từ 3 - 5 người, phát triển từ một ý tưởng sơ khai (nghiêm cấm bất kỳ hình thức chuẩn bị nào trước) thành một sản phẩm hoàn thiện, và cuối cuộc thi sẽ thuyết trình với với ban giám khảo. 
Có 2 loại hackathon:
- Kỹ thuật (techinical hackathon): thường dành cho lập trình viên và dân thiết kế. Người dự thi có thể phát triển bất kỳ thứ gì liên quan đến công nghệ. Phần mềm thì có app, web, game, etc. Phần cứng thì có robots, xe mini, etc. Giới hạn là bất cứ thứ gì điên rồ mà bạn có thể nghĩ ra.
- Không kỹ thuật (non-technical hackathon / case competition): dành cho tất cả ngành nghề. Cuộc thi sẽ đưa ra một đề tài hoặc vấn đề bất kỳ trên toàn cầu, trong thời gian cho phép bạn phải phát triển một mô hình và kế hoạch kinh doanh lẫn thiết kế hoành chỉnh cho giải pháp của bạn.

Trong 1 năm mình đã cố gắng đi cả hai vì mỗi loại có cái khó và hay riêng của nó. Nhớ lần đầu tiên tham dự một technical hackathon đã làm mình lo lắng đến mức lạc cả giọng, dù trước đó đã cố gắng chuẩn bị tâm lý. Lóng ngóng bước vào căn phòng toàn người lớn mà ai nhìn cũng giỏi giang làm mình cảm thấy thật nhỏ bé và vô dụng, dường như mớ kiến thực học được bốc hơi hết cả. Một khắc trong đầu còn loé qua suy nghĩ "hay là trốn về nhỉ?", nhưng thật may là mình đã tự tát bản thân một phát cho tỉnh rồi lấy hết can đảm tiến về phía một nhóm người lạ làm quen. Khi tới lượt mình giới thiệu xong thì mọi người đều ngỡ ngàng kiểu "trời, mới lớp 11 dám lấy gì mà thi thố?!", thế là 10 phút sau cả phòng quay quanh mình hỏi đủ thứ chuyện. Cả tối hôm đó rất vui khi lần đầu tiên mình được trải nghiệm cảm giác thức trắng đêm xây dựng sản phẩm cùng mọi người, tranh luận xôm xao cả một góc phòng dù những đội khác đã mệt quá và lăn ra ngủ gần hết. Thừa thắng xông lên, kể từ đó đến nay mình đã tham dự được 9 hackathons và thắng thua thì có đủ. Nhưng quan trọng hơn, mình đã được gặp gỡ rất nhiều người có kinh nghiệm trong ngành chịu khó ngồi xuống và kiên nhẫn giảng giải cho mình nghe những thứ họ biết và trải qua. Vì được mở mang tầm mắt mỗi lần đi như thế, kỹ năng lập trình của mình đã tiến bộ hơn rõ rệt trong một thời gian ngắn.
Giải nhất đầu tiên :D
Quen được rất nhiều bạn mới cùng ngành nữa
Một trong những hackathon để lại kỷ niệm sâu sắc nhất với mình là cuộc thi Hack The North vào tháng 9 vừa qua. Đây là hackathon lớn nhất Châu Mỹ với hơn 1,000 người dự thi đến từ khắp nơi trên thế giới được tổ chức ở bên tận bên bờ Đông của Canada. Sau khi mất cả tháng để thuyết phục gia đình, mình cuối cùng được tự thân xách ba lô bay qua Waterloo dự thi. Lần đầu tiên đi du lịch một mình, lần đầu tiên đến thành phố lạ, hay lần đầu tiên được tiếp xúc với những sinh viên tài năng đến từ Stanford, Harvard, Oxford đã làm mình choáng ngợp bởi những trải nghiệm quá sức mới mẻ và thú vị này. Đây là một hackathon hoành tráng nên rất nhiều công ty công nghệ lớn đổ về như Google, Deloitte, Facebook, etc., vì thế mình được dịp thoả thích hỏi họ những điều vẫn luôn tò mò. Ấn tượng nhất là cuộc thi cung cấp mọi thứ rất đầy đủ: đồ ăn thì 3 bữa mỗi ngày, mỗi bữa sẽ có những món từ nhiều văn hoá khác nhau và siêu chất lượng, ngoài ra còn có đồ ăn phụ như há cảo, khoai tây chiên, trà sữa giữa những buổi ăn chính, và còn cung cấp luôn những phòng nghỉ có túi ngủ ấm áp. Tại đây, đủ loại hoạt động được diễn ra ở đây để giúp thí sinh chơi xả stress: từ bắn cung, chiến súng nước, thi xếp ly, đến những hoạt động nhẹ nhành hơn như karaoke, chơi với chó. Cuộc thi cũng tổ chức rất nhiều những buổi hội thảo cho những ai muốn học thêm kiến thức mới và kỹ năng cần thiết cho đồ án của họ, còn có cả mentors từ nhiều công ty khác nhau để giúp đỡ 1-1 nếu đội nào cần. 

Điểm danh nhân tài từ khắp nơi trên thế giới
Hoạt động ăn chơi thì rõ nhiều nhưng đây lại là lần mình tập trung nhất - lần đầu tiên tự phát triển một phần mềm khá hoàn chỉnh mà không cần đến sự trợ giúp bên ngoài. Đội ban đầu chỉ có 3 người thôi, mình và một cặp đôi đến từ Bỉ hiện đang học cử nhân của ngành Computer Science. Ý tưởng dự thi của mình là một ứng dụng web nơi người dùng có thể tô màu những bức tranh vẽ sống động bằng cách hát - tiếng hát càng trầm thì màu càng đậm, khi giọng lên cao thì màu nhạt dần.
Thế là mình hứng khởi lao vào phán triển đồ án, mà khi bắt đầu thì một đống vấn đề dần nảy sinh. Vì ý tưởng này chưa từng được nghĩ ra trước đó nên không có một đồ án liên quan nào trên mạng có thể được đem ra nghiên cứu, nên kết quả là mình phải tự lực cánh sinh viết phần mềm lại từ đầu. Một khó khăn nữa mình đã phải đối mặt là hai anh chị vì bị lệch múi giờ nên đã bỏ cuộc giữa chừng, vì thế mình phải gánh hết vai trò cho đến lúc hoàn thành sản phẩm. Ngồi hơn 12 tiếng để tính toán những dữ liệu cần thiết cho mối quan hệ giữa ánh sáng và âm thanh từ tài liệu những năm 90s, mày mò tự học công nghệ mới để giúp hoạt động những thuật toán mình tự thiết kế, đụng phải lỗi, sửa lỗi, rồi vừa làm vừa học trong 36 giờ không ngủ. Cái cảnh tượng khá buồn cười khi giữa một căn phòng ngổn ngang máy tính và tiếng ngáy, là một đứa nhóc đang loay hoay hát thử vào cái microphone vào 4 giờ sáng. Chủ nhật hôm sau hạn nộp bài là 9:00AM, mình mắt nhắm mắt mở nộp lúc 8:59 rồi gục xuống bàn bất tỉnh luôn. 
(Đùa đấy, chỉ là mệt quá nên ngủ thôi)
Qua chuyến đi này, mình đã học được cực kỳ nhiều cái mới và kết được rất nhiều người bạn dễ thương xuyên lục địa. Và có thể nói, đây là một trong những cái project mình tự hào nhất cho đến nay, mặc dù đồng thời cũng nhận ra được một chân lý quý giá: giai đoạn lập đội rất quan trọng. 

Phỏng vấn lần #2

Xong hết những hoạt động và kiến thức cần thiết thì cũng vừa 1 năm, lần này mình dành hẳn cả tháng để chuẩn bị cho resume và thư giới thiệu. Phần lớn trong thời gian này, mình điều tra công ty kỹ đến nỗi thuộc hết cả lịch sử hình thành, quãng đời của nhà sáng lập kiêm CEO, những giá trị văn hoá, thậm chí còn theo dõi hết bất kỳ mạng xã hội nào họ có và cập nhật mỗi ngày tin tức mới nhất của công ty. Về công tác chuẩn bị, lần này thì LinkedIn lẫn Github của mình đã được chăm chút đầy đủ và nhân viên trong Hootsuite thì ở bộ phận nào cũng có người quen qua những lần hoạt động tích cực trong cộng đồng công nghệ thành phố.
Resume phiên bản  #2 sau một năm
Có lẽ vì thấy mình vừa nộp sớm nhất vừa có nhiều hoạt động, lần này công ty cho mình bỏ qua luôn phần phỏng vấn điện thoại và mời đến phỏng vấn trực tiếp. Vì đã chuẩn bị kĩ càng và tập luyện rất nhiều trước đó, buổi phỏng vấn diễn ra khá dễ chịu và mình được dịp phỏng vấn ngược lại những lập trình viên già dặn trong ngành. Lần đầu tiên được lắng nghe những chia sẻ về góc nhìn của người lâu năm trong giới, mình đã hào hứng đến nỗi tối đó nằm lăn lộn trên giường suy nghĩ đến 3 giờ sáng. Cảm giác thật sự rất thú vị. Vài tuần sau, mình nhận được thư chúc mừng của Hootsuite và khỏi phải nói có đứa đã xúc động đến thế nào. Khi đó quên mất là vẫn đang ở trong lớp nên đã hứng chí nhảy cẫng cả lên làm náo loạn cả lớp đang gật gà gật gù. Dù sau đó có bị tống cổ ra ngoài nhưng mình vẫn tít mắt lại cười toe toét với mọi người ngoài hành lang vì khó kiềm chế được cảm xúc phấn khích. Ngay sau buổi học, mình mừng rỡ chạy ào về nhà khoe với gia đình và tối hôm đó nhắm mắt cầu nguyện thật lâu, nói lời cảm ơn thật nhiều. Mãn nguyện quá chứ, mục tiêu theo đuổi cả năm cuối cùng cũng đủ sức nắm lấy được. 
Hành trình cố gắng trong vòng một năm nay đã giúp mình nhận ra 3 bài học lớn:

1. Dùng điểm yếu để làm nổi bật bản thân

Hãy nhìn thấy những cơ hội độc đáo để vượt lên khi bạn đang ở vị trí bất lợi. Đúng là ban đầu, mình chỉ là một đứa con gái bắt đầu lập trình lúc 16 tuổi nên nếu nói về mặt kinh nghiệm lẫn kiến thức thì thua hẳn những bạn nam cùng lứa. Nhưng cũng chính vì thế mà không ai dám đặt niềm tin hay kỳ vọng gì ở mình cả, hoặc không ai nghĩ con gái thì sẽ thành công trong ngành này. 
Tốt. Quá tốt.
Vì khi đó mình chỉ có duy nhất một việc là vững chân nhảy qua cái kỳ vọng họ vốn đã có trong đầu, hết lần này đến lần khác chứng minh cái định kiến của mọi người chỉ giúp mình làm tốt hơn chứ không phải ngược lại. Việc làm nổi bật bản thân chỉ nằm ở vấn đề thời gian khi bạn mỉm cười với định kiến và xem đó là cơ hội hành động.

2. Thoải mái với việc bị từ chối

Việc Hootsuite bị từ chối chỉ là một trong hàng trăm cuộc từ chối mà mình từng nhận được, và danh sách chắc chắn sẽ còn tiếp tục kéo dài ra nhiều trong tương lai. Thành công sẽ không đến ngay trong nay mai và nó cũng cần có yếu tố may mắn. Nhưng khi bạn hành động có mục đích, số lần thất bại mà bạn có đại diện cho khả năng thành công đang dần được nâng cấp. Đừng vội nản, mà thay vì đó hãy học cách đứng dậy nhanh sau những lần vấp ngã. Bởi sau cùng thì thành công cũng chỉ là đội lốt của trăm lần thất bại mà thôi.

3. Cách giải quyết nỗi buồn khi thất bại

Mình từng nghĩ "nước mắt là biểu hiện của sự yếu đuối", nên hồi đó mỗi lần đau lòng mình sẽ cố nén nước mắt lại và tỏ ra vui vẻ nhiều năng lượng gấp đôi bình thường. Nhưng mà cách đấy chỉ chứng tỏ mình là một đứa bé chưa lớn thôi. Giống một người cười khi vui, thì nước mắt cũng đơn giản là một phản ứng của nỗi buồn. Và mình dần nhận ra, những người biết khóc lại đôi khi mạnh mẽ hơn cả những người gắng gượng ôm hết vào lòng những vết thương, vì họ trút nỗi buồn hết một lần để mạnh mẽ lấy động lực bước tiếp. Bạn có thể buồn vì quá khứ, nhưng đừng sống trong nó mà hãy lấy nó làm đòn bẩy để bật lại làm chủ cuộc sống của bạn.
Biết cách giải toả và điều khiển cảm xúc tốt cũng là một kỹ năng cần thiết

Lời Kết

Chuyện thực tập vui và stress thế nào thì có thời gian rỗi mình sẽ kể, nhưng hai tháng hè năm 2018 được làm thực tập sinh ở Hootsuite chính thức đánh dấu tròn 4 năm mình qua Canada. 
Mình chỉ là một đứa rất bình thường làm những việc rất bình thường - chẳng cần tới trí tuệ xuất chúng, cũng chẳng cần thể lực cao siêu. Nên việc từ một đứa mù tiếng Anh khi nói không ai hiểu trở thành đứa con gái đầu tiên được nhận vào kỳ thực tập sinh ở Hootsuite, theo mình đó là cả một chuỗi quá trình của sự nỗ lực mà bất kỳ ai nếu cố gắng chăm chỉ đều có thể làm được. 
Mình tin thế.
Cảm ơn vì đã theo dõi đến phần cuối! :)
Scarlet.
146
4764 lượt xem
146
60
60 bình luận