You are on page 1of 161

Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Homer Truong Le Hoang


Vietnam Top Software Professional Mentor
Canada Master of Information Technology (IT)
Work experience in VN, AU, CA and US
http://www.facebook.com/homertruong66
http://www.facebook.com/tech3s.mentor/
http://www.tech3s-mentor.com
http://www.linkedin.com/in/truonglehoang

Hành trình ĐAM MÊ IT


Lời mở đầu .................................................................................................................................4
A. Học đại học và làm ở Việt Nam ........................................................................................5
1) Học nghề IT để thi tốt nghiệp PTCS (Vietnam) .............................................................. 5
2) Học lập trình Pascal ở cấp 3 (Vietnam) ........................................................................... 7
3) Học đại học ngành IT (Vietnam) ................................................................................... 10
4) Dự án XiangqiClub (Vietnam) ....................................................................................... 14
5) Dự án DMA (Vietnam) ................................................................................................... 17
6) Dự án SER5500 (Canada) .............................................................................................. 21
B. Học Master và làm ở Canada .........................................................................................28
7) Xin học bổng và học Master (Canada)........................................................................... 28
8) Dự án USPS (Canada) .................................................................................................... 71
9) Dự án LMS (Canada) ..................................................................................................... 86
10) Dự án iVision (Canada) ................................................................................................ 93
11) Dự án MPA (Canada) ................................................................................................... 96
12) Dự án GPM (Canada) ................................................................................................. 101
C. Về Việt Nam khởi nghiệp ..............................................................................................107
13) Dự án YCMS (Vietnam).............................................................................................. 107
14) Dự án YCRM (Vietnam) ............................................................................................. 111
15) Dự án SmartPush (Australia)..................................................................................... 112
16) Dự án SmartIntegrate (Australia) .............................................................................. 117
17) Dự án Awesm (USA) ................................................................................................... 122
18) Dự án UP (USA) ......................................................................................................... 132
19) Dự án P4SVVN (Vietnam).......................................................................................... 136

Page 2
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

20) Dự án RMS (Vietnam)................................................................................................. 144


21) Dự án SUPA (Taiwan) ................................................................................................ 148
Phụ Lục.................................................................................................................................. 150
1) Các từ tiếng Anh thông dụng sử dụng trong bài ......................................................... 150
2) Các quyển sách IT nền tảng đã đọc & tài liệu khác .................................................... 156
3) Bộ công cụ phát triển phần mềm .................................................................................. 159
Lời tổng kết ........................................................................................................................... 160

Page 3
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Lời mở đầu

Công nghệ thông tin (Information Technology – IT) là ngành sử dụng máy tính (Computer)
để lưu trữ, truy cập, truyền tải và xử lý thông tin, thường trong ngữ cảnh của một doanh
nghiệp (Enterprise), sau này mở rộng ra xã hội và toàn cầu.

Câu hỏi máy tính đầu tiên ra đời khi nào đến nay vẫn chưa có câu trả lời thống nhất trong thế
giới IT. Theo tôi tìm hiểu thì máy tính đầu tiên, giống máy tính ngày nay nhất, tên là Xerox
Alto ra đời năm 1974 có màn hình (Monitor), giao diện người dùng (User Interface – UI) và
chuột (Mouse).

Tôi đã bắt đầu làm quen với máy tính lần đầu tiên là năm 1993 với môn hệ điều hành
(Operating System – OS) tên là MS-DOS (Microsoft Disk Operating System), rồi năm 1994
tôi học thêm về vài phần mềm như VNI, VietRes, Lotus 123 trong chương trình dạy nghề IT
cho học sinh phổ thông để kiếm điểm cộng thêm cho kỳ thi tốt nghiệp phổ thông cơ sở
(PTCS).
Đến năm 1998 tôi đã chính thức bước vào đại học ngành IT và theo đuổi đam mê IT cho đến
nay (2019). Nhìn lại hành trình đam mê IT của tôi đã đi hơn 20+ năm cũng là một chặng
đường khá dài.

Nhân sự kiện sắp bước vào tuổi tứ tuần, tôi có dịp sống chậm một chút ngồi tổng hợp lại
những cột mốc chính trong hành trình ĐAM MÊ IT của tôi vào cuốn hồi ký này để tôi đánh
giá lại bản thân và đồng thời cung cấp một góc nhìn thực tế về ngành IT cho các bạn trẻ đang
học IT hoặc đang quan tâm đến ngành IT thông qua những trải nghiệm thực tiễn học/làm việc
trong ngành IT của tôi ở trong nước cũng như nước ngoài.

Hi vọng cuốn hồi ký này sẽ đem đến nhiều điều thú vị cho các bạn và giúp các bạn rút trích
được những thông tin bổ ích cho hành trình IT của mình.

Page 4
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

A. Học đại học và làm ở Việt Nam

1) Học nghề IT để thi tốt nghiệp PTCS (Vietnam)

Ngày xửa ngày xưa cách đây cỡ 30 năm, Sài Gòn rất vắng vẻ và bình yên.
Mỗi buổi sáng thanh bình tôi nghe tiếng gà gáy rất hay ho, buổi trưa thỉnh thoảng tôi nghe
tiếng leng keng của những ông bán cà lem cây, buổi tối yên tĩnh lâu lâu được khuấy động bởi
tiếng rao thật lớn và vang thật xa của 1 bà cụ đội 1 cái giỏ tròn vo trên đầu vừa đi vừa rao
trong xóm: “Ai hột vịt lộn, gà giữa, vịt ung không?......”.

Gia đình tôi sống trong 1 xóm lao động nghèo ở Quận Tân Bình. Thời buổi đó ai cũng khó
khăn nhưng cuộc sống xóm làng rất vui, láng giềng rất gẫn gũi và quan tâm nhau. Những trò
chơi cho trẻ con trong xóm thì vô cùng phong phú: ô quan, nhảy dây, chơi keo, banh đũa, ném
banh lỗ, đá banh mũ, bắn bi, tạt lon, tạt hình, tạt vé số, rượt bắt cứu bồ, gồng gánh lên mây,
bịt mắt bắt dê, bida, điện tử, cờ tướng, cờ vua, cờ cá ngựa, đánh bài tiến lên, đô-mi-nô…

Trong những món này thì tôi, khi ấy 9 tuổi, thích chơi cờ tướng nhất, kế đến là điện tử, chỉ khi
nào không chơi được 2 món này thì tôi mới chơi những món khác. Thế rồi tôi đã quánh cờ
tướng & chơi điện tử đến lúc ghiền hồi nào không hay!
Với cờ tướng thì tôi thích việc bày binh bố trận, khám phá các thế trận biến hóa khôn lường,
tính toán trước nhiều nước các chiến lược để làm sao tiêu diệt quân hoặc công thủng phòng
tuyến của đối phương, còn với điện tử thì tôi thích các trò chơi mang tính khám phá như
Super Mario đi hái nấm cứu công chúa, Contra đi bắn đạn giết trùm, Phi thuyền, 2 chị em…

Vào năm 1993, tôi đang học lớp 8 ở trường Nguyễn Gia Thiều – Quận Tân Bình, tôi không
nhớ rõ là Sở Giáo Dục Đào Tạo TPHCM hay cơ quan quản lý giáo dục nào đã tổ chức 1
chương trình dạy nghề với nhiều ngành nghề khác nhau (IT, điện, điện tử, may, thêu…) cho
học sinh lớp 8,9 tiếp xúc với các nghề, rồi sẽ thi lấy chứng chỉ nghề cơ bản. Học sinh lớp 9
nào đạt được điểm tốt thì sẽ được cộng thêm điểm cho kỳ thi tốt nghiệp PTCS.
Dù thích chơi điện tử nhưng tôi và vài đứa bạn đã đăng ký học IT vì nghe tụi nó nói ngành IT
mới mẻ có vẻ hay ho lắm!

Môn IT đầu tiên tôi được học là MS-DOS 3.3 với các khái niệm cơ bản về Tập tin (File), Thư
mục (Directory), Khởi động máy (Boot) với các tập tin hệ thống (System File) như
config.sys, command.com, autoexec.bat, các lệnh (Command) của MS-DOS…

Page 5
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Khi xuống phòng thực hành thì tôi thấy có một số máy tính với màn hình đen trắng, hoặc
mono (xanh lá cây), có vài cái bàn phím (Keyboard), chưa có chuột (Mouse).

Máy tính được khởi đồng bằng 1 đĩa mềm (Floppy Disk) 1.2MB (hình vuông, mỏng dính như
lá lúa và dài) hoặc 1.44MB (hình vuông dày hơn và ngắn hơn) chứa MS-DOS. Đặc điểm của
loại đĩa mềm này là rất dễ hư và cũng mau hư. Tôi nhớ có lần đi học về để vài đĩa mềm
1.2MB ở cái giỏ trước của xe đạp. Xe bị sụp ổ gà nhẹ thôi mà cũng hư hết 1 cái 😅. Mấy cái
đĩa 1.44MB để vài tháng không xài thì khi xài lại hay bị lỗi.

Ở mỗi bữa thực hành, sau khi khởi động máy tính xong thì chúng tôi thực hành gõ các lệnh
thao tác các files trên đĩa như sao chép (copy), di chuyển (move), sửa đổi (edit) files, rồi chạy
1 phần mềm huyền thoại: bắn trứng.
 Từ trên đỉnh màn hình các quả trứng (1 chấm trắng) rơi từ từ xuống với tốc độ rơi tăng
dần theo từng mức độ khó của chương trình.
 Phía dưới cùng màn hình là hình cái bàn phím thể hiện vị trí các ký tự trên bàn phím.
 Trứng rơi theo cột của ký tự nào thì khi gõ ký tự đó sẽ có 1 tia đạn (màu trắng) bắn bùm
chéo lên nát cái trứng được 1 điểm 😃.
Phần mềm này dùng để cho học viên luyện gõ bàn phím và nhớ các ký tự trên bàn phím.

Sang năm 1994 khi tôi lên lớp 9, tôi tiếp tục học IT trong chương trình nghề đó.
Lúc này tôi học về VNI, VietRes là các phần mềm soạn thảo văn bản trên nền MS-DOS (tựa
như MS Word bây giờ trên nền Windows). Tiếp đó là món Lotus 123 để thao tác trên các
bảng tính (SpreadSheet) cũng trên nền MS-DOS (tựa MS Excel bây giờ trên nền Windows).
Điều thú vị của năm này là các máy tính trong phòng thực hành đã có nhiều phần mềm và trò
chơi (Game) hơn để chúng tôi vọc:
 NC (Norton Commander): Phần mềm giúp thao tác trên files với GUI dạng khung dễ
dàng hơn so với gõ lệnh trong màn hình console đen trắng. Hiện nay phần mềm
“Windows Commander” rất thịnh với developers sử dụng hệ điều hành Windows.
 Snake: Trò chơi con rắn chạy trong các ô tường có hiện các số, càng “ăn” số theo thứ tự
tăng dần thì con rắn càng dài thêm càng dễ húc đầu vô tường.
 Billiards: Trò chơi bida lỗ.
 Tam quốc chí: Trò chơi đánh nhau giữa 2 người sử dụng các nhân vật trong truyện Tam
quốc diễn nghĩa (hình thức tương tự như trò “Street Fighter” trong trò chơi điện tử với các
nhân vật: Cô gái, Thằng Nhật, Thằng Mỹ, Thằng Mập, Thèn trùm là Thằng Công An).

Page 6
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

2) Học lập trình Pascal ở cấp 3 (Vietnam)

Lên cấp 3 tôi học ở trường Lê Hồng Phong, Quận 5, TPHCM. Trường này dạy 1 môn IT về
lập trình với ngôn ngữ Pascal trên nền MS-DOS cho học sinh lớp 10 và 11.

Tôi vào trường Lê Hồng Phong là do một sự tình cờ.


Số là sau kỳ thi tốt nghiệp PTCS, tôi đủ điểm để được tuyển thẳng vào trường Nguyễn
Thượng Hiền, Quận Tân Bình và tôi đã nộp hồ sơ xong, chờ ngày nhập học. Tình cờ vào một
ngày đẹp trời Ba tôi chở đi đâu đó ngang qua trường Lê Hồng Phong. Tôi thấy ngôi trường
này khá to và đẹp nhưng không nghĩ đến chuyện thi vô vì đã nộp xong hồ sơ bên kia rồi.

Thế rồi đám bạn cấp 2 rủ tôi đi luyện thi vào trường Lê Hồng Phong. Lúc ấy tôi đang rãnh và
cũng thắc mắc là đề thi vào trường đó thế nào nên mới đi học thử 2 tháng rồi thi cho biết.
Tôi thi Ban A với 3 môn Toán/Văn/English. Đề thi công nhận khá khó so với trình độ tôi khi
đó, dù đã học luyện thi trước. Tôi đã làm hết khả năng của mình nhưng không có môn nào
xong hết nên tôi nghĩ rớt chắc rồi. Ai dè với kết quả tôi đạt được khá khiêm tốn là 6đ Toán,
5.5đ Văn & 3.5đ English (tiếng Anh quả thặc là thê thảm 😆) lại vừa đủ điểm đậu.
Nói đến thi tuyển thì yếu tố may mắn cũng đóng vai trò khá quan trọng ngoài việc đã chuẩn bị
chuyên môn. Nhiều khi mình làm bài tốt cũng chưa chắc đậu, và làm bài không được tốt cũng
chưa chắc rớt, phụ thuộc vào các thí sinh khác cùng thi với mình trong kỳ thi đó nữa.

Ba Má tôi thấy tôi đậu vô trường Lê Hồng Phong thì đã khuyên tôi đổi từ trường Nguyễn
Thượng Hiền qua với giải thích là trường Lê Hồng Phong tốt hơn. Thật sự lúc đó tôi không
quan tâm lắm đến trường nào tốt hơn trường nào mà tôi quan tâm nhiều hơn đến việc luyện
tập/thi đấu các giải Cờ Tướng học sinh (bởi tôi đang là thành viên đội Cờ Tướng năng khiếu
dự bị tập trung của trường nghiệp vụ TPHCM). Vì thế tôi cân nhắc giữa 2 trường này ở chỗ
trường Nguyễn Thượng Hiền gần nhà tôi hơn (cách ~1km so với ~6km) còn trường Lê Hồng
Phong to và đẹp hơn. Cuối cùng tôi đã chọn trường Lê Hồng Phong vì nó to đẹp và vài đứa
bạn cũng đã chọn nó nên lúc đi học xa mà đi chung cả đám cũng vui.

Page 7
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Vào mùa thu năm 1995, tôi đã bước vào năm lớp 10 ở trường Lê Hồng Phong với quá nhiều
bỡ ngỡ do năm đầu cấp 3 và bị cú sốc khá nặng với cái trường này: Thi kiểm tra đầu năm với
3 môn Toán, Lý, Hóa tôi đều đạt điểm dưới trung bình 😒  Đây là điều chưa từng xảy ra
với tôi trong 9 năm học trước đó. Dù sốc nhưng đây là điều hợp lý vì tôi vô học trường này
mà không có chuẩn bị kỹ từ trước và học cấp 3 cũng khác và khó hơn nhiều so với cấp 2.
Tôi đã rất vất vả và đắm đuối để đu theo chương trình lớp 10 của trường nhằm “trụ hạng”
thành công 😅. Bởi thế tôi đã không có nhiều thời gian cho môn Pascal vốn chỉ là 1 môn phụ,
mà tôi học chủ yếu lấy điểm cho xong chứ không có tâm trí để tìm tòi học hỏi thêm ở ngoài.

Qua năm lớp 11, việc học của tôi đỡ hơn tí nên tôi có nhiều thời gian hơn dành cho môn
Pascal. Năm này học sinh được thực hành trên máy tính nhiều hơn năm trước nên tôi vọc
được Pascal nhiều hơn, có thể tự viết được vài chương trình đơn giản (ví dụ như giải phương
trình bậc 1, bậc 2, tính đệ qui giai thừa, dãy số Fibonaci, in các hình tam giác, hình ngôi sao,
hình kim tử tháp…) chủ yếu sử dụng các kiểu dữ liệu (Data Type) cơ bản và các luồng điều
khiển (Control Flow) cốt lõi.

Trong lớp tôi có một số đồng chí không biết học Pascal từ bao giờ mà lập trình gõ bàn phím
nhanh như đánh đàn piano, viết mấy chương trình hay ho với số lượng code khá nhiều và nhìn
rất ư là phức tạp. Điều này cũng gây cho tôi sự tò mò và thích thú với món lập trình nói riêng
và ngành IT nói chung.

Đề thi học kỳ môn Pascal năm ấy với tôi và phần lớn dân trong lớp thuộc dạng khó nhằn,
nhưng đối với các đồng chí trên thì đơn giản như ăn kẹo. Cũng may là thầy dạy Pascal cũng
khá dễ, cho đề xong đi ra ngoài lớp, đến khi về lại lớp cũng không la khi bà con thảo luận nho
nhỏ, miễn sao không sao chép bài của nhau là ok, thế là các đồng chí này đã hỗ trợ bà con
trong lớp vượt khó thành công tốt đẹp 😅. Đây cũng là 1 kỉ niệm vui của lớp tôi mà sau này
có dịp gặp mặt mọi người cũng có nói đến.

Cuối năm lớp 12 lúc chọn trường đại học để thi, một số bạn trong lớp tôi đã có kế hoạch đi du
học từ trước, phần lớn còn lại trong đó có tôi thì cũng chưa biết theo ngành nghề gì vì việc
định hướng nghề nghiệp giai đoạn đó không có nhiều và rõ ràng. Trong lớp trao đổi điền
phiếu đăng ký thi thì có một số ngành được số đông chọn: IT & Điện/Điện tử & Xây dựng
(thi đợt 1), Ngoại thương & Kinh tế (thi dợt 2) và Luật (thi đợt 3).

Page 8
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Kỳ thi đại học năm 1998 cho phép mỗi học sinh được thi 3 trường, chọn 1 trường/1 đợt. Tôi
nghĩ tính tình tôi sẽ phù hợp với ngành kỹ thuật và thích IT nên đã chọn thi IT đợt 1, bên cạnh
đó tôi chọn thi Kinh tế đợt 2 & thi Luật đợt 3. Tuy chọn 3 ngành nhưng trọng tâm của tôi vẫn
là IT, nếu rớt thì sẽ dự định học thi lại vào năm sau.

Kết quả thi là tôi đã đủ điểm đậu vào Khoa IT của trường Đại Học Bách Khoa TPHCM.

Page 9
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

3) Học đại học ngành IT (Vietnam)

Hè năm 1998 vừa qua đi, tôi trở thành tân sinh viên của trường ĐHBK TPHCM, bước vào
giai đoạn đại cương học chung với toàn bộ sinh viên ở tất cả các Khoa của trường.

Sau giai đoạn đại cương (3 học kỳ - 1.5 năm), tôi bước vào học giai đoạn chuyên ngành ở
Khoa IT. Giai đoạn chuyên ngành gồm 6 học kỳ học theo mô hình tín chỉ. Các sinh viên được
quyền chọn các môn học cho mỗi học kỳ sao cho số tín chỉ trong 1 học kỳ chỉ từ 14 đến 21 tín
chỉ. Nếu sinh viên không chọn thì sẽ học theo sự bố trí môn học của Khoa.

Lúc đó tôi thật sự không có thông tin gì về ngành IT, chỉ có chút kiến thức từ hồi học nghề IT
và cấp 3 (cũng đã lạc hậu hết rồi), không biết IT có những màng nào, và cũng chưa rõ học
xong sẽ có thể ra làm được những việc gì luôn. Vì thế hiển nhiên tôi cứ học theo sự sắp đặt
của trường. Đây cũng là lựa chọn của số đông sinh viên khóa tôi. Chỉ một số nhỏ sinh viên
nào đã có định hướng nghề nghiệp rõ ràng, có thể từ người thân đi trước, mới tự lựa chọn
được các môn học.

Đây là danh sách các môn tôi đã học trong 6 học kỳ chuyên ngành theo sắp xếp của Khoa IT:

Ngay thời điểm đăng ký thi IT hồi năm lớp 12, tôi đã hình dung ra viễn cảnh khi vô học sẽ
được học lắp ráp máy tính, rồi cài đặt hệ điều hành, cài đặt các phần mềm và lập trình trên đó
các kiểu sẽ rất là thú vị 😇

Page 10
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Nhưng thực tế thì không có phần lắp ráp máy tính, và tôi đã học hết học kỳ thứ 4 vẫn chưa
được đụng đến máy tính 😅. Tôi đã tự học 1 khóa lắp ráp, cài đặt máy tính ở Thành đoàn
trong Nhà văn hóa thanh niên TPHCM để hiểu thêm về một số phần cứng (Hardware) và
một số phần mềm (Software) thông dụng.

Đến học kỳ thứ 5 có phần thực hành ngôn ngữ lập trình (Programming Language) thì tôi
mới được đụng đến máy tính để lập trình 2 món: Prolog (ngôn ngữ thuộc nhóm lập trình
logic) & Small Talk (ngôn ngữ thuộc nhóm lập trình hướng đối tượng (Object-Oriented
Programming – OOP)). Tư duy lập trình của ngôn ngữ Prolog theo hướng đặc tả
(Declarative Programming) hơi khác so với các ngôn ngữ thông thường theo hướng mệnh
lệnh (Imperative Programming): chúng ta đặc tả bài toán (WHAT) theo logic -> máy sẽ tự
tìm giải pháp (HOW) để giải.
Sau đó tôi học các môn màu cam & màu xanh đậm thì thực hành nhiều trên máy tính hơn.

Những môn màu cam là những môn cốt lõi của ngành IT mà bất cứ một dân IT dù theo bất cứ
nghề IT nào cũng bắt buộc phải nắm vững phần nền tảng để làm công việc của mình hiệu quả.
1. Cấu trúc máy tính (Computer Structure): cung cấp kiến thức về các thành phần cấu tạo
nên máy tính và cách máy tính vận hành tương tác với người dùng.
2. Ngôn ngữ lập trình (Programming Language): cho biết một ngôn ngữ lập trình dùng để
viết ra các chương trình máy tính gồm có những gì, hoạt động ra sao.
3. Lập trình hướng đối tượng (OOP – Object-Oriented Programming): giới thiệu một
mô hình lập trình hiệu quả hơn khi xây dựng các chương trình máy tính lớn so với mô
hình lập trình truyền thống theo hướng thủ tục.
4. Cấu trúc dữ liệu (Data Structure): cung cấp kiến thức về việc lưu trữ và truy xuất dữ
liệu của chương trình máy tính khi chạy.
5. Cơ sở dữ liệu (Database): giới thiệu cách lưu trữ dữ liệu mang tính lâu dài và truy vấn
dữ liệu của các chương trình máy tính.
6. Hệ điều hành (Operating System): cung cấp kiến thức về một phần mềm có nhiệm vụ
điều hành mọi hoạt động của máy tính.
7. Mạng máy tính (Computer Network): cho biết các máy tính kết nối với nhau như thế
nào để chia sẻ dữ liệu ra sao.
8. Công nghệ phần mềm (Software Engineering): giới thiệu cách thức & các qui trình xây
dựng phần mềm máy tính.

Page 11
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

9. Trí tuệ nhân tạo (Artificial Intelligence): giới thiệu mảng khoa học nghiên cứu về việc
sử dụng máy tính làm các tác vụ mà con người khó/không thể làm được.

Các môn này liên hệ mật thiết với nhau giúp cho việc xây dựng 1 hệ thống IT hoàn chỉnh như
hình sau:

Vì đây là những môn nền tảng nên học khá nhiều về lý thuyết hơi bị khô khan và ngán. Ví dụ
điển hình là món “Ngôn ngữ lập trình” học chung chung với rất nhiều khái niệm trừu tượng,
lại không được thực hành trên 1 ngôn ngữ cụ thể nào hết (Môn thực hành ngôn ngữ lập trình
là 1 môn khác học sau môn này) nên hơi bị khó hình dung, toàn tự chạy chương trình thầy cho
viết bằng mã giả (Pseudo-code) trên giấy để suy luận xem chương trình chạy như thế nào, kết
quả sẽ ra sao 😅.
Thời gian đầu tôi học những môn này phải nói là rất vất vả và hơi nhũn não. Nhưng nhờ sự
đam mê IT cộng với tính kiên trì của một vận động viên cờ tướng, tôi đã cố gắng học hết sức
thì từ từ tôi cũng hiểu ra sự liên hệ giữa các nhánh của ngành IT. Từ đây việc học các môn IT
khác bớt khó khăn hơn.

Những môn màu xanh đậm là những môn cần thiết để học nhằm tích lũy thêm kiến thức.

Page 12
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Những môn màu xanh nghiêng (Quản lý doanh nghiệp, Phương pháp tính, CNXH Khoa học,
Vi xử lý, Kỹ thuật truyền số liệu, Phân tích thiết kế hệ thống DFD, Xử lý song song, Cơ sở dữ
liệu phân bố) thực sự chưa cần thiết để học trong giai đoạn chuyên ngành, sau khi tốt nghiệp
đi làm ai có nhu cầu thì học sẽ phù hợp hơn.

Những môn màu xanh nghiêng còn lại (Cơ ứng dụng, Mạch điện 1, Mạch điện tử 1, Thực tập
điện/điện tử, Đo điện, Thực tập đo điện, Vẽ kỹ thuật) quả thực là những môn không cần thiết
để học cho chuyên ngành IT. Có thể sau này ai đi làm đụng đến những mảng này thì học riêng
sẽ thuận tiện hơn. Tôi và các bạn trong khóa thực sự rất cực nhọc để học những môn vô
thưởng vô phạt này. Không những vậy mà cũng có khá nhiều bạn vì những môn này mà kẹt
tốt nghiệp các học kỳ sau đó. Tôi may mắn vừa đủ điểm qua những môn này nên không bị kẹt
vụ tốt nghiệp, nhưng điểm làng nhàng của những môn này của tôi cũng đã ảnh hưởng phần
nào đến điểm tốt nghiệp (GPA) khi tôi nộp đơn xin du học ở các trường nước ngoài sau đó.

Trong thời gian học chuyên ngành, tôi quan sát thấy cũng nhiều bạn trong khóa học theo
nhóm rất là hiệu quả, vừa giúp họ tiết kiệm thời gian vừa đạt điểm số tốt hơn so với họ tự học.
Rất tiếc lúc đó tôi không có tham gia nhóm nào để học chung mà cứ lủi thủi học một mình.
Môn nào có bài tập làm chung với ai đó thì tôi mới cùng học & làm với bạn đó. Học một
mình vừa mất nhiều thời gian và chịu nhiều áp lực do số môn học khá nhiều trong 1 học kỳ.

Giờ ngồi nghĩ lại tôi thấy mình có một tí sai sai khi bỏ thời gian học các môn đều như nhau
với kỳ vọng sẽ có điểm tốt nghiệp tốt hơn. Nhưng bất cứ ai học dàn trải như vậy thì không thể
nào học tốt tất cả các môn được ngoại trừ nhân tài. Tôi thì không thuộc dạng này rồi 😆.

Cách học phù hợp hơn nên là:


 Tập trung toàn lực học các môn màu cam & xanh đậm trước, chắc mất khoảng 3 học kỳ
 Xin đi thực tập liền (trong khi vẫn còn nhớ các môn màu cam) để tích lũy kinh nghiệm
thực tế (thời đó việc này có lẽ khó khăn hơn rất nhiều so với thời nay nhưng là việc rất rất
ư là phải làm).
 Học các môn màu xanh nghiêng cho qua, không cần thiết phải bỏ nhiều thời gian với kỳ
vọng lấy điểm tốt ở những môn này.
 Quan trọng nữa là nên học theo nhóm!!!

Page 13
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

4) Dự án XiangqiClub (Vietnam)

Năm 2002, tôi bước vào năm cuối và chọn đề tài tốt nghiệp. Khoa IT có đưa ra một danh sách
các đề tài tham khảo để sinh viên chọn hoặc sinh viên có thể tự nghĩ ra đề tài rồi tìm giáo viên
nào đồng ý hướng dẫn thì làm. Tôi có xem qua danh sách đó nhưng không thấy đề tài nào mà
tôi biết và hứng thú để làm.

Thế là tôi đã tự nghĩ ra 1 đề tài. Lúc đó tôi đang là 1 kỳ thủ của đội tuyển cờ tướng
TPHCM. Tôi thấy ở Việt Nam chưa có 1 Câu lạc bộ (CLB) cờ tướng nào trên mạng giúp các
kỳ thủ cả nước tham gia giao lưu học hỏi lẫn nhau cũng như chưa có phần mềm cờ tướng (sử
dụng Trí tuệ nhân tạo (Artificial Intelligence – AI) nào hay để kỳ thủ tự luyện tập (khi ấy có
chương trình cờ tướng “cch” của Trung Quốc với các nhân vật vui như Bát Giới, Sa Tăng..
nhưng chương trình đó đánh cũng không quá hay). Vì vậy tôi đã trình bày ý tưởng làm dự án
Xiangqi Club (XQC - CLB Cờ tướng online) với thầy Quân thì thật là vui khi thầy, một người
cũng thích môn cờ tướng, đã đồng ý cho tôi & bạn Vinh cùng khoa làm để bảo vệ luận văn tốt
nghiệp, nếu dự án được đánh giá tốt thì sẽ tiếp tục phát triển tiếp đưa vào sử dụng thực tế.

Vào thời điểm đó, trên thị trường IT, số lượng ngôn ngữ làm web cũng không nhiều lắm.
Một số công nghệ phổ biến như CGI (Common Gateway Interface), ASP (Active Server
Pages), JSP (Java Server Pages)... Với CGI thì khá cũ và chậm, còn ASP của Microsoft thì
tôi từng có trải nghiệm khá đắm đuối với cái thư viện MFC (Microsoft Foundation Class) nên
cũng hơi ngán, do đó, tôi quyết định thử món JSP dựa trên nền tảng Java.

Thế là tôi bắt đầu làm quen với Java: học cơ bản với J2SE 1.4 (Java 2nd Standard Edition)
và phần web là Servlets/JSPs trên J2EE 1.3 (Java 2nd Enterprise Edition).

Từ ý tưởng ban đầu là 1 CLB Cờ tướng online, tôi đã phải vừa phân tích vừa tham khảo ý
kiến của các kỳ thủ bạn tôi để đưa ra các yêu cầu chi tiết hơn của phần mềm XQC.
Các tính năng cơ bản của XQC bao gồm:
1. Một website cho phép khách tham quan đăng ký thành viên để trở thành kỳ thủ của CLB,
tổ chức các giải cờ tướng online cho các kỳ thủ.
2. Một chương trình client-server cho phép các kỳ thủ đấu cờ tướng với nhau qua mạng, cho
phép khách tham quan theo dõi các ván đấu online.

Page 14
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

3. Một chương trình cờ tướng máy đánh với người sử dụng AI để các kỳ thủ tự luyện cờ
offline, có gợi ý nước đi cho kỳ thủ.

Các khó khăn mà tôi đã gặp phải trong quá trình xây dựng XQC:
1. Lĩnh vực làm CLB trên website khá mới, tôi chưa có kiến thức gì.
2. Công nghệ mới do tôi chỉ mới là sinh viên sắp ra trường chưa từng đụng đến.
3. Tôi chưa có kỹ năng lập trình nhiều ngoài lập trình cơ bản với Pascal.
4. Giải thuật Minimax/Alpha-Beta để tìm nước đi bên AI khá phức tạp.

Mô hình phát triển của dự án XQC được đặc tả trong hình dưới đây:

Sau khi cùng nhau thảo luận để phân tích, thiết kế xong phần mềm XQC, tôi và Vinh phân
chia công việc để cùng thực thi:
 Tôi và Vinh chia nhau xây dựng các trang web động (Dynamic Web Page) dùng JSPs.
 Tôi đảm nhận viết phần “client” trong chương trình cờ tướng 2 kỳ thủ đấu qua mạng và
phần máy đánh với người (AI Module trong hình). Vinh làm phần “server”.
 Phần web, client-server thì tôi và Vinh tự học tự mò dưới sự hướng dẫn của thầy Quân
cuối cùng cũng ok.
 Phần máy đánh với người sử dụng giải thuật Alpha-Beta khá phức tạp, tôi lập trình xong
phiên bản đầu tiên thì máy đánh...dốt vãi 😃

Page 15
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tôi đã dành ra vài tuần tham khảo thêm tài liệu này nọ để cải tiến thì máy đánh lên trình độ tí
nhưng vẫn rất dở 😅. May mắn thay tôi gặp được 1 huynh khóa trên từng làm cái này. Ảnh
đã mentor tôi một số kỹ thuật cải thiện khả năng tìm kiếm nước đi của máy cũng như nâng
cao hàm lượng giá thế cờ. Kết quả là máy đánh khá lên cũng đáng kể!

Tuy nhiên, thời điểm đó máy tính của tôi quá ít bộ nhớ truy cập ngẫu nhiên (Random Access
Memory – RAM) nên tôi chỉ chỉnh được độ sâu tìm kiếm là 6 tương đương máy suy nghĩ chỉ
được 3 nước cờ và phần kiến thức cờ tướng cho máy đánh giá thế cờ tôi cũng không có thời
gian bỏ vô nhiều nên trình độ của máy chỉ ở mức trung bình, không đủ khả năng cho kỳ thủ tự
luyện. Vậy mà máy đánh thắng được thầy Sách, thầy phản biện tôi về giải thuật Alpha-Beta,
chắc nhờ vậy mà thầy cho tôi đậu chương trình AI này 😆, hihi just kidding.

Dự án XQC bọn tôi làm xong bảo vệ được A+, tuy nhiên XQC chỉ mới gọi là chạy được chứ
đem vào sử dụng thực tế thì cần đầu tư thêm rất rất nhiều thời gian và công sức.
Vì vậy tôi đã tạm cất dự án vô kho, đợi khi nào có dịp đem ra làm tiếp để đưa vào sử dụng
thực tế trong cộng đồng cờ tướng ở Việt Nam...

Những kiến thức tôi đã học/hành được trong dự án này:


1. Java SE: ngôn ngữ lập trình Java phần nền móng
2. Java Swing: thư viện giúp xây dựng giao diện ứng dụng Windows
3. Socket & ServerSocket: thư viện giúp lập trình kết nối các chương trình máy tính với
nhau theo mô hình client-server
4. JDBC: thư viện kết nối cơ sở dữ liệu
5. Servlets: thư viện làm trang web động
6. JSPs: mở rộng của Servlets giúp cho việc xây dựng trang web động thuận tiện hơn
7. JSTLs (JSP Standard Tag Libs): tiện ích bổ sung cho JSPs
8. HTML/CSS: ngôn ngữ giúp xây dựng 1 trang web chạy trên trình duyệt web
9. MS Access: cơ sở dữ liệu quan hệ của Microsoft
10. AI (Artificial Intelligence): Trí tuệ nhân tạo
11. Mini-max algorithm: giải thuật tìm nước đi trong 1 trò chơi đối khác
12. Alpha-Beta algorithm: cải tiến của giải thuật Mini-max giúp tìm nước đi nhanh hơn bằng
cách cắt bỏ các nhánh đã biết trước sẽ không tìm được nước tốt hơn nước hiện tại.

Page 16
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

5) Dự án DMA (Vietnam)

Sau khi bảo vệ luận văn tốt nghiệp với dự án XQC thì tôi tốt nghiệp đại học và bắt đầu hành
trình tìm việc làm…… Với kiến thức học & làm dự án XQC trên nền tảng Java, tôi nhắm tìm
việc liên quan đến lập trình Java.

Trong giai đoạn năm 2003 thì công cuộc tìm việc làm rất là khó khăn vì các phương tiện để
tiếp cận nguồn việc làm rất hạn chế, chủ yếu là qua vài tờ báo hàng tuần có các khung tuyển
dụng nho nhỏ. Tôi là sinh viên mới tốt nghiệp lại không có kinh nghiệm làm việc thực tế (do
thời gian học đại học tôi còn đi thi đấu cờ tướng kiếm thêm thu nhập từ lương cờ tướng, còn
bạn bè tôi thì đi thực tập/kiếm dự án làm thêm) nên lại càng khó khăn hơn.

Tôi đã phỏng vấn vài chỗ thì đều rớt do không đưa ra được các ví dụ thực tế sau khi trả lời lý
thuyết khá trôi chảy (tôi luôn chuẩn bị lý thuyết kỹ lưỡng trước mỗi cuộc phỏng vấn).
Trong đợt ứng tuyển tiếp theo, tôi tình cờ ứng tuyển chung với 2 đứa bạn cùng Khoa IT vô 1
công ty gia công phần mềm, tôi đã trả lời phỏng vấn thấy cũng tạm ổn, kết quả là 2 đứa đó
đậu do có kinh nghiệm thực tập thực tế, còn tôi thì lại tiếp tục rớt . Rõ ràng là tụi nó có sự
chuẩn bị tốt hơn tôi từ khi còn ngồi trên ghế giảng đường đại học.

Khoảng thời gian đó phải nói là cực kỳ thất vọng đối với tôi. Dù gì tôi cũng đã cày cuốc suốt
4.5 năm đại học, cày luận văn tốt nghiệp được A+, xếp hạng tốt nghiệp đại học cũng thuộc
loại khá giỏi (7.7/10). Thế mà giờ đây đi xin việc làm thật là lận đận…
Rồi tôi đã chợt nhận ra lý do khiến tôi học lớp 10 ở trường Lê Hồng Phong quá vất vả và đi
tìm việc khá khó khăn sau đại học là bởi vì tôi đã bỏ qua một việc cực kỳ quan trọng: ĐỊNH
HƯỚNG HỌC HÀNH và NGHỀ NGHIỆP. Phải có định hướng mới đưa ra được bản kế
hoạch chuẩn bị để thực hiện các bước đi theo hướng đã xác định thì kết quả mới tốt được.

Vào một ngày nắng đẹp, tôi bỏ qua vụ án xin việc làm ra khỏi não mà chạy xe đạp vòng thành
phố dạo chơi thư giãn. Khi đang chạy trên đường Tú Xương, Quận 3 thì xe tôi bị vấn đề gì đó,
tôi dừng xe lại xem sao. Sau khi xem xong tôi leo lên xe chuẩn bị đi tiếp thì tình cờ tôi thấy
cái bảng tuyển dụng nhân sự IT ở 1 cửa sổ của 1 công ty gần đó. Sẵn tiện tôi ghé vào hỏi thăm
luôn. Bác bảo vệ nói tôi muốn ứng tuyển thì về in hồ sơ ra rồi nộp vô. Bác đưa tôi danh sách
các giấy tờ cần thiết. Haizzzz, hồi đó mỗi lần chuẩn bị hồ sơ nộp xin việc thặc là mắc mệt 😆

Page 17
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Từ nhỏ đến lúc ấy thì số tôi hơi có duyên với những cái gì TÌNH CỜ nên tôi đã chịu khó chạy
về nhà chuẩn bị hồ sơ rồi chạy lên nộp vô ứng tuyển.
Ngày đi phỏng vấn buổi sáng tôi gặp anh Khải hỏi về kỹ thuật & chiều gặp anh Việt kiều Mỹ
tên Chris, Phó giảm đốc kiêm trưởng phòng. Hai anh này chỉ hỏi tôi kiến thức nền tảng IT và
một số câu hỏi về kỹ năng mềm. Kết quả là tôi được nhận vô phòng phần mềm (Software
Department) làm nhân viên phát triển phần mềm (Software Developer) của công ty
SaigonTel ở TPHCM.

Dù tôi tìm việc về lập trình Java nhưng lại được nhận ở 1 công ty đang xài công nghệ của
Microsoft .Net, cụ thể là ngôn ngữ C#. Thế là tôi chuyển từ lập trình Java sang lập trình C#
luôn. Do tôi đã học môn Ngôn ngữ lập trình trong ĐHBK (từng lên bờ xuống ruộng với thầy
Phùng 😅) có kiến thức nền tảng về lập trình tương đối ổn và nhờ anh em trong công ty hỗ
trợ rất nhiệt tình nên tôi đã nắm bắt cũng khá tốt nền tảng công nghệ của công ty.

Sản phẩm phần mềm tôi tham gia phát triển là xây dựng 1 ứng dụng quản lý công văn
(Document Management Application – DMA) cho các đơn vị hành chính. Đây là một mô đun
(Module) nhỏ trong 1 Hệ thống khá lớn có thể xem như ERP (Enterprise Resource
Planning) cho các doanh nghiệp nhà nước/tư nhân. Tôi đã đảm nhận phát triển ứng dụng này
một mình, các anh/chị lớn khác làm các mô đun khác lớn hơn. Tất cả mô đun đều dựa trên 1
kiến trúc phần mềm tổng thể do nhóm kiến trúc sư phần mềm của công ty xây dựng.

Tính năng cơ bản của ứng dụng DMA là giúp cho các đơn vị hành chính, doanh nghiệp xử lý
công văn (đến/đi), duyệt công văn theo dây chuyền (Approval Chain) một cách hiệu quả.

Các khó khăn mà tôi đã gặp phải khi xây dựng DMA:
1. Lĩnh vực công văn khá mới với tôi nên tôi chưa có kiến thức lĩnh vực (Domain
Knowledge), vì vậy gặp nhiều trở ngại khi phân tích nghiệp vụ xử lý công văn.
2. C#/.Net cũng là công nghệ mới với tôi.
3. Tôi làm một mình mà lại chưa có kinh nghiệm nhiều về phát triển phần mềm dù được anh
trưởng nhóm hỗ trợ khi cần.

Page 18
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Mô hình phát triển của dự án DMA được đặc tả trong hình dưới đây:

Tôi xây dựng giao diện (User Interface – UI) bằng C# Forms, dựa trên các common
components (table, create form, update form, upload form…) mà công ty xây dựng sẵn.

Bên server-side thì công ty đã xây dựng kiến trúc đa lớp (N-layered Architecture), tôi lập
trình C# để xử lý nghiệp vụ là chủ yếu. Khi có vấn đề gì về kỹ thuật thì có các anh lớn hỗ trợ,
vấn đề về nghiệp vụ thì anh trưởng nhóm hỗ trợ. Nhờ dự án này mà tôi biết được N-layered
Architecture thực tế được xây dựng ra sao chứ đọc lý thuyết khá mơ hồ.

Phần cơ sở dữ liệu xài Microsoft SQL. Đây cũng là công nghệ mới giúp tôi học thêm được
một số tính năng thực tế khi thiết kế và làm việc trên cơ sở dữ liệu như Stored Procedures
(hầu như hiện giờ rất ít được sử dụng), Constraints, Indexes…

Tôi làm dự án DMA cỡ 1 năm thì đã hiểu rõ hơn về việc phát triển phần mềm thực tế.

Trong thời gian làm việc trong phòng phần mềm, tôi đã có dịp tiếp xúc với các đồng nghiệp:
 Anh Lý, thiết kế đồ họa (Graphic Designer), là người lớn tuổi nhất trong phòng phần
mềm, vui tính, hát hay.
 Vinh, thiết kế đồ họa (Graphic Designer), là người hòa đồng, chủ xị cáp kèo đá banh cho
anh em với các công ty khác mỗi cuối tuần.

Page 19
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

 Anh Thuận, Kiến trúc sư phần mềm (Software Architect), cũng là dân IT ĐHBK
TPHCM hơn tôi 3 khóa, ít nói, đọc sách IT rất nhiều. Ảnh tải được rất nhiều sách IT miễn
phí dạng ebooks và có chia sẻ cho tôi 1 vài IT ebooks khá hay. Tôi đã học được khá nhiều
kiến thức thực tế về kiến trúc phần mềm từ anh mentor này.
 Anh Thảo, thiết kế cơ sở dữ liệu (Database Designer), là người vui tính.
 Anh Phước, nhân viên phần mềm (Software Developer), cũng là dân IT ĐHBK TPHCM
hơn tôi 1 khóa, hài hước, đá banh rất hay nên đi đá banh bên ngoài bị ăn đòn đau chân,
đau gối suốt 😅
 Anh Đức, nhân viên phần mềm (Software Developer), là dân IT Đại học KHTN TPHCM
hơn tôi 1 khóa, ít nói, không biết phải code nhiều quá hay không mà ốm tong ốm teo.
 Trúc, nhân viên phần mềm (Software Developer), dân IT Đại học Cần Thơ bằng tuổi tôi,
khá vui tính và có tinh thần hỗ trợ mọi người tốt.
 Dũng, nhân viên kiểm thử (Quality Control – QC), cũng vui tính.
 Pé Phương, thư ký (Secrectary) của trưởng phòng, là Hoa khôi của phòng có duy nhất 1
nữ 😃, thân thiện, hòa đồng.

Đây là hình ảnh 1 buổi Tất niên của công ty. Tôi có dịp giao lưu với các phòng khác.

Page 20
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

6) Dự án SER5500 (Canada)

Rời công ty SaigonTel vào năm 2004, tôi đã vào làm cho công ty TMA Solutions ở TPHCM,
một công ty gia công phần mềm cho nước ngoài với thị trường chính là Canada.

Sản phẩm phần mềm tôi tham gia phát triển là SER5500 (Service Edge Router), tên dự án lúc
ấy là Shasta, một sản phẩm khá đồ sộ của công ty Nortel Networks, Canada.

Thời đó công ty Nortel với sản phẩm này là đối thủ cạnh tranh sừng sỏ của Cisco Systems,
một công ty cực to của Mỹ từ xưa đến giờ, làm trùm bên mảng viễn thông & mạng máy tính.
Sau đó thì Nortel đã tụt lại phía sau và đã phá sản vào năm 2009.

SER5500 là một thiết bị phần cứng to cỡ 1 cái bàn vi tính nhỏ. Trên đó có nhiều khe để cắm
rất nhiều bản mạch cũng to như cái mặt bàn, nặng cỡ 5-10kg.
Khá nhiều các em gái QC (Quality Control) nhỏ nhỏ xinh xinh vác không nổi mấy bản mạch
này bằng 1 tay để nhét vào thiết bị SER5500, nên thường nhờ các anh developers “cứu nét”
khi thay bản mạch để chạy Test Cases. Mỗi bản mạch hỗ trợ 1 loại mạng, ví dụ như Ethernet,
Frame Relay, ATM...
Mỗi con SER5500 giúp quản lý hàng triệu nhà cung cấp dịch vụ Internet (Internet Service
Provider – ISP) trên toàn thế giới. Mỗi ISP lại có hàng triệu thuê bao (Subscribers). Khi
triển khai VẬT LÝ (Physical Deployment) thì có hàng trăm thiết bị SER5500 rải khắp châu
Âu, châu Mỹ, châu Á.

Phần cứng của SER5500 được điều khiển bởi 1 hệ điều hành mà Nortel phát triển riêng gọi là
iSOS (iService Operating System).

Tầng ứng dụng thì Nortel phát triển 1 hệ thống các phần mềm khá phức tạp có tên SCS
(Service Creation System) dựa trên công nghệ Java RMI (Remote Method Invocation) và
CORBA (Common Object Request Broker Architecture).

Page 21
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Sơ đồ LUẬN LÝ (Logical Diagram) của SER5500 được hiển thị qua sơ đồ sau:

Nhà quản trị mạng (Network Admin – NA) có thể điều khiển SER5500 bằng dòng lệnh
(Command Line) với CORBA Shell hoặc bằng UI với phần mềm SCS được hiện thực bằng
Windows Forms sử dụng Java Swing.
Lệnh của NA đi qua Domain Server, rồi đi đến Region Server tương ứng với thiết bị
SER5500 mà NA đang tương tác. Mỗi thiết bị có 1 Region Server trên đó.

Dự án này ban đầu được xây dựng ở Nortel, sau khi sản phẩm chạy ổn định các phiên bản
(Version) đầu thì được được đưa qua các công ty gia công (Outsourcing Company) ở Trung
Quốc, Ấn Độ, Việt Nam để bảo trì và phát triển tiếp. Các công ty gia công phần mềm tham
gia dự án này phải đầu tư khá nhiều về phòng ốc, thiết bị, đội ngũ nhân lực…

Mỗi công ty tham gia gia công cho dự án Shasta sẽ thành lập 3 nhóm: SCS, iSOS & QC.
Tôi tham gia vào nhóm SCS chịu trách nhiệm bảo trì và phát triển các tính năng trên 3 mô
đun UI, Domain Server & Region Server, tất cả được hiện thực bằng công nghệ Java.
Tôi không đụng vô phần CORBA dù có đọc về nó.

Page 22
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Các khó khăn mà tôi đã gặp phải trong dự án SER5500:


1. Kiến thức lĩnh vực mới toanh
2. Công nghệ Java RMI cũng mới nhưng do tôi đã làm việc với Java trong dự án XQC rồi
nên cũng tìm hiểu nhanh được
3. Mô hình multiple client-server cực kỳ khó hiểu
4. Dự án quá khủng nên việc cài đặt môi trường phát triển mất khá nhiều thời gian, và cũng
rất khó khăn để debug 3 mô đun trên
5. Do đưa đi gia công qua nhiều nước với hàng ngàn developers làm việc trên đó nhưng qui
định về viết mã lệnh (Coding Convention) không rõ ràng nên code rất rối rắm. Chưa kể
phần đặt tên biến trên mô đun SCS rất tào lao, ví dụ: jLabel1, jPanel2, jButton3… Nghe
đồn là hình như SCS được 1 công ty nhỏ phát triển, sau đó Nortel mua lại nên tụi
developers trước khi đi đã tái cấu trúc mã lệnh (Code Refactoring) làm cho các tên biến
(Variable Name) có nghĩa thành tên mặc định để người đọc chả hiểu gì.

Vào dự án 1 tháng đầu tiên tôi cài đặt môi trường phát triển cục bộ (Local Development
Environment) trên máy tính của tôi khá là cực vì quá nhiều thứ linh tinh và tìm hiểu dự án
cũng đắm đuối: kiến thức lĩnh vực computer networking và mã nguồn (Source Code).

Bắt đầu tháng thứ 2 tôi mới có đóng góp cho dự án bằng việc sửa các lỗi (Bug) nhỏ để làm
quen hệ thống, qui trình phát triển phần mềm (Software Development Process) trong dự án.

Tất cả các phần code của developers trên toàn thế giới đưa vô dự án phải được xem xét (Code
Review) bởi 1 ông quản lý kỹ thuật (Technical Manager) phía Nortel qua 1 ứng dựng Web
(Web Application) do thời đó chưa có các hệ quản trị phiên bản (Version Control System)
như SVN, Git… cho nên Nortel phát triển riêng 1 Web Application phục vụ code review.

Sau khi sửa được một số lỗi trên một số tính năng cơ bản của sản phẩm, tôi đã quen được qui
trình phát triển phần mềm này thì tôi muốn tìm hiểu sâu hơn về các tính năng sản phẩm &
kiến trúc các phần mềm trong sản phẩm.
Tuy nhiên do còn non và xanh, tôi mất 2,3 tháng tìm hiểu mà tôi vẫn như đang bơi trong đại
dương 😅. Các anh/chị lớn trong nhóm cũng có kinh nghiệm nhiều nhưng chưa ai đủ khả
năng nắm hết từng ngóc ngách của sản phẩm khổng lồ này.

Page 23
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tiếp đó thì công ty tuyển được chị Loan vào nhóm SCS, Tiến sĩ về Computer Networking
đang làm cho công ty France Telecom của Pháp về nước. Chị này cũng dân IT ĐHBK
TPHCM, hơn tôi 5 khóa, tham gia dự án với vai trò Software Architect & Mentor.

Oh la la, sau khi tìm hiểu dự án 2-3 tháng thì chị ấy nắm khá nhiều về sản phẩm, làm mentor
cho cả nhóm 20+ người, tổ chức lớp mentor 3 tháng với series về kiến thức lĩnh vực computer
networking, mô hình OSI tầng Data Link, IPSec, L2TP Tunnel… rồi ánh xạ vô cách sản phẩm
hiện thực mấy cái này cũng như kiến trúc phần mềm đang sử dụng ra sao...
Nhờ vậy mà kiến thức lĩnh vực computer networking & kiến trúc phần mềm của tôi tăng lên
đáng kể. Đến lúc này tôi mới hiểu kiến trúc multiple client-server được sử dụng trong SCS.

Nói đến kiến trúc này làm tôi nhớ đến 1 kỉ niệm bi hài 😅.
Tôi phải công nhận ai thiết kế ra kiến trúc này khá hay: phần client-server được phát triển
trong cùng một source code tương đối gọn, triển khai lên 3 nơi (UI, Domain Server & Region
Server) giống nhau. Khi chạy thì:
 UI luôn đóng vai trò là client
 Domain Server lúc có vai trò là client (khi kết nối đến Region Server) lúc là server (khi UI
kết nối đến)
 Region Server cũng có lúc là client (khi kết nối ngược lại Domain Server), lúc là server
(khi Domain Server kết nối đến).
Lúc mới vào dự án thì tôi chưa hiểu được chuyện này. Trong quá trình debug tôi chạy 3 tiến
trình (Process) cho UI, Domain Server, và Region Server trong cùng 1 IDE (Integrated
Development Environment) là JBuilder.
Tôi mở 2 files client.java & server.java lên rồi đặt các điểm dừng để tìm lỗi (Debug
Breakpoint) trong 2 files này. Khi tôi thực hiện 1 thao tác trên UI, luồng chạy (Run Flow)
của chương trình sẽ là: UI -> Domain Server -> Region Server -> SER5500 -> Region Server
-> Domain Server -> UI.
Mỗi lần luồng chạy đi qua UI, Domain Server, Region Server thì đều dừng lại ở các
breakpoint trong file client.java, phải nhớ lúc này đang ở UI hay Domain Server hay Region
Server để mà xem các thông số trong Bảng ghi hoạt động (Activity Table) và Chồng các
chương trình gọi nhau (Call Stack) cho đúng. Nguyên tắc là vậy nhưng chỉ cần chạy debug
vài lần là tôi quáng luôn 😃

Page 24
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Sau khi nắm được kiến trúc này thì tôi đã tìm được cách để debug đỡ quáng hơn:
 Nếu chỉ cần debug 1 cục (UI or Domain Server or Region Server) thì chỉ chạy cục đó ở
chế độ debug trong IDE, 2 cục còn lại chạy ngoài console
 Nếu cần debug 2 cục thì chạy 2 IDE & 1 console
 Nếu cần debug 3 cục thì… không thể chạy cùng lúc 3 IDE JBuilder vì thằng JBuilder
ngốn RAM dữ dội lắm, mà RAM cho mỗi máy tính cho developer lúc đó không đủ làm
việc này, phải tìm cách phân tích để chỉ cần debug 2 cục

Với việc hiểu rõ hơn hệ thống, tôi đã viết vài tài liệu tổng hợp về hệ thống giúp cho các bạn
mới vào dự án thiết lập local development environment nhanh hơn, debug dễ hơn, và nắm sản
phẩm nhanh hơn so với tôi lúc mới vào dự án.
Đây là việc tôi làm tự nguyện chứ công ty không yêu cầu bởi tôi nghĩ đơn giản là những gì
mình đã gặp khó khăn và có người giúp mình thì mình có trách nhiệm giúp lại những người
vào sau. Cho dù những việc mình gặp khó khăn đã vượt qua được mà không có ai giúp thì
mình cũng nên để lại gì đó giúp những người cần, sau này mình gặp khó khăn khác sẽ có
những người khác giúp lại mình. Tôi hoàn toàn tin vào Luật NHÂN QUẢ!

Với việc làm nho nhỏ ở trên của tôi (viết tài liệu tổng hợp về hệ thống & mentor các bạn mới)
mà công ty đã cho tôi vào nhóm nhân lực chính (Key Resource Group) để mỗi tháng ngoài
tiền lương tôi được nhận thêm tí tiền thưởng (Bonus). Phần bonus này tuy có giá trị vật chất
không nhiều nhưng nó cũng đã làm tôi vui lắm vì việc mình làm đã đem lại giá trị cho nhóm
cũng như cho công ty. Điều này cũng đã làm tôi nghiệm ra rằng: khi đi làm mình cứ tập trung
làm tốt việc của mình và giúp đỡ đồng nghiệp bất cứ khi nào có thể thì bất cứ công ty nào
cũng sẽ nhìn thấy để ghi nhận và có phần thưởng xứng đáng sau đó.

Trong gần 2 năm làm việc ở SCS Team, tôi đã tiếp xúc với một số anh chị em đồng nghiệp:
 Anh Hùng, quản lý dự án (Project Manager – PM) SER5500, quản lý cả 3 teams SCS,
iSOS & QC, là người nói chuyện rất nhẹ nhàng, vui vẻ. Tôi rất có ấn tượng với anh lúc
phỏng vấn.
 Chị Sa, Project Manager của SCS, là người bản lĩnh, nói tiếng Anh như gió làm tôi khá
ngợp lúc chị ấy phỏng vấn kỹ năng nói tiếng Anh của tôi 😆
 Anh Long Trần, Software Architect, là người trầm tính, có thâm niên nhất trong dự án.
 Anh Dũng, Software Architect, là người lớn tuổi nhất team, vui vẻ, thích chơi cờ tướng.

Page 25
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

 Anh Quyền, Software Architect, là dân IT ĐHKHTN TPHCM hơn tôi 6 khóa, rất vui vẻ,
trẻ trung, cùng với anh Long & anh Dũng chuyên trị các bug khó nhất của hệ thống.
 Chị Loan, Software Architect, Tiến sĩ từ Pháp về, là người vui vẻ, mentor rất có tâm cho
các thành viên mới và cũng hỗ trợ team rất nhiều về kiến thức networking & kỹ thuật.
 Anh Tony, Software Developer, Việt kiều Úc, là người khá trầm ngâm, ít khi giỡn.
 Chị Julie, Software Developer, người Pháp có Ba là người Việt, về VN làm để trải
nghiệm nơi Ba chị ấy đã sinh ra và lớn lên, là người rất vui tính, kỹ lưỡng trong công việc.
Năm 2017, vợ chồng tôi lúc đi phượt 5 nước châu Âu trong 21 ngày có ghé nhà chị Julie ở
Pháp chơi. Chị lấy chồng là anh Thạch, người đã phỏng vấn chị ấy vô công ty TMA
Solutions.
 Anh Quân, Software Developer, Việt kiều Mỹ, dân IT ĐHBK TPHCM hơn tôi 4 khóa, là
người trầm tính nhưng cũng hay giỡn.
 Anh Hậu, Software Developer, là dân IT ĐHBK TPHCM hơn tôi 2 khóa, là người hoạt
bát, vui tính.
 Thuận Trương, Software Developer, cùng khóa IT với tôi, là người ít nói, chăm chỉ. Cứ
vào trưa thứ 6 hàng tuần, tôi, Thuận Trương, anh Quân & anh Hậu đi quánh bida độ, đội
nào thua mua trái cây bao cả team khá là vui.
 Chị Linh & anh Long Bùi, Software Developers, là 2 người tính tình dễ thương, vui vẻ,
đã phỏng vấn tôi phần kỹ thuật.
 Nam, Software Developer, là dân IT ĐHBK TPHCM nhỏ hơn tôi 1 khóa, là người ít nói,
rất giỏi tiếng Anh, đã đạt được TOEFL 580 điểm thời đó.
 Chị Mai, Project Manager thay cho chị Sa, du học ở Úc về, là người vui tính, hoạt bát.
 Anh Vinh Võ (Software Developer), học từ Pháp về, là người ít nói.
 Ngoài ra còn có chị Yến (Project Manager), chị Thủy (Software Developer), anh Vinh
Trần (Software Developer), anh Tín (Software Developer), và anh Hưng (Software
Developer) ngồi ở phòng bên kia tôi ít dịp tiếp xúc.

Trước khi tôi sắp nghỉ công ty để đi du học thì đã có rất nhiều thành viên mới tham gia nhóm
SCS mà tôi không nhớ hết được tên.

Page 26
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Đây là hình chụp 1 phần của SCS team trong chuyến du lịch team building ngoài Nha Trang

Cuối năm 2005, tôi chính thức rời công ty TMA Solutions để thẳng tiến qua thành phố
Montreal, Canada học Master of IT trong trường ÉTS (École de technologie supérieure) và
làm dự án IT về khai thác dữ liệu (Data Mining) thuộc mảng AI cho công ty Bell Canada.

Tôi đã đi theo chương trình học bổng do ông giáo sư Pierre Dumouchel của viện nghiện cứu
CRIM (Computer Research Institute of Montreal) và trường ÉTS cấp cho tôi.

Từ lúc tôi xin học bổng đến khi quyết định lên đường là 1 câu chuyện khá dài với nhiều việc
xảy ra mà không nằm trong dự tính của tôi.

Một chặng đường đầy khó khăn và gian khổ gấp nhiều lần so với việc học & làm ở Việt Nam
đã đang chờ tôi phía trước……

Page 27
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

B. Học Master và làm ở Canada

7) Xin học bổng và học Master (Canada)

TÌM ĐƯỜNG RA NƯỚC NGOÀI


Trong thời gian cấp 3 thì khá nhiều bạn trong lớp tôi đã lo xa đến chuyện sẽ du học nước này
nước nọ, còn tôi thì cứ vô tư vừa học vừa luyện cờ tướng đi thi đấu kiếm thu nhập trả tiền học
và xài, bớt xin tiền ba má. Vừa lên đại học, một số bạn cấp 3 của tôi đã đi du học liền.

Đến giai đoạn đại học thì bạn bè tôi cũng tìm kiếm thông tin này nọ về du học. Một số đứa
học xong năm 1,2 cũng đã lấy được học bổng đi học ở Singapore, USA, Russia… còn tôi thì
dính với đội tuyển cờ tướng TPHCM lo đi thi đấu khắp nơi 2-3 giải/năm, mỗi giải từ 10 đến
15 ngày. Mỗi lần tôi đi thi đấu về thì bài vở chồng chất, chạy bở hơi tai mới kịp nên mấy vụ
du học du hí tôi chả có đầu óc đâu mà quan tâm.

Sau khi tôi tốt nghiệp đại học thì đợt sóng du học lần thứ 3 trong bạn bè tôi đã nổ ra. Đến thời
điểm đó thì bạn bè lớp cấp 3 của tôi đã nhấn nút biến cũng 2/3 lớp. Điều này làm tôi thật sự
thắc mắc là ở nước ngoài có cái gì hay ho mà bạn bè tôi đi du học nhiều thế nhỉ??? Tự hỏi vậy
chứ tôi cũng chưa quan tâm đến vụ du học.

Khi tôi vừa vô làm ở công ty SaigonTel năm 2003, 1 bạn của tôi tên Tân đang học Master ở
Canada hỏi tôi có muốn đi du học Master ở Canada không, nếu muốn thì hắn sẽ hỗ trợ tôi xin
học bổng. Hắn nói trước cho tôi biết sẽ học bằng tiếng Pháp và ở Canada thì thời tiết rất lạnh
vào mùa đông. Tôi nghe đến vụ trời rất lạnh thì thấy ngán rồi vì tôi rất ngại lạnh, mà lại thêm
tiếng Pháp nữa thì kèo này chắc chua lắm chứ hổng có thơm đâu. Vả lại tôi mới học xong 4.5
năm đại học nên ngán học muốn chết luôn, mới khó khăn xin được việc làm thì đi làm trải
nghiệm thực tế tích lũy kinh nghiệm và kiếm chút tiền đi chơi cái đã, chuyện khác từ từ tính.

Thời gian sau đó phong trào đi du học khá nở rộ, nghe mấy người du học ở các nước phát
triển xong đi làm ở bên đó nói môi trường làm việc rất tốt, thu nhập cao, cơ hội nâng cao trình
độ chuyên môn nhiều. Thế là tôi bắt đầu có ý muốn tìm đường đi ra nước ngoài xem sao, đi
làm hay đi học gì cũng được. Tôi quan tâm đến tình hình ngoài nước hơn và tìm hiểu về du
học này nọ nhưng cũng như rất nhiều người Việt Nam, tôi phải giải quyết vấn đề liên quan
đến bằng cấp tiếng Anh.

Page 28
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Vào một buổi tối mát mẻ, ba tôi về nhà báo tôi 1 tin khá hay ho là ba tôi đi họp lớp gặp lại bạn
cũ có người em trai đang làm ở Germany. Công ty chú đó cần tuyển 1 đội phát triển phần
mềm (Software Team) qua đó làm việc. Ba tôi có giới thiệu tôi với bạn của ba thì bác đó nói
tôi gửi CV xem thử. Tôi đã rủ thêm 7 đứa bạn mần 1 nhóm gửi 8 CV qua bên Germany. Bên
đó xem xong thấy cũng ok rồi hẹn gặp mặt nhóm. Nhưng rồi công ty đó đã đổi kế hoạch hay
gặp khó khăn gì đó nên đã dừng việc tuyển dụng.

Tiếp đó tôi có đi phỏng vấn ở 1 công ty Nhật mà họ cho học tiếng Nhật rồi qua Nhật làm. Lúc
ấy cũng có vài công ty Nhật tuyển kiểu này và bạn bè đại học tôi cũng có nhiều đứa theo. Tôi
cũng tò mò xem thử tiếng Nhật thế nào. Sau khi xem qua tiếng Nhật thì tôi…rút lui bởi chữ
viết tiếng Nhật nhìn khó quá!

Thế là các cơ hội ít ỏi khám phá nước ngoài qua con đường làm việc đã trôi đi mất, tôi tập
trung vào hướng du học. Trước mắt rào cản lớn nhất đối với tôi là vẫn là tiếng Anh!

Thông thường dân làm về chuyên môn kỹ thuật, tư duy logic nhiều bên mảng tư nhiên sẽ
không khá các môn bên mảng xã hội. Tôi là dân cờ tướng và IT thiên về tư duy logic nên luôn
gặp vất vả với các môn như Tập làm văn, Anh văn.

Nói đến môn Anh văn, tôi bắt đầu học Anh văn cũng như bao học sinh khác là đầu năm lớp 6
trong chương trình phổ thông. Má tôi thấy trước tầm quan trọng của môn này nên đã cho tôi
đi học thêm Anh văn ở rất nhiều trung tâm ở TPHCM cho đến khi tốt nghiệp đại học. Tuy
nhiên, trình độ Anh văn của tôi cũng chỉ ở mức khá (Intermediate) ở kỹ năng Đọc/Viết, còn
kỹ năng Nghe/Nói thì ở mức trung bình (Average).
Thật lòng mà nói, tôi đã rất cần cù để luyện tiếng Anh để bù lại khiếm khuyết của dân kỹ
thuật nhưng kết quả đã không như tôi mong muốn.
Bây giờ nghĩ lại, tôi thấy là các yếu tố sau đây đã ảnh hưởng đển kết quả học Anh văn của tôi:
 Tôi dùng tiếng Việt để học tiếng Anh. Tốt nhất là nên dùng tiếng Anh để học tiếng Anh
dù thời gian đầu rất ư là khó khăn.
 Tôi không chú ý khi dịch tiếng Anh qua tiếng Việt phải đi từ phải qua trái, ex: extremely
highly used system information (thông tin hệ thống được sử dụng nhiều cực kỳ).
 Tôi không có môi trường để xài tiếng Anh hàng ngày. Đây là điều cực kỳ quan trọng để
biến kiến thức thụ động (Passive Knowledge) tôi tiếp thu được sang kiến thức chủ động
(Active Knowledge) thì mới hiểu ngôn ngữ hơn và nhớ lâu được.

Page 29
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

 Tôi học đàm thoại tiếng Anh nhưng rất ngại nói vì sợ phát âm sai, sai ngữ pháp…
 Tôi không biết bắt chước phát âm khi nghe dân bản xứ nói để phát âm của mình gần giống
với họ nhất thì mới tăng khả năng họ hiểu mình nói gì.
 Tôi học từ vựng (Vocabulary) rất nhiều nhưng lại học từng từ đơn lẻ (Single Word) mà
không gắn nó với ngữ cảnh (Context) nên đôi khi không hiểu, ví dụ: học từ “run” là chạy,
nhưng trong ngữ cảnh “I run my company” thì lại có nghĩa là điều hành.
 Khi học 1 từ mới, tôi chỉ học từ đó mà tôi không biết là nên học cả gia đình từ (Word
Family), ví dụ: học từ “collect” (verb), thì nên tra các từ khác trong gia đình của nó như
“collective” (adjective), “collectively” (adverb), “collection” (noun), “collector” (noun).
 Tôi không chú ý đến bản chất của từ (Nature of Word) và hiểu sự bổ nghĩa giữa các loại
từ với nhau, ví dụ: Tính từ bổ nghĩa cho danh từ, trạng từ bổ nghĩa cho tính từ & động từ.
 Tôi học tiếng Anh hàn lâm (kiểu như: Hello – How are you? – I‟m fine, thank you – And
you?...) thay vì tiếng Anh thực tế có rất nhiều thành ngữ (Hey, What‟s up? How‟s it
going? I really have my hands full right now....)

TOEFL (Test of English as a Foreign Language) & IELTS (International English Language
Testing System) là 2 chứng chỉ tiếng Anh phổ biến để xét tuyển du học/học bổng của các
trường đại học dạy bằng tiếng Anh ở các nước nói tiếng Anh như Mỹ, Canada, Úc...
Tôi đã luyện thử TOEFL một thời gian thấy siêu chua vì nội dung nó quá rộng và đề thi cũng
rất khó. Tôi đã thi thử vài lần (chứ chưa dám thi thiệt) thì kết quả cỡ TOEFL 450.

Chương trình Master of IT của các trường yêu cầu tối thiểu TOEFL 580 mới đủ điều kiện nộp
hồ sơ xét tuyển vô học, còn xét học bổng chắc cao hơn nhiều. Thấy khả năng tôi không lấy
nổi TOEFL 580 nên tôi đã từ bỏ con đường du học Master trực tiếp. Tôi chuyển qua phương
án đi đường vòng vì thấy đã có người đi thành công: xin đi học tiếng Anh trước ở trường định
học Master, học xong rồi xin vô học Master sẽ không cần TOEFL hay IELTS. Con đường này
thì chông gai nhất nằm ở chỗ xin visa nhập cảnh vô Mỹ, Canada, Úc… để học.

Trong khi tôi vẫn đang tìm thông tin của các trường có chương trình học tiếng Anh thì Ba tôi
nói với tôi là tình cờ Ba gặp 1 người bạn có con gái tên Trang, bằng tuổi tôi, đã từng xin đi
học tiếng Anh ở Toronto, Canada, sau đó học Master, hiện đi làm ở Toronto. Bạn ba tôi cho
tôi nick Yahoo của cô ấy để chat chit hỏi thăm đường hướng.

Page 30
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Sau 1 thời gian dài tôi trao đổi với bạn Trang, rồi làm giấy tờ chứng mình này nọ, thủ tục tùm
lum tè le cũng đắm đuối thì bạn ấy cũng giúp tôi xin được 1 trường đại học để qua đó học
chứng chỉ tiếng Anh trước, chỉ còn bước cuối cùng là nộp hồ sơ xin visa Canada nữa thôi.

Đùng một cái… dì Út của tôi bên Mỹ nói sao không qua Mỹ học tốt hơn Canada, ở nhà dì
cũng đỡ hơn ở một mình, sau khi dì biết tin tôi tính đi học ở Canada. Má tôi nghe thế liền nói
tôi chuyển hướng qua Mỹ theo con đường dì lên kế hoạch cho tôi.

Dưới sự hỗ trợ của dì, tôi lại mần 1 vòng giấy tờ chứng mình này nọ, thủ tục từa lưa hột dưa
để xin được giấy phép cho học tiếng Anh ở 1 trường bên Mỹ, gần khu nhà dì ở, và nộp hồ sơ
xin visa Mỹ luôn.

Đến ngày đi phỏng vấn visa Mỹ, tôi vô gặp 1 bà người Mỹ ốm nhom, mặt khá hình sự, hỏi
tùm lum tà la trên trời dưới đất. Tôi thấy tôi trả lời cũng ok. Kết quả là… bà ấy từ chối cấp
visa Mỹ cho tôi và cũng không trả lời lý do từ chối. Tôi đoán có thể lý do là:
 Đợt đó ngay cao điểm của dịch SARS (dịch bệnh hô hấp toàn cầu) nên Mỹ hạn chế người
nước ngoài nhập cảnh.
 Lần đầu tiên dự phỏng vấn visa Mỹ nên tôi hơi bị khớp, trả lời không lưu loát lắm.
 Hồ sơ tôi có thể có vấn đề gì đó mà bà đó nghĩ tôi học xong có thể không về lại Việt Nam.
 Bà này nổi tiếng ở đó với biệt hiệu siêu diệt…ứng viên do nhiều người phỏng vấn trước
kia đặt. Bữa sáng đó 10 người dự phỏng vấn với bả thì rớt hết 9 người, phần lớn là xin du
học, chỉ 1 người đậu với tình huống là công ty cử đi công tác. Hai quầy bên cạnh số lượng
rớt chỉ 3-4 người.

Haiz yaaa… tìm đường ra nước ngoài bằng con đường việc làm không được, bằng con đường
du học Master thì không lấy nổi TOEFL 580, bằng con đường đi học tiếng Anh thì cũng
không xong…… tôi xác định là số mình chắc không ra nước ngoài được zồi, lo cày IT & cờ
tướng tiếp để kiếm xèn rồi theo con đường của Ba lấy vợ vào năm 26 tuổi cho ổn định cho
rồi, bon chen nước ngoài chi cho cực, đi đâu loanh quanh cho đời mỏi mệt!

……

Page 31
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Vào đầu năm 2005, Tân về Sài Gòn ăn Tết ta có ghé nhà tôi chơi. Khi này tôi đã chuyển qua
công ty TMA. Không biết Tân đã nói chuyện với Má tôi thế nào mà sau đó Má tôi nói với tôi
phải nộp đơn xin học bổng Tân giới thiệu ngay và luôn, nếu may mắn xin được học bổng mà
vẫn còn thiếu chi phí thì Má sẽ cho thêm, bằng mọi giá tôi phải đi du học!

Nghe Má tôi nói thế thì tôi cũng hơi ngạc nhiên và thắc mắc tại sao phải đi du học bằng mọi
giá. Tôi đã không hề nghĩ đến việc tìm đường ra nước ngoài nữa ngay sau vụ án xin visa Mỹ
không được. Tôi có hỏi Má thì Má chỉ nói là tôi phải đi để nâng cấp tư duy, tiếp cận tiến bộ,
văn minh của thế giới, nếu không thành công thì cũng sẽ thành nhân (trưởng thành hơn).

Khi ấy công việc IT của tôi bắt đầu làng nhàng, còn cờ tướng thì tôi đi làm toàn thời gian
không có nhiều thời gian đầu tư như thời sinh viên nên thi đấu các giải cũng không có gì đột
phá, do đó ý muốn ra nước ngoài cho biết quay lại trong đầu tôi. Thế là tôi mới nói chuyện
kỹ hơn với Tân về học bổng mà Tân dự định hỗ trợ tôi xin ở Canada.

Canada là 1 nước nằm ở châu Mỹ, phía Bắc nước Mỹ với diện tích 9.9 triệu km2, dân số 33
triệu người. Xã hội Canada đa sắc tộc, đa văn hóa với nguồn gốc từ người Aboriginals, người
Anh, Pháp, châu Âu, châu Á, châu Phi… Hiện nay, Canada có 10 tỉnh (Province) và 3 vùng
lãnh thổ (Territory).

Thủ đô (Capital) của Canada là thành phố Ottawa thuộc tỉnh Ontario, tỉnh lớn nhất
Canada.
Thành phố lớn nhất của Canada là thành phố Toronto (cũng thuộc tỉnh Ontario).

Page 32
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tỉnh Quebec (dân Canada gọi là xứ Québecois) là 1 tỉnh tự trị trực thuộc Liên bang Canada
có hệ thống luật và thuế riêng. Người nước ngoài muốn vô được tỉnh Quebec thì ngoài việc
xin visa Canada phải xin thêm CAQ (Certificat d’Acceptation du Québec).
Tỉnh Quebec là tỉnh duy nhất của Canada nói tiếng Pháp. Vì thế dân Quebec phần lớn nói
tiếng Pháp là chính trong cuộc sống (dù họ cũng có thể nói tiếng Anh tốt).
Thủ đô của tỉnh Quebec là thành phố Quebec (trùng tên với tỉnh nên nhiều sinh viên Việt
Nam lúc mới qua hay bị nhầm lẫn). Dân trong thành phố Quebec hầu như chỉ nói tiếng Pháp.

Thành phố Montreal là thành phố lớn nhất của tỉnh Quebec, và lớn thứ hai của Canada. Dân
Montreal nói cả tiếng Pháp và Anh trong đời sống hàng ngày.

Theo luật pháp Canada thì tiếng Anh (English) and Pháp (Francais) là 2 ngôn ngữ chính thức
của quốc gia Canada, bất cứ công dân Canada nào cũng có thể yêu cầu giấy tờ hành chính viết
bằng tiếng Anh hoặc tiếng Pháp.

Các công ty công nghệ lớn ở Canada luôn có quỹ về nghiên cứu và phát triển (Research
and Development – R&D) cấp tiền cho các dự án R&D đủ loại từ nhỏ đến lớn. Một số dự án
R&D được thực hiện bởi các nhóm R&D trong các công ty.
Một số dự án R&D khác sẽ được đẩy vào các trường đại học ở Canada kèm theo các học bổng
cho các giáo sư để họ tuyển các sinh viên học thạc sĩ (Master) hoặc các nghiên cứu sinh (sinh
viên học Ph.D – Tiến sĩ) tham gia vừa học Master/Ph.D vừa làm dự án. Dự án làm xong sẽ
được bảo vệ thành luận văn tốt nghiệp để lãnh bằng luôn.

Người nước ngoài xin các học bổng loại này của Canada thông qua các giáo sư là chủ yếu.
Một học bổng loại này dành cho sinh viên Master thường khoảng 30k-40k$CAD/2 năm, tùy
ngành, tùy trường, tùy quỹ của mỗi giáo sư.

Đối với dân thuộc các nước kém phát triển hơn Canada, họ lấy được học bổng loại này thì
cũng là điều quá tốt cho họ rồi.

Về phía Canada thì đây là 1 chính sách khá hay để thu hút chất xám của thế giới với giá rẻ:
 Canada không mất một xu nào để đào tạo 12 năm phổ thông và 5 năm đại học để có 1 sinh
viên Master.

Page 33
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

 Để thuê 1 kỹ sư Canada trình độ từ fresher-mid level làm dự án R&D này thì họ phải trả
lương dao động trong khoảng 80k-120k$CAD/2 năm.
 Kỹ sư bản xứ thì chỉ làm trong tuần, còn thứ 7 và chủ nhật được nghỉ và họ không có ràng
buộc phải xong dự án, họ có thể nhảy việc; trong khi sinh viên Master thì học và làm suốt
cả tuần, bằng mọi giá phải xong trong 2 năm để tránh bị đói và phải lấy được cái bằng.

Tuy nhiên, cái gì cũng có 2 mặt của nó, nếu 1 sinh viên Master không chịu học nghiêm túc
hoặc học rồi mà làm không nổi dự án thì cũng tiêu 1 cái học bổng. Nhưng thực tế thì hầu như
sinh viên Master nào tham gia dự án R&D này sớm hay muộn đều xong cả, nên số lượng sinh
viên bỏ cuộc hầu như chỉ rơi vào sinh viên Ph.D, điều này cũng không bất ngờ vì nghiên cứu
để phát minh 1 cái gì đó mà chưa hề tồn tại trên thế giới đâu có đơn giản nà.

Một ứng viên sau khi được 1 giáo sư Canada xét duyệt hồ sơ và cấp học bổng loại này thì sẽ
nộp hồ sơ vào trường nơi giáo sư đó đang dạy để xin cho phép học (Study Admission).
Các trường sẽ xét điểm ở đại học và trình độ ngoại ngữ của ứng viên. Các ứng viên nhận được
học bổng loại này thì việc xét điểm số sẽ không còn quan trọng (so với ứng viên bình thường)
bởi đã được vị giáo sư xét rồi, chỉ còn xét ngoại ngữ mà thôi.

Tân có người nhà quen với 1 ông giáo sư tên là Pierre đang dạy ở trường Đại học Bách Khoa
(Université de Polytechnique) ở Montreal. Ông này đang có 1 dự án IT tên là “Managing
emotions in Human-Computer Dialog Systems” được đẩy qua từ công ty Bell Canada (công
ty điện thoại/viễn thông lớn nhất Canada) hợp tác với viện nghiên cứu máy tính của Montreal
(Computer Research Institute of Montreal – CRIM) và một số học bổng Master và Ph.D để
tuyển 6 sinh viên Master và 10 nghiên cứu sinh vào tham gia dự án.

Tân thấy dự án IT này có vẻ hợp với tôi và quan trọng là trường Poly dạy bằng tiếng Pháp
nhưng không yêu cầu phải có bằng tiếng Pháp đầu vào (tôi cũng hơi ngạc nhiên) nên nói tôi
nộp hồ sơ cho ông giáo sư để xin 1 học bổng Master.

Trong bảng điểm đại học của tôi, điểm mấy môn IT thì ổn, nhưng mấy môn màu xanh
nghiêng có điểm hơi làng xàng nên điểm trung bình GPA chỉ xém giỏi (7.7/10) chứ không
thuộc loại giỏi (8.0+/10). Vì thế tôi cũng hơi bị không tự tin với bảng điểm của mình. Và rồi
tôi cũng đã nộp đơn cho ông giáo sư để xin học bổng Master vào học trường Poly.

Page 34
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Ông giáo sư xem điểm mấy môn IT của tôi nhận xét cũng ok và nhờ có người nhà của Tân đã
đứng ra đảm bảo về lực học của tôi (còn quảng cáo thêm vụ tôi thi đấu cờ tướng các giải quốc
gia cho đội tuyển TPHCM nữa - nhiều khi có tí tài lẻ cũng hay chứ nhỉ hihi) nên ông giáo sư
đã đồng ý cấp học bổng cho tôi qua học Master ở trường Poly và tham gia dự án của ông.

Theo kế hoạch dự kiến thì tôi sẽ qua Montreal sớm để học trước tiếng Pháp trong học kỳ mùa
thu từ tháng 9/2005 – 12/2005 và làm quen với môi trường sống mới để rồi tháng 1/2006 vào
học chương trình Master ở học kỳ mùa đông năm 2006.

Khoảng tháng 5/2005, tôi được ông giáo sư gửi giấy cấp học bổng (36k$CAD/2 năm, xài sao
thì xài, lời thì ăn, lỗ thì bù). Tôi xin tiếp Study Admission của trường Poly được ok luôn.
Các trường đại học dạy bằng tiếng Pháp ở Montreal không yêu cầu sinh viên có bằng tiếng
Pháp trước khi nhập học. Tuy nhiên để tốt nghiệp Master thì sinh viên phải thi 1 bằng tiếng
Pháp theo yêu cầu hoặc vượt qua được một số môn tiếng Pháp của trường.

Tiếp đó tôi xin giấp phép học (Study Permit) của Canada dành cho sinh viên quốc tế. Xong
rồi tôi xin tiếp CAQ của tỉnh Quebec. Nộp xong hồ sơ xin CAQ, tôi chờ mãi không thấy họ
trả lời, cuối cùng tôi nhận được giấy báo phải bổ sung thêm lý lịch tư pháp. Thế là hồ sơ bị
dời vài tuần để tôi đi làm cái lý lịch tư pháp.
Khi vừa nhận được CAQ, tôi chuẩn bị xin visa Canada thì một tin hơi bị giật gân đã xảy đến
với tôi: ông giáo sư đã chuyển công tác từ trường Poly sang trường ÉTS (École de
Technologie Supérieure) ở Montreal. Hix, tôi phải xin các giấy tờ lại từ đầu: học bổng Master,
Study Admission của ÉTS, Study Permit của Canada, và CAQ của Quebec😊

Việc xin lại mớ giấy tờ này ngốn của tôi cả đống thời gian, đến tháng 9 tôi mới có đủ giấy tờ
để xin visa Canada, có nghĩa là kế hoạch qua sớm học tiếng Pháp của tôi đã phá sản. Tôi dự
định là dời chương trình học Master lại 1 học kỳ.

Nộp hồ sơ xin visa Canada xong thì tôi nghe mọi người nói có phỏng vấn, mà nghe đồn là
phỏng vấn Canada cũng khá khó không thua gì Mỹ nên tâm lý tôi cũng không tập trung nhiều
vào việc học tiếng Pháp trước cho lắm. Tôi chỉ đăng ký học 1 lớp tiếng Pháp vỡ lòng ở trung
tâm IDECAF vào các tối 2,4,6. Mang tiếng là 3 buổi chứ thường tôi chỉ đi 2 buổi tối thứ 2,4,
còn thứ 6 thì SCS team hay tổ chức ăn chơi, bi da lỗ, bowling, karaoke…thế là tôi cúp cua 😃

Page 35
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Học được 1 tháng, tôi thấy tiếng Pháp vừa nhiều vừa khó hơn tiếng Anh, vừa chán (chưa có
động lực vì chưa chắc có visa Canada) nên tôi bỏ luôn. Nhưng nhờ học ở IDECAF tôi quen
được một cô trong đó dạy rất hay nên tôi đã tham gia lớp dạy kèm riêng của cô ấy. Tuy nhiên
tôi mới học được vài bữa thì nhận được visa Canada gửi tận nhà mà không phải tham dự
phỏng vấn (chắc do tôi đi học bằng học bổng có ông giáo sư bảo đảm rồi nên không cần
phỏng vấn)…phù…
Kết quả học tiếng Pháp của tôi ở IDECAF & lớp dạy kèm là tôi nói được vài câu cơ bản:
“Bonjour”, “Comment-allez you?”, “Comme ci comme ca”, “Mẹc-xi bố-cu”… 😃

Biết tin tôi nhận được visa Canada thì ông thầy nói qua mau để kịp đăng ký vô học Master
ngay học kỳ mùa đông 1/2006, nếu dời lại 1 học kỳ cho vụ học tiếng Pháp trước thì sẽ ảnh
hưởng đến học bổng của tôi. Vụ trục trặc bất ngờ này làm tôi có nguy cơ rơi vào tình
huống…điếc không sợ súng… là học ngay chương trình Master dạy bằng tiếng Pháp mà trình
độ tiếng Pháp của tôi đang là ép-si-lon tiến đến zê-ro (môn giới hạn trong toán).

Dù đã nhận được visa Canada nhưng tôi vẫn chưa thực sự quyết định lên đường vì rất nhiều lí
do đau đầu sau:
 Tiếng Anh của tôi vẫn chưa đến đâu dù đã học ở Việt Nam mười mấy năm, vẫn chưa giao
tiếp lưu loát được, không biết nói chuyện với ông giáo sư ổn không nữa.
 Tiếng Pháp khó hơn tiếng Anh nhiều, chưa biết tôi học nổi không, chỉ được cái là tôi thích
cái giai điệu của tiếng Pháp lãng mạn .
 Tôi chưa hình dung mình sẽ học Master bằng tiếng Pháp ra sao nữa khi trình độ tiếng
Pháp mới vỡ lòng!
 Lúc học đại học tôi không có học theo hướng R&D nên sợ sẽ không làm nổi dự án R&D
của ông thầy.
 Tôi rất ngại cái lạnh. Mấy lần tôi đi thi đấu cờ tướng ở Hà Nội, Quảng Ninh, chỉ mới có
cỡ 9-10 độ C mà lạnh te lông rồi, nghe Tân nói bên đó mùa đông có khi -35 độ C 😅.
 Tôi chưa bao giờ sống 1 mình và tự lo cho mình. Tôi sợ sống xa gia đình và bạn bè sẽ
buồn lắm.
 Tham khảo ý kiến gia đình, bạn bè thì:
o 50% kiu tôi ở lại với giải thích là tôi đã ổn định công việc ở Việt Nam & có thêm nghề
cờ tướng kiếm thêm thu nhập, đi chi khổ cực mà chưa biết có thành công không
o 50% kiu đi để trải nghiệm, khám phá cái mới (trong đây thì ba má tôi là quyết đoán
nhất)

Page 36
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Sau khi tôi suy nghĩ kỹ càng mấy ngày từ lúc nhận visa Canada, cân nhắc mọi thứ thì tôi đã
quyết định……lên đường thử phiêu lưu Canada 1 chuyến trong 2 năm xem sao, lỡ có thất bại
thì cũng học được nhiều thứ mới, về Việt Nam làm lại cũng không sao mà. Tôi cũng có lăn
tăn về vụ mất uy tín của Tân & của ông giáo sư với trường, nhưng nghĩ theo hướng tích cực là
tôi sẽ cố gắng hết sức và kiên trì thì mọi chuyện rồi sẽ ok thôi!
Quyết định chắc chắn, tôi mới xin nghỉ việc ở công ty TMA vào 11/2005, rồi 3 tuần sau là
12/2005 sẽ bay làm sếp tôi cũng hơi bị bất ngờ nhưng cũng vui vẻ ủng hộ tôi.

Thế rồi ngày lên đường cũng đã đến. Tâm trạng tôi khi ấy háo hức thì ít mà hồi hộp thì nhiều
vì tôi sẽ trải qua rất nhiều cái mới, những điều xa lạ, và nhiều thử thách cam go.

Lần đầu tiên tôi bước lên máy bay khá to (hồi xưa khi đi thi đấu cờ tướng ở Gia Lai tôi cũng
đã từng được đi máy bay nhưng là máy bay cánh quạt bé tí, đã vậy lúc hạ cánh do thời tiết xấu
chỉ có 1 cánh quạt còn quay được, hên là cả đoàn học sinh TPHCM không sao😅).
Lúc máy bay cất cánh tôi thấy như bị lên máu não, tim đập thình thịch, cảm giác lâng lâng
khó chịu. Rồi khi máy bay hạ cánh xuống sân bay Philippines thì 2 lỗ tai tôi đau nhói, tôi ra
khỏi sân bay rồi mà 2 lỗ tai vẫn ù ù suốt 10‟, nghe người khác nói nhỏ xíu.

Trước khi lên đường thì chị của Tân đã nhiệt tình dẫn Má con tôi ra chợ gì đó ở trung tâm Sài
Gòn mua cho tôi quần áo ấm mặc mùa đông, trong đó có cái áo lạnh to tổ bố. Trong khi chờ
chuyển tiếp ở sân bay Philippines, tôi đi nhà vệ sinh đã để quên cái áo trên cửa nhà tắm. Sau
đó vài phút tôi chợt nhớ quay lại thì cái áo đã bốc hơi 😥

Khoảng 21 giờ ngày 06/12/2005, sau 1 chuyến bay khá dài với 2 lần quá cảnh (Sài Gòn –
Manila – Vancouver – Montreal), tôi đã đáp xuống sân bay Trudeau, Montreal. Tân và Biên
(em ruột Tân) chờ đón tôi ở ngoài sân bay.
Vừa bước ra sân bay đến cái cổng chuẩn bị ra ngoài thành phố thì tôi bắt đầu thấy hơi lạnh
lạnh. Tôi ngắm nhìn những bông tuyết rơi lã tã bên ngoài khung cửa kính, cảnh tượng êm đềm
thật nên thơ. Tôi rất thích thú muốn chạy ngay ra ngoài để rờ vào tuyết xem như thế nào thì
chợt nhớ là cái áo lạnh duy nhất mình đã làm mất rồi.

Thế là tôi đành lấy cái áo khoác mùa hè mà tôi gọi là “cái áo tình nghĩa” để mặc tạm. Cái áo
này tôi được SCS team tặng vào bữa tiệc chia tay ở quán bún canh & xôi chiên (quán ruột của
SCS team vào những buổi chiều có ai thua độ bida hay team ăn mừng gì đó).

Page 37
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Bữa đó trời mưa to kinh khủng nhưng 2 đồng chí SCS đã không ngại mặc áo mưa phóng xe
máy đi mua áo làm quà cho tôi. Khi về lại quán, 2 đồng chí ấy bị ướt như chuột lột, chị trưởng
nhóm thay mặt SCS team tặng áo cho tôi làm tôi quá xúc động!

Đây là chiếc áo tình nghĩa tôi mặc vào mùa hè khi ở bên Canada:

Ngoài trời tuyết vẫn đang rơi nhè nhẹ trắng xóa dưới ánh đèn đường. Một chiếc taxi được Tân
gọi đến. Trên đường bước ra taxi tôi không quên vớt 1 nắm tuyết trên không trung để “cảm”
xem ra sao…à, thì ra tuyết mới rơi nó cũng giống như bông tuyết trong hộc nước đá của tủ
lạnh nhưng nó mềm và xốp hơn. Nhiệt độ ngoài trời cỡ từ -10oC đến -15oC, tôi có một cảm
giác lâng lâng rất khó tả, y như tôi đang bay bổng…

Dù cái áo tình nghĩa không đủ ấm nhưng tôi cũng không cảm thấy lạnh lắm, chắc là hơi nóng
từ Sài Gòn đem sang vẫn còn chăng? Tôi nhớ lại hồi ra Hà Nội mới có 9oC, tôi mặc 4 lớp áo
mà lạnh teo lông, run cầm cập. Chắc là độ ẩm bên Montreal thấp nên thời tiết khô dễ chịu hơn
so với Hà Nội có độ ẩm quá cao dẫn đến rét buốt.

Page 38
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Chiếc taxi đưa chúng tôi về nhà số 1467 đường Wolfe, nơi Nghĩa, một du học sinh Việt Nam
(DHS VN) đang ở. Tôi sẽ ở chung căn nhà 2 phòng này với Nghĩa.
Thật là cảm ơn Tân & Biên đã sắp xếp trước mà tôi có được chỗ ở ngay khi đến Montreal,
chứ nếu không thì thật là đuối khi phải đi kiếm nhà trọ trong mùa đông. Cũng vì chuyện này
mà về sau nhà tôi thuê ở số 2235 đường Prud‟homme trở thành “trạm trung chuyển” cho
tương đối nhiều DHS VN đến Montreal ở tạm một thời gian cho đến khi tìm được chỗ ở.

Chuyến bay 6 tiếng từ Vancouver qua Montreal không có phục vụ ăn uống (mấy chuyến bay
nội địa của Canada thường không có dịch vụ này), tôi chỉ ăn được tạm vài miếng bánh ngọt
Kinh Đô đem từ nhà sang nên bụng đói meo. Vừa ổn định chỗ, tôi khui hành lý lấy nguyên
thùng mì gói ra và làm một gói mì A-One thiệt là quá ngon 😍

Chúng tôi ngồi 8,9 một lúc thì anh em Tân ra về.

Tôi mệt lã chìm vào giấc ngủ ngon lành…

Một cuộc sống hoàn toàn mới đang chờ đợi tôi vào ngày hôm sau……

Page 39
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

THỜI GIAN ĐẦU Ở MONTREAL

Sáng hôm sau tôi tỉnh giấc sớm. Nhiều DHS VN đi qua Montreal hoặc đi về Việt Nam bị hội
chứng jet-lag do chênh lệch múi giờ (cách nhau 12 tiếng) với ban ngày ngủ li bì, tối thức đi
lang thang trong nhà. Họ phải mất vài ngày/tuần mới quen lại. Tôi không cần phải mất thời
gian để điều chỉnh chênh lệch múi giờ lúc ấy (và kể cả sau này dù nhiều khi đáp máy bay
không phải vào buổi tối). Nguyên tắc đơn giản là khi qua Montreal hay về Việt Nam mà
không đúng vào buổi tối thì hãy cố gắng thức cho đến tối khuya rồi ráng ngủ cho đến sáng.

Dậy xong tôi đói meo râu, thèm hủ tiếu mì xương. Tôi hỏi Nghĩa ở đây có mấy món ăn sáng
kiểu Việt Nam không. Chú í nói có nhưng đi khá xa, và mấy nhà hàng Việt Nam cỡ 10h mới
mở cửa. Tôi ngó xem chú í ăn sáng cái gì bữa đó: 1 cái đùi gà luộc & 1 cái trứng luộc bỏ vô 1
chén cơm trắng rồi chang nước tương ăn. Haiz yaaa… sáng sớm mà ăn kiểu ni thì nuốt sao
vô, thế là tôi làm tiếp 1 gói mì A-one cho xong bữa sáng.

Ăn sáng xong, ku Nghĩa dắt tôi đi chợ Việt/Châu Á & chợ Tây mua thực phẩm. Do mất cái áo
lạnh ở Philippines và chưa đi mua áo lạnh mới nên tôi đành xài tiếp cái áo tình nghĩa. Lúc đó
ngoài trời nhiệt độ khoảng -15oC, tôi mặc 1 áo ba lỗ, 1 áo thun chính, 1 áo len rồi khoác cái
áo tình nghĩa bên ngoài. Tôi chưa cảm thấy lạnh gì cho lắm.

Lần đầu tôi tiên xuống hệ thống tàu điện ngầm (Metro) của Montreal cũng hơi bị hiện đại dù
được xây dựng cũng khá lâu rồi.

Page 40
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Nhiệt độ dưới này là 25oC. Chênh lệch nhiệt độ với bên ngoài lên đến 40oC làm tôi bị sốc
nhiệt luôn, mồ hôi đổ ra cảm giác nóng vãi.

Hệ thống metro này được xây dựng khoảng 1960s. Tôi nghĩ với công nghệ lúc đó mà dân
Canada đã xây được hệ thống này thì quá dữ. Lần đầu tiên tôi leo lên metro chạy xình xịch
cũng thấy vui. Tốc độ của nó chắc là nhanh hơn xe lửa ở Việt Nam khi đó.

Ku Nghĩa nói bên đây đi chợ Việt chủ yếu mua gia vị và rau vì chỉ chợ Việt mới bán mấy loại
rau giống như ở Việt Nam, còn chợ Tây thì mua thịt do thịt ở đó được đóng gói, bao bì trông
bắt mắt và sạch sẽ hơn là cái tủ thịt chất đống kiểu chợ Việt.
Bước vô 1 chợ Việt, tôi ngó giá rau mà hơi bị bất ngờ (trong đầu tôi vẫn còn khung giá ở SG):
 1 bịch ớt giá 1.5$ ~ 25kVNĐ (ở SG chỉ 1kVNĐ)
 1 bó sà lách 99cents ~ 15kVNĐ (SG 1kVNĐ)
 1 bó rau muống 3.99$ ~ 60kVNĐ (SG 5kVNĐ)… OMG … 😅

Trong 3 năm tôi đi cày IT, tổng thu nhập của tôi (lương IT & cờ tướng) phải đóng 50% cho
“ngân hàng trung ương” (cũng may là chưa có “ngân hàng địa phương” 😃), cho nên phần
dành dụm của tôi chỉ mua được cái vé máy bay (1.1k$) và dư vài trăm $. Tôi được bà con
trong gia đình cho thêm tiền uống nước nên cũng gom được 1.5k$ dằn túi lên đường.

Mới qua tôi phải đóng tiền nhà 250$, mua vé metro ~65$ nên tôi chỉ còn ~1.2k$, mà không
biết khi nào có tiền học bổng nên tôi phải tiêu xài chắt chiu lắm. Thêm nữa hồi ở nhà chưa
bao giờ tôi được bước chân vào bếp nấu cái gì (dù tôi rất thích nấu ăn) do phải bước qua 3
lớp: má tôi, chị 2 và chị họ nên chả biết nấu nướng gì ráo, vì vậy tôi chả biết mua cái gì hết.

Ku Nghĩa muốn mạnh ai tự nấu ăn, không muốn ăn chung với tôi vì 2 đứa đi học lệch giờ và
cũng không chắc 2 thằng cùng khẩu vị. Cuối cùng, sau khi đắn đo ở chợ Việt & Tây thì tôi
cũng mua được 1 hộp trứng, 1 bó bắp xú, 1 bịch đùi gà, 1 bịch xúc xích, vài thứ gia vị và ít
trái cây. Về đến nhà đã trưa, chả biết nấu gì ráo và cũng lười nên tôi lại mì gói, nhưng lần này
“sang” hơn là có thêm xúc xích & trứng 😍

Tối đến, tôi tính nấu ăn chung một bữa với ku Nghĩa cho vui thì nó bận đi làm thêm. Ngán mì
gói, thế là tôi chiên trứng lên ăn với cơm và nước tương với rau bắp xú luộc.

Page 41
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Sau đó tôi cứ hết mì gói rồi lại trứng chiên thay phiên nhau cho đến khi hết thùng mì gói đem
từ Sài Gòn sang. Vì thế thời gian đầu tụi DHS VN cứ nhắc đến tôi là nhắc đến nickname “mì
gói trứng chiên” 😂

Ba DHS VN đầu tiên tôi gặp ở Montreal tất nhiên là Tân, Biên và Nghĩa. Bữa tối lúc đi taxi
về nhà Nghĩa thì tôi đã gặp hàng xóm của tôi và Nghĩa ở trên lầu, trong cùng 1 căn nhà cùng
chủ, là ku Tông và bé Thanh.

Vài bữa sau thì tôi gặp 1 nhóm DHS VN khác là bé Nhàn (học trường Lasalle), ku Khiết, ku
Vinh, anh Phục, bé Vân, bé Ngọc, cả 5 người cùng học trường Concordia. Đám này đang
trong thời gian nghỉ xong kỳ mùa thu để qua Noel và Tết Tây sẽ bắt đầu kỳ mùa đông nên hơi
bị rãnh. Cả đám thường xuyên tụ tập, đi shopping, ăn uống ở mấy nhà hàng Việt và Tàu.

Lần đầu tiên đi shopping ở Montreal, tôi cực kỳ choáng ngộp với những khu shopping to tổ
bố, hàng hóa nhiều kinh khủng với đủ thứ chủng loại mà rất ít người quản lý, hầu hết đều có
hệ thống tự động. Tôi y như một thằng 2 Lúa từ nhà quê mới lên tỉnh. Mà nói ra thì cũng hơi
xấu hổ cho tôi là mang tiếng sinh ra ở Sài Gòn mà đến 23 tuổi tôi vẫn chưa biết nhiều đường
ở trung tâm Sài Gòn, chưa hề vô nhà hát lớn thành phố, thương xá Tax….

Đến trước khi qua Montreal, tôi vẫn không hề biết khái niệm shopping là gì, chưa bao giờ vô
Diamon Plaza hay những khu shopping nổi tiếng mà nói ra ai cũng biết ngoài…tôi. Nguyên
do là thời học sinh, sinh viên, tôi ít đi chơi với bạn bè, mà phần lớn thời gian tôi đổ hết vô
niềm đam mê mang tên “cờ tướng”, có đi đâu đó cũng quanh quẩn khu Quận Tân Bình, Q3,
và Q10. Vì vậy qua đây gặp hệ thống shopping khủng của 1 nước công nghiệp phát triển
trong nhóm G7 (nhóm 7 quốc gia phát triển nhất thế giới) thì tôi bị ngộp là điều dễ hiểu.

Trong đám DHS VN này, chỉ có 1 mình tôi lúa, mấy đứa còn lại thì rành sáu câu vọng cổ vì
tụi nó đi shopping như đi chợ. Mấy em gái đi bởi đam mê shopping là chính, còn mấy cậu đi
shopping chủ yếu rình đồ giảm giá mà hốt. Bên đây mấy cửa hàng nó rất hay giảm giá để bán
nhanh hàng tồn, dành chỗ cho hàng mới, thúc đẩy gia tăng sản xuất.

Nhờ tụi DHS VN này mà tôi đã “hốt” được 1 cái áo lạnh khá ngon giá 170$ giảm còn 100$, 1
đôi giày mùa đông 140$ giảm còn 90$ (trước khi đi 1 ông dượng có cho tôi 1 đôi giày mua từ
bên Thái Lan 100$, tôi đem qua đây mang được vài tuần thì…bay mất cái đế 😅.)

Page 42
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Mỗi lần bọn tôi đi shopping xong thì chỗ đến quen thuộc tiếp theo là mấy quán ăn.
Lần đầu tiên tôi vô nhà hàng Việt, nhìn bảng giá tô phở mà giật mình: 8$/1 tô + 1$ tiền boa
(Tip) vị chi là 9$ ~ 120kVNĐ, trong khi ở Sài Gòn là 10kVNĐ/1 tô -> mắc gấp 12 lần.
Mắc thì mắc chứ tôi cũng phải làm thử 1 tô. Cảm nhận của tôi sau khi quất hết tô phở là: tạm
tạm, không thể so sánh với mấy quán phở quen thuộc gần nhà tôi và gần công ty TMA.

Thấm thoát thì đến Noel năm 2005. Chủ xị Biên và bà con quyết định tổ chức Noel party ở
nhà tôi. Bữa Noel đầu tiên của tôi trên đất Montreal đã diễn ra quá vui, hơn tôi nghĩ nhiều.
Ngoài những người tôi đã biết thì bữa đó có thêm rất nhiều DHS VN mới do mọi người rủ
đến cho vui. Tổng cộng chắc cũng lên đến 25+ DHS VN tham dự trong căn nhà khá là khiêm
tốn. Điều đầu tiên tôi nhận thấy ngay bữa đó (và luôn đúng ở những party tiếp theo) là dương
rất thịnh và âm rất suy 😅. Do số lượng nhân khẩu quá khủng nên bọn tôi chơi tiệc buffet đồ
ăn Việt. Nói chung là thức ăn cũng ngon dù tôi mới qua chưa có bị thèm đồ ăn Việt cho lắm.

Sau tiệc buffet là đến màn rút thăm trúng quà, trong quà có phiếu yêu cầu người nhận phải
làm theo lệnh của chủ nhân món quà. Đã có nhiều yêu cầu hơi sốc và cũng có một số yêu cầu
thú vị như bắt 1 em gái nhận quà phải ăn cùng 1 trái chuối với 1 anh khác chỉ dùng miệng.

Tăng 1 xong, các phụ nữ ra về, 1 số bà con xung chạy ra chụp hình trong trời tuyết đang rơi:

Page 43
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Còn lại khoảng 9-10 thanh niên trai tráng làm tiếp 1 cái lẩu và chơi món shooter: pha 1 ly
rượu nhỏ loại Whisky 40 độ, bỏ 1 tí muối và vắt vào 1 miếng chanh, uống 1 hơi 100%. Chẳng
bao lâu mỗi chú nốc từ 8-10 ly là chết queo hết 😂

Hôm sau 26/12 là “Boxing Day” – ngày siêu giảm giá ngay sau Noel – cả đám phải dậy sớm
để đi “giựt” hàng giảm giá nên mới 8h sáng, tôi, Nghĩa, Khiết và Vinh lấy hết sức lồm cồm bò
dậy chạy vô cửa hàng “Future Shop” (chuỗi cửa hàng bán đồ điện tử nổi tiếng ở Montreal)
xếp hàng. Vì quá đuối sau chầu shooters tối qua nên 4 đứa tôi đem theo 1 cái chiếu trải ra nằm
sấp lớp từ 8h đến 12h. Thật không thể tin được dân chúng xếp hàng đông kinh khủng!!!
Đúng 12h, cửa hàng mở cửa đề dân chúng xếp hàng ào vô giựt đồ giá siu rẻ...
Tôi đã tìm được được 1 cái webcam hiệu Creative giảm từ 120$ còn 20$. Bên cạnh đó có 1
cái khác không giảm (giá là 100$). Tôi vừa vịn vô cái webcame giảm giá vừa dò lại tờ rơi
xem phải đúng nó không. Đột nhiên xuất hiện 1 bà Trung Quốc ở đâu chạy vô chụp tay tôi,
giựt cái webcam 1 phát xém rớt xuống đất. Tôi giật mình giật lại, giằng co qua lại 1 hồi thì tôi
cũng lấy lại được cái webcame giảm giá..haiz yaaa..không ngờ Boxing Day đầu tiên của tôi
lại thật sự là màn boxing thứ thiệt với 1 bà Trung Quốc quá bất lịch sự!!!

Sau bữa Noel party thì chỉ có tôi và khoảng 10 DHS VN khác cảm thấy hợp tính nên thành
lập nhóm 8X. Những ngày đầu mới lập, nhóm 8X rất vui, đi chơi lúc nào cũng cười bể bụng.
Cuối tháng 12/2005, nhóm 8X đi chơi trượt patin trên băng (Ice-skating). Hix, lần đầu tiên đi
thử món ice-skating, tôi bị té sml 6-7 lần, dập bấy nhầy cái mông 😂

Page 44
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

HỌC KỲ 1/2006

Vài tuần vui vẻ ngắn ngủi của tôi đã trôi qua cái vèo như một cái nháy mắt.
Đúng ngày 05/01/2006, tôi bước vào học kỳ đầu tiên ngay trong mùa đông đầu tiên đầy háo
hức và rất rất là hồi hộp…

Trường ÉTS tôi sắp học được tách ra từ trường UQAM (Université du Québec à Montréal – 1
ngôi trường rất lớn và lâu đời ở Montreal) để chỉ chuyên dạy về công nghệ, sách tham khảo
phần lớn là tiếng Anh nên tôi cũng bớt được 1 chút xíu lo lắng cho trình độ tiếng Pháp vỡ
lòng của mình.

Bữa đầu tôi đi gặp ông giáo sư để chọn chương trình Master và lên kế hoạch cho dự án nằm
trong đề tài Master, tôi hơi bị khớp khi thấy ông thầy dáng cao to, tóc thầy bạc trắng giống y
như mấy tiền bối luyện công lâu năm trong phim chưởng Kim Dung vậy á.
Sau phần chào hỏi thăm sơ bộ, ông chọn cho tôi 1 chương trình Master với 7 môn học
(Course) 21 tín chỉ (Credit) và 1 cái luận văn (Thesis) 24 tín chỉ. Tổng cộng là 45 tín chỉ.
Có 2 loại chương trình Master ở Canada:
1. Course-based Master (45 credits): học hết các môn học qui định thì tốt nghiệp.
2. Research-based Master (45 credits): học một vài môn học cung cấp kiến thức làm dự án
R&D. Chương trình Master của tôi thuộc dạng này.

Page 45
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Nhìn lướt qua 7 môn học thì tôi vã mồ hôi, chả biết gì ráo vì vừa đặc tả bằng tiếng Pháp vừa
dính rất ít đến mảng phần mềm mà tôi biết.

Thầy nói học kỳ đầu tôi chưa quen trường mới nên ông chỉ đăng ký cho tôi học 2 môn (3 tín
chỉ/1 môn) và điền thêm 1 môn của dự án R&D (3 tín chỉ), để đủ ít nhất 9 tín chỉ cho sinh
viên toàn thời gian (Fulltime Student):
1. Sécurité de l’internet - SDL (3 credits) (ÉTS)
2. Reconnaissance de la parole (3 credits) (ÉTS) -> Automatic Speech Recognition - ASR
(3 credits) (McGill)
3. Research Project (3 credits) (ÉTS): chỉ mới đọc tài liệu sơ sơ, chưa bắt đầu

Môn đầu tiên thì tôi đoán được là về bảo mật trên mạng internet, môn thứ 2 thì tôi mù tịt. Do
ÉTS không mở môn thứ 2 trong học kỳ này nên thầy đã đăng ký cho tôi qua học bên trường
đại học McGill (dạy bằng tiếng Anh) 1 môn tương đương có tên là “Automatic Speech
Recognition”, nhờ vậy tôi mới biết là “Reconnaissance de la parole” có nghĩa là nhận dạng
giọng nói.

Ra khỏi phòng ông giáo sư, tôi bắt đầu cực kỳ lo lắng. Môn SDL thì nội dung chắc không khó
nhưng dạy bằng tiếng Pháp. Tôi không biết khi vô lớp nghe thầy giảng mà chả hiểu gì hết ráo
thì sẽ ra sao nhỉ? Còn môn ASR thì dạy bằng tiếng Anh có đỡ hơn tí nhưng nội dung mới
toanh, xưa giờ tôi có biết gì về giọng nói với bài toán nhận dạng giọng nói đâu...haiz yaaa…

Trong 3.5 tháng của học kỳ 1, mỗi tuần tôi đi học chỉ có 2 ngày, mỗi ngày 3 tiếng cho mỗi
môn, và có 3 tiếng học thêm 1 môn tiếng Pháp cơ bản ở 1 trường khác có tên là UDM
(Université de Montréal) bởi ÉTS không mở khóa tiếng Pháp cơ bản trong học kỳ này.

Những ngày không đi học & cuối tuần, tôi dậy sớm ăn sáng xong là từ 7h tôi bắt đầu ngồi đọc
sách kỹ thuật bằng tiếng Anh suốt cho đến mờ sáng hôm sau (2-3am) mới ngủ. Tính ra mỗi
ngày tôi ngủ chỉ có 4-5 tiếng.

Sau 2 tuần đi học thì tôi bị dính chưởng với cảm lạnh rồi chuyển sang cảm cúm 😥

Page 46
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tôi nghĩ chắc do 2 nguyên nhân chính:


1. Vì tôi chưa có kinh nghiệm nên khi đang đi ngoài đường từ -10oC -> -30oC rồi đột ngột
xuống metro với nhiệt độ 25oC -> thay đổi nhiệt độ quá lớn làm tôi bị sốc nhiều lần. Đúng
ra là vô cửa metro phải đứng 1 tí cho trung hòa rồi mới đi xuống dưới để tránh sốc nhiệt.
2. Tôi ngồi nhà đọc sách suốt, ít vận động và chơi thể thao nên người mệt mỏi, lại thêm ở
trong nhà bật sưởi suốt không ra đường đổi không khí làm cho người bèo nhèo.

Ngoài ra còn 1 nguyên nhân khách quan khác là cái nhà tôi ở với ku Nghĩa đó bị…hở…hix
hix… tôi mở sưởi lớn cuối tháng trả tiền mệt xỉu, còn mở sưởi nhỏ là lạnh vãi lúa. Tình cờ tôi
phát hiện được nhà bị hở ở dưới bếp. Tôi liền kêu chủ nhà đến sửa ngay và luôn.

Haiz yaaa, sáng hôm ấy sau khi ku Nghĩa đi học thì tôi tỉnh dậy, thấy lạnh toát cả người, cơ
thể rã rời. Tôi làm 1 viên C sủi (đem từ Việt Nam sang) rồi trùm mền lại một lúc thì nóng, bỏ
mền ra thì lạnh, trùm mền lại thì lại nóng tiếp.
Tôi thiếp đi một lúc tỉnh lại thì thấy đói lã người. Bỏ mền ra tôi vẫn còn thấy lạnh ngắt, nhưng
đói quá cũng phải ráng lếch xuống bếp kiếm ăn. Ố ồ… chả còn gì ăn hết, mì gói hết sạch,
trứng và đùi gà cũng láng cón, chỉ còn gạo và gia vị 😒.
Ngoài đường trời đang rất đẹp: -30oC, tuyết trắng xóa, không một bóng người qua lại, tôi
đang bệnh đâu dám ra đường trong điều kiện thế này.

Tôi đành bắt nồi cháo trắng. Bi kịch là ở Việt Nam tôi chưa bao giờ nấu cháo nên không biết
đong bao nhiêu gạo, đổ bao nhiêu nước là vừa. Tôi bỏ 1 chén gạo đầy và đổ nước vào nấu. Vì
dư gạo nên cháo khô queo, đặc sệch, y hệt cơm nhão. Thôi kệ nó, tôi bỏ 1 tí muối và 1 ít tiêu
vô cho thơm râu rồi múc cháo ra 1 chén to.

Ngồi cầm chén cháo trắng muối tiêu trên tay, tôi vừa ăn mà nước mắt tự nhiên vừa rơi xuống
chén cháo dù tôi không hề có ý định khóc (nam nhi chi chí mà lị). Tôi không ngờ qua đây tôi

lại rơi vào hoàn cảnh thê thảm thế này 😅


Tôi thấy hoàn cảnh mình giống như câu “lên voi xuống chó”. Tôi đang ở nhà sống vui vẻ với
gia đình, đi làm có tiền, muốn ăn gì cũng có, bệnh tật có người hỗ trợ. Giờ tôi qua đây sống cô
đơn, tiền bạc đang thiếu (học bổng trục trặc giấy tờ nên trễ 1 tháng), ăn uống kham khổ bởi
chả biết nấu ăn, bệnh tật tự lo chứ chẳng có ai giúp cả.

Page 47
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Cơn cảm cúm hành xác tôi đến 5 ngày. Tôi lại trong tình trạng dinh dưỡng không đầy đủ làm
tôi tiêu hao khá nhiều công lực, rớt mất liền 3kg. Nếu lúc đó tôi mà ở Sài Gòn thì chắc chắn
má tôi sẽ cho tôi xông lá dông, tống cho 1 đống thuốc cảm cúm, thuốc bổ, nấu đồ ăn ngon bồi
bổ thì khi hết bệnh thường là lên kg chứ không có xuống kg đâu.

Khi bắt đầu khỏe ra thì tôi đi học lại đuổi theo chương trình. Sau cú cúm, đi ra ngoài thấy
tuyết thì tự nhiên da gà da khỉ của tôi nổi hết lên, cảm giác rợn người, nhưng cũng phải ráng
lếch đến metro, một hai ngày thì cũng quen lại.

Ố la la… nghỉ học mới có 1 tuần quay lại mà tôi bị lơ mơ như con gà tơ.
 Môn SDL: cái tên môn học là bảo mật trên mạng internet liên quan đến một vài lĩnh vực
bảo mật, tuy nhiên giảng viên lại dạy đến 10 lĩnh vực bảo mật giống như đang luyện cái
bằng CISSP (Certified Information Systems Security Professional) của Microsoft nên nội
dung rất nhiều.
o Chapter 1: Access Control
o Chapter 2: Telecommunications and Network Security
o Chapter 3: Information Security Governance & Risk Management
o Chapter 4: Software Development Security
o Chapter 5: Cryptography
o Chapter 6: Security Architecture & Design
o Chapter 7: Operations Security
o Chapter 8: Business Continuity & Disaster Recovery Planning
o Chapter 9: Legal, Regulations, Investigations, and Compliance
o Chapter 10: Physical (Environmental) Security
Cuốn sách tham khảo món này lên đến 1000 trang. Tôi cũng còn oải chè đậu vụ không
hiểu được thầy giảng cái gì vì tiếng Pháp của tôi vẫn chưa tiến triển gì đáng kể.
 Môn ASR: bữa quay lại 99% tôi không hiểu gì hết. Tôi đọc qua nội dung môn học thì chỉ
biết 1 phần về trí tuệ nhân tạo (Artificial Intelligence – AI) hồi xưa tôi có học 1 môn ở
ĐHBK TPHCM, còn lại thì y như vịt nghe sấm.

Bình tâm lại, tôi nghĩ mới vô học thì cái gì cũng mới là bình thường thôi, từ từ thì khoai mì
cũng nhừ mừ. Nhưng càng học môn ASR thì tôi càng thấy có khá nhiều khái niệm mới mà
ông thầy lại giảng chỉ lướt lướt, rồi cho bài tập (Assignment) suốt. Tôi đọc trong cuốn sách
chính của môn thì cũng không thấy giải thích gì nhiều về mấy khái niệm đó.

Page 48
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tôi mới mò lên website môn ASR của McGill thì mới hiểu, à thì ra để học môn này thì phải
học trước đó 2 môn khác để hiểu về giọng nói, xử lý giọng nói và biết bài toán nhận
dạng/phân loại mẫu (Pattern Recognition/Classification) trong lĩnh vực khai thác dữ liệu/học
máy (Data Mining/Machine Learning).
Tôi chưa qua 2 môn này đáng lẽ không được đăng ký môn ASR, nhưng thầy tôi vẫn đăng ký
được cho tôi vì tôi không phải sinh viên chính quy của trường McGill mà chỉ học thêm môn
ASR để lấy kiến thức phục vụ cho dự án R&D, đồng thời lấy 3 tín chỉ để bổ sung vô chương
trình Master bên ÉTS của tôi thôi (bên Canada các trường đều thông nhau hết, học ở trường
nào cũng có thể chuyển điểm sang trường khác).

Khó khăn có vẻ ngày càng chồng chất, lại hơi bị quá sức của tôi, làm tinh thần tôi bắt đầu
xuống dốc… Để xốc lại tinh thần, tôi chợt nghĩ đến tính kiên trì của vận động viên cờ tướng,
xem cuộc phiêu lưu này giống như 1 ván cờ tướng, tôi không thể dễ dàng thua cuộc như vậy
được, phải có kế hoạch chiến đấu đến hơi thở cuối cùng chứ lị… 👊

Trong mấy tuần sau đó, ngoài thời gian đi học ở 3 trường, tôi ngồi suốt ở nhà “tụng kinh”: 1
cuốn sách tham khảo của môn SDL, 1 cuốn sách của môn ASR, và 2 cuốn sách của 2 môn
tiên quyết cho môn ASR. Vì thế đám DHS VN gọi nhà tôi lúc đó y như 1 cái “chùa” với 1
ông sư cụ non ngồi tụng kinh cả ngày 😃

Cái chu trình lập lại chán ngắt này tôi chịu được tuần đầu, đến tuần thứ hai thì bắt đầu khá
ngán ngẩm: Tôi ăn sáng xong đọc sách 1 tí thì lại đến giờ ăn trưa, nghỉ lưng 1 tí đọc tiếp chút
xíu là đến giờ ăn tối, đọc tí nữa là đến giờ ăn khuya, đến 2h sáng thì đi ngủ. Thức ăn thì lại
không phong phú nên tôi mau ngán chết luôn. Rồi những lúc tôi đọc sách nhiều bị nhức đầu,
thường là buổi chiều, muốn có người nói chuyện cũng không kiếm ra ai, đám 8X vô học kỳ
thì mất biến hết, lúc tôi rãnh thì tụi nó đâu có rãnh, còn ba má, đám bạn ở Việt Nam thì giờ đó
đang khò khò… Nói chung tinh thần khi ấy bị ức chế kinh khủng, nhiều lúc mệt mỏi tôi đã
nghĩ đến việc bỏ cuộc!

Tôi ở trong “chùa” suốt ngày với máy sưởi, lại không thể thao gì ráo làm cho thể trạng cứ lừ
đừ sao sao á. Tôi luôn cảm thấy muốn bệnh, tiếp tục rớt thêm 2kg nữa. Chưa đến 2 tháng mà
tôi mất 5kg, còn lại 55kg soi gương thấy người ốm nhom, mặt mày hốc hác thê thảm thặc.
Tôi thầm nghĩ đi du học khổ thí bà, có sướng gì đâu nhỉ???

Page 49
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Với một tinh thần rệu rã, thân xác rã rời đó thì tôi đã làm 1 việc mà không biết có DHS VN
nào đã từng làm hay chưa: tôi lên metro ngồi như kẻ vô hồn, mất phương hướng, để mặc sức
cho metro chạy đi đâu thì chạy, hết vòng (trạm cuối cùng) nó lại chạy vòng mới (trạm đầu
tiên), tôi cũng chả nhớ là đã ra khỏi metro khi nào nữa…
Đu theo môn ASR đến tuần thứ 6 thì tôi không còn hiểu được mấy cái bài tập ông thầy giao
hỏi cái gì luôn. Vì đu theo môn này quá mà môn SDL tôi không đủ thời gian nên cũng đang
lâm vào tình thế nguy hiểm. Nói chung là tôi đuối toàn tập 

Trong đầu tôi bắt đầu xuất hiện 2 con đường để chọn: đầu hàng đi về hoặc xin sư phụ hủy
môn ASR, đăng ký học lại môn tương đương ở ÉTS vào học kỳ sau. Nghĩ đi nghĩ lại thì tôi
thấy lựa chọn nào cũng đều không ổn. Tôi rơi vào tình thế “tiến thoái lưỡng nan” đã làm tôi
mất ngủ cả mấy ngày, đầu óc tưng tưng rồi khìn khìn luôn!

Nếu tôi đầu hàng đi về thì sợ mất uy tín của Tân đã giới thiệu, mất uy tín sư phụ với công ty
Bell Canada và viện CRIM, và sau này tôi có thể bị quê với bạn bè khi họp mặt tụi nó có hỏi
đến (vụ quê này tôi có nghĩ vậy thôi chứ cũng không quan tâm lắm, đâu phải đứa nào học
giỏi, có bằng cấp ngon lành thì sẽ thành công trên đường đời đâu, đường dài mới biết ngựa
hay, cuối đời mới đánh giá được, mà cũng chưa chắc tụi nó quan tâm đến việc học của tôi).

Lựa chọn thứ 2 cũng chẳng khá hơn. Cái môn SDL dù bằng tiếng Pháp nhưng nội dung không
khó lắm, chỉ cần đọc hết cuốn sách tiếng Anh 1000 trang để hiểu rồi “đoán mò” các từ tiếng
Pháp qua từ tiếng Anh chắc ok, nhưng môn SDL không dính nhiều đến dự án dù nằm trong
chương trình Master của tôi. Môn ASR mới thực sự cần cho dự án nhưng lại quá sức ở thời
điểm này. Tôi học chỉ có 2 môn mà lại xin hủy cái môn quan trọng nhất nữa thì tôi nghĩ sư
phụ sẽ không hài lòng, có thể cắt học bổng thì lúc đó tôi đi về còn thảm hơn 

Sau vài ngày tỉnh táo lại thì tôi thấy lựa chọn thứ 2 có vẻ ổn hơn, còn nước còn tát, biết đâu sư
phụ tốt bụng, thấy thằng này nhà quê, mặt “super lúa” mà thông cảm dời môn ASR qua học
kỳ sau giúp tôi thì sao. Thế là cuối cùng tôi quyết định theo lựa chọn thứ 2.

Ngày lên gặp sư phụ, tôi đã đi qua đi lại phòng của thầy 3 lần mà chưa dám bấm chuông. Cứ
mỗi lần đưa tay lên định bấm tôi lại hình dung cảnh thầy không hài lòng thì lại nhát, tim tôi
đập thình thịch. Bất quá tam ba bận, đến lần thứ 4 tôi lấy hết can đảm bấm chuông…

Page 50
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Reng…reng…reng… Sư phụ ra mở cửa bắt tay tôi chào hỏi rồi mời tôi vào. Ngồi xuống sư
phụ vui vẻ hỏi tôi học hành thế nào. Thấy sư phụ thoải mái làm tôi cũng bớt lo nên đã thổ lộ
“điều khó nói”. Nghe xong sư phụ lên website môn ASR xem đặc tả môn học. Xem xong sư
phụ nói 1 câu làm tôi mừng rỡ: “Ừa, môn này cậu học bây giờ thì khá là nặng, thôi để học kỳ
sau học thêm môn tiên quyết kèm thêm nó vậy”.
Nghe xong tôi thở phào một cái nhẹ người như vừa trút được mấy kg sắt trên người
…phù…phù…phù…Vậy là ngọn lửa hi vọng vượt qua con đường chông gai của tôi đã được
thắp sáng trở lại.

Từ lúc thấy đuối môn ASR, tôi né không dám lên gặp sư phụ suốt mấy tuần, vì sợ bị sư phụ
hỏi thăm tình hình học hành thì tôi không biết trả lời sao.
Sau khi gặp sư phụ giải quyết xong môn ASR, tôi đi về thì tình cờ gặp cậu của Tân, người đã
giới thiệu sư phụ cho tôi, đang đi công tác ở ÉTS. Cậu đã gặp sư phụ (trước khi tôi đến) để
bàn công việc, nhân tiện có nói chuyện về tôi. Cậu nói cho tôi biết là sư phụ có hỏi sao mấy
tuần rồi ổng không thấy mặt mũi tôi đâu hết, ổng sợ tôi mới qua sống một mình buồn rồi bỏ
về mà không chịu học và làm dự án nữa.

Rồi cậu cũng động viên tôi là mới qua gặp nhiều khó khăn là chuyện bình thường, học ở
Canada cũng không khó lắm đâu, dân Việt mình cày trâu hơn tụi Tây, lỡ có rớt môn thì học
lại thôi chứ có gì ghê gớm đâu, và chưa có DHS VN nào học Master ở Canada mà không
xong (ngoại trừ chơi bời không chịu học). Nghe xong tự nhiên tôi tỉnh ra, đúng là tôi đã bị
ngộ nhận, nếu mà tôi được gặp cậu trước khi bắt đầu vô học thì tốt quá!
Chỉ cần 1 câu động viên của cậu mà tôi trở nên tự tin lên, tinh thần phấn chấn hẳn ra, thấy y
như mình được tiếp thêm sức mạnh rất nhiều. Tôi thật sự không ngờ tinh thần lại ảnh hưởng
mạnh mẽ đến tôi như vậy, điều mà trước đây chưa bao giờ tôi nghĩ đến. Chắc có lẽ từ nhỏ đến
lớn, tôi sống lúc nào cũng gần gia đình, có gia đình bao bọc nên tôi đã luôn dựa dẫm vào ba
má, chưa bao giờ phải đối mặt với những vấn đề đau đầu cần yếu tố tinh thần!
Tôi đã cảm ơn cậu rất nhiều!!!

Cái khó khăn nhất tạm thời qua, mối lo còn lại của tôi trong học kỳ này là tiếp tục nâng trình
độ tiếng Pháp và “nuốt” hết 1000 trang sách tiếng Anh để “trụ hạng” môn SDL 😂

Page 51
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tôi đi học môn SDL không bỏ bất cứ bữa nào. Tôi luôn ngồi bàn đầu, chăm chú nghe thầy
giảng dù thầy giảng bằng tiếng Pháp tôi chẳng hiểu gì cả. Slides cũng bằng tiếng Pháp nhưng
về IT liên quan đến một số cái tôi đã học nên thời gian đầu cũng đoán được chút ít, sau đó tôi
đọc cuốn sách tham khảo nhiều nên cũng hiểu hơn.

Mỗi bữa tối học 3 tiếng + 30‟ giải lao: 1 tiếng đầu tôi rất cố gắng nghe thầy giảng, y như vịt
nghe sấm, rất ư là mỏi não, 1 tiếng sau thường tôi chịu không nổi nên hay ngủ gục, 1 tiếng
cuối tôi lại cố gắng nghe.
Đến cuối giờ tôi lên gặp thầy hỏi bằng tiếng Anh từ 30‟-45‟ những nội dung trên slides &
trong sách tham khảo. Ông thầy cũng hiểu hoàn cảnh tôi không khá tiếng Pháp nên rất nhiệt
tình chỉ bảo dù cũng khá trễ (học từ 6pm – 9.30pm, tôi hỏi xong thường 10.15pm).

Sang giai đoạn chia nhóm làm bài thực hành nhóm, ông thầy cho sinh viên tự lập nhóm. Đám
sinh viên trong lớp đã lập xong hết nhóm, còn lại mình tôi bơ vơ vì tôi có nói được tiếng Pháp
đâu mà thảo luận vụ lập nhóm. Tôi có nói tiếng Anh với một số sinh viên thì phần họ không
thích nói tiếng Anh và phần họ không hiểu lắm những gì tôi nói nên tôi không tham gia được
nhóm của họ.
Tôi đang định nhờ thầy giúp thì có 2 sinh viên đi trễ vô hỏi tôi cho ngồi chung bàn. Tôi ok
cho họ ngồi rồi nói chuyện làm quen sơ bằng tiếng Anh. Thì ra 2 đồng chí này là sinh viên
Pháp đang học đại học ở Paris, Pháp, qua ÉTS học theo chương trình trao đổi văn hóa 1 học
kỳ rồi về lại Paris. Thế là tôi gợi ý 3 đứa tạo 1 nhóm luôn đi và 2 chú này cũng ok.

Bài tập nhóm này có 2 phần: thực hành & báo cáo (soạn slides + thuyết trình).
Hai chú này thực ra là sinh viên đại học, đăng ký môn SDL thuộc chương trình Master học
cho biết nên kiến thức chưa đủ để làm thực hành trong khi tôi thì đủ kiến thức làm thực hành
nhưng lại không đủ tiếng Pháp để soạn slides & thuyết trình. Thế thì tôi đảm nhận làm phần
thực hành còn 2 chú ấy làm báo cáo.
Sau khi tôi làm xong phần thực hành thì 2 chú ấy bắt đầu soạn slides, có gì thắc mắc cần hỏi
tôi thì trao đổi qua email.
Bữa chúng tôi gặp nhau để ráp 2 phần lại thì chuyện bi hài xảy ra. Số là 2 chú này nói tiếng
Anh giao tiếp thông thường thì ok, nhưng thảo luận chuyên môn thì nói không ổn, trong khi
tiếng Pháp tôi cũng không đủ để thảo luận, cho nên chúng tôi không thể giao tiếp bằng nói
chuyện được 😅-> giải pháp được đưa ra: tôi mở phần mềm “notepad” trên máy tôi lên rồi

chúng tôi thay nhau gõ lên đó từng dòng y như đang chát chit online, đúng là hài vãi lúa 😂

Page 52
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Rồi đến khi nhóm tôi lên thuyết trình là chuyện bi hài tập 2.
Hai chú ấy thay nhau thuyết trình bằng tiếng Pháp khá lưu loát (các nhóm sau thuyết trình
cũng mượt, nói như gió y như không cần suy nghĩ). Tôi phải công nhận đám học sinh/sinh
viên Tây có kỹ năng thuyết trình cực tốt, họ được học và hành từ nhỏ. Tôi chạy thực hành
cũng ok. Kết thúc phần trình bày của chúng tôi thì sinh viên bên dưới hỏi bằng tiếng Pháp.
Hiển nhiên tôi nghe chả hiểu họ hỏi gì cả. Câu nào hai chú này trả lời được thì mần luôn. Câu
nào họ không trả lời được thì dịch qua tiếng Anh cho tôi nghe. Ngặt cái là họ nói tiếng Anh
chệch choạch nên hầu như tôi không hiểu hết ý. Cuối cùng là phải nhờ đến ông thầy làm
thông dịch viên bất đắc dĩ 😆

Thấm thoát học kỳ đầu tiên của tôi cũng sắp kết thúc. Cả trường bước vào thi cuối kỳ. So với
các sinh viên Master khác trong trường phải học ít nhất 3 môn, tôi học chỉ có 1 môn thì đúng
ra phải khỏe nhất. Nhưng KHÔNG… Tôi mới là người đau đầu nhất… Môn SDL sẽ cho thi
trắc nghiệm, đề dài 40 trang giấy A4 bằng tiếng Pháp 😂

Các trường ở Canada được cái là sinh viên khi làm bài thi muốn viết bằng ngôn ngữ gì cũng
được hết, miễn sao giảng viên phụ trách chịu chấm là ok. Còn đề thi được viết bằng ngôn ngữ
nào thì do trường đó đang dạy bằng ngôn ngữ nào (tiếng Anh hoặc Pháp). Sinh viên nào
muốn được ra đề thi bằng ngôn ngữ X nào đó thì phải xin phép giảng viên. Giảng viên ok sẽ
làm đơn xin phép trường cử người dịch đề thi sang ngôn ngữ X.

Trường hợp của tôi là đề thi trắc nghiệm, tôi chỉ đánh dấu mà không phải viết nên tôi không
cần xin phép giảng viên cho tôi làm bằng tiếng Anh.
Tôi chỉ xin phép ông thầy dịch dùm tôi cái đề thi qua tiếng Anh. Thầy nói là thầy sẵn lòng
dịch đề thi sang tiếng Anh cho tôi, nhưng tôi phải xin phép từ trước chứ đến lúc gần thi mới
xin phép thì trễ quá rồi vì trường phải duyệt rồi tìm người dịch…bla bla…haiz yaaa… lúc
trước tôi có biết sẽ gặp chuyện này đâu mà xin phép trước.

Tôi mới cầu cứu sư phụ. Sau khi xem xét quánh giá tình hình thì sư phụ nói là sư phụ có thể
nhờ cô thư ký của sư phụ dịch dùm lúc phát đề ra. Tuy nhiên, đề thi từ 1-3 trang thì ok, đề này
đến 40 trang thì không được dzồi. Tôi nghe xong thì hiểu là phải chiến đấu với đề tiếng Pháp,
nghĩ thôi rồi lượm ơi, chuyến này binh sao đây ta…

Page 53
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Trước khi vô phòng thi tôi có gặp một số đứa trong lớp, hỏi tụi nó chuẩn bị ra sao, có đọc hết
cuốn sách tham khảo 1000 trang không. Tụi nó trả lời làm tôi rất bất ngờ là tụi nó chỉ nghe
ông thầy giảng và xem sách chứa slides, chứ sách tham khảo dài quá tụi nó đọc không nổi.

Tụi nó nghe tôi nói tôi đã đọc hết cuốn sách tham khảo thì tụi nó mắt tròn mắt dẹt 😃.
Vừa đọc tôi vừa tóm tắt & tổng hợp kiến thức 1000 trang sách vô 100 trang Word để xem tới
xem lui, chứ không tôi sẽ quên hết sau khi đọc xong sách:

Sau khi tôi ngôì vào bàn thi, chờ giám thị phát đề, tôi si nghĩ ra chiến lược chiến đấu:
 Nhận dạng thuật ngữ chuyên ngành (Terminology): cũng may là trong ngành IT thì các từ
chuyên ngành IT bằng tiếng Pháp không có nhiều, rất nhiều từ sử dụng luôn từ tiếng Anh
nguyên gốc hoặc dịch qua tiếng Pháp cũng tương đương có thể đoán được. Ví dụ: CPU
(Central Processing Unit) -> dịch qua tiếng Pháp là UCP (L‟Unité Centrale de Processus)
 Đoán nghĩa tiếng Anh các từ tiếng Pháp viết gần giống, chấp nhận rủi ro. Ví dụ:
o assurer (Francais) -> assure (English)
o pratiquer (Francais) -> practice (English)
o protéger (Francais) -> protect (English)
o sélectionner (Francais) -> select (English)
 Câu nào đọc tới đọc lui mà vẫn không hiểu thì đánh cùng 1 cột để kiếm thêm được điểm
nào hay điểm đó.

Mặc dù đã biết trước đề thi 40 trang là dài lắm nhưng khi tôi cầm tờ đề thi trên tay nhìn vào
mà vã mồ hôi hột, nó quá xá dài, tôi không biết đọc khi nào mới xong đây… Thế là tôi cắm
đầu cắm cổ vào đọc và làm mà không biết trời trăng mây nước gì xung quanh nữa…

Page 54
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tíc tắc…tíc tắc… tíc tắc… 90‟ trôi qua… ông thầy báo đã hết 1/2 thời gian thi, tôi giựt mình
ngó lên nhìn xung quanh thì mọi người làm xong nộp gần hết, còn lại khoảng 5,6 người.

Tíc tắc…tíc tắc… tíc tắc… 30‟ trôi qua tiếp… tôi ngước lên nhìn thì phòng chỉ còn lại một
mình tôi và… ông thầy…haiz… 2/3 thời gian đã qua mà tôi mới làm được 40%.

Vài phút sau ông thầy chán quá cũng đi ra khỏi phòng, vậy là chỉ còn 1 mình tôi trong 1
phòng trống vắng chiều nay cặm cụi đọc và làm tiếp cho xong…

Beng…beng…beng…hết giờ thi…ông thầy vào lại phòng hỏi tôi xong chưa nộp bài cho thầy,
tôi quất đại một đám câu cuối cho xong rồi nộp bài luôn. Tôi đã đọc và làm 80%, mần đại
20% suốt 3 tiếng ròng rã 😅. Có vài từ tiếng Pháp tôi đoán nghĩa tiếng Anh sai bét: ví dụ

reporter (Francais) -> reporter (English) sai bét, nó là postpone (English) 😂

Thi xong trên đường rời khỏi trường tôi có gặp vài đứa sinh viên cùng lớp đang tụ tập chuẩn
bị thi môn khác. Tôi hỏi tụi nó thi thế nào thì tụi nó nói đề thi chỉ có dài nhưng không khó, có
hết trong phần thầy giảng và sách chứa slides nên tụi nó làm 90‟-120‟ là xong.
Tôi nói tôi làm hết 180‟ mà vẫn chưa xong bởi rào cản tiếng Pháp thì tụi nó cũng thông cảm
cho tôi, cũng động viên tôi chắc là tôi sẽ đậu thôi, đừng lo.

Dù gì thì bài cũng đã nộp rồi, đậu hay rớt thì có kết quả sẽ biết chứ lo lắng có được cái gì đâu
nà. Tôi liền đi chơi vòng thành phố Montreal thư giãn sau 3.5 tháng cực kỳ bầm dập trong cái
học kỳ đầu tiên này…

Cũng cần nói qua về quá trình học tiếng Pháp của tôi từ lúc đặt chân đến Canada.

Nhận thức được việc tôi sẽ gặp khó khăn rất nhiều với rào cản ngôn ngữ (Language Barrier),
tôi đã đăng ký 1 môn tiếng Pháp cơ bản ở trường UDM (Université de Montréal) học song
song với chương trình Master ở ÉTS. May mắn cho tôi là gặp được 1 cô giáo người Pháp từ
Paris qua dạy rất nhiệt tình, cực kỳ bài bản, phát âm rất rõ và hay bằng giọng Pháp chuẩn
(giọng Pháp của người Quebec ở Canada rất là nặng, và tiếng Pháp của Canada có rất nhiều
khác biệt với tiếng Pháp của tụi Pháp vốn là tiếng Pháp chuẩn trên thế giới).

Page 55
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Cho nên tôi được xây 1 cái nền tiếng Pháp tương đối tốt ngay từ ban đầu (chẳng bù cho tiếng
Anh tôi học ở Việt Nam mười mấy năm đến khi qua đây nói thì lọng cọng, ngữ pháp cũng
lung tung mà chả có bài bản, nền tảng gì ráo ). Thứ hai nữa là cô dùng tiếng Pháp dạy tiếng
Pháp, cấm học viên nói tiếng Anh trong lớp, điều này cũng làm cho tôi luôn phải suy nghĩ
trực tiếp bằng tiếng Pháp (hiển nhiên là cực kỳ khó khăn lúc đầu) chứ không suy nghĩ bằng
tiếng Anh rồi dịch ra tiếng Pháp như tôi đang làm. Điều này vừa giúp tôi tiết kiệm thời gian
vừa giúp tôi cảm thụ tiếng Pháp nhiều hơn.
Nhờ chăm chỉ theo sát khóa tiếng Pháp này mà đến cuối học kỳ đầu tiên tôi nghe ông thầy
giảng hiểu được 10% so với trước đó là con số 0 tròn trĩnh ^_^

Kết quả bài thi cuối kỳ môn SDL của tôi là 60/100 cộng với bài tập nhóm ok nên môn này tôi
được B+ , không bị rớt…trụ hạng thành công…huraaaaaaa… 😅 …

Tôi rất vui vì không phải tôi không bị rớt môn SDL, mà vì những nỗ lực cao độ, cày sâu cuốc
bẩm và tinh thần chiến đấu của tôi đã được đền đáp xứng đáng. Trong tình huống này của tôi
thì cái câu của ông bà ta “Cần cù bù thông minh” là cực kỳ chính xác!

C‟est le temps de célébrer…

Page 56
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

HỌC KỲ HÈ/2006

Các trường đại học ở Canada tổ chức 2 học kỳ chính trong 1 năm: học kỳ mùa đông (từ tháng
1-4), và mùa thu (tháng 9-12). Ngoài ra có thêm 1 học kỳ mùa hè (tháng 5-8) không bắt buộc,
sinh viên nào muốn học ở học kỳ mùa hè thì có thể đăng ký các môn học mà các trường có
mở trong học kỳ mùa hè, thường là các môn ít quan trọng.

Đến học kỳ hè, đám DHS VN trong hội 8X đều đang học đại học nên họ nghỉ hè mà không
tham gia học kỳ hè. Họ vừa chơi thư giãn vừa tranh thủ đi làm công việc bán thời gian (Part-
time Work) để kiếm thêm tiền tiêu xài lặt vặt. Tôi đang học Master theo học bổng 2 năm nên
phải xong càng nhanh càng tốt chứ kéo dài quá 2 năm thì sẽ đói 😂. Cho nên tôi đăng ký học
kỳ mùa hè cố gắng học luôn cho nhanh.

Trong khi tôi đang xem các môn trong chương trình Master của tôi coi môn nào được mở ở
trường nào trong học kỳ hè này thì 1 tin khá hay ho đến với tôi: sư phụ đánh giá thấy tôi chưa
có kiến thức về Speech, Speech Recognition nên đã chuyển tôi qua mảng dự án có vẻ phù hợp
với tôi hơn, đó là Khai thác dữ liệu (Data Mining), đồng thời cũng đổi chương trình Master
của tôi luôn. Chương trình Master mới của tôi gồm:
 5 môn học (15 credits), bao gồm môn SDL (3 credits) tôi đã xong học kỳ trước.
 Dự án R&D (30 credits), bao gồm 6 credits tôi đã đăng ký học kỳ trước dù tôi chỉ mới đọc
tài liệu dự án sơ qua, chưa làm gì nhiều trên đó cả.
Như vậy so với chương trình Master cũ, chương trình Master mới đã giảm số môn học xuống
và tăng số tín chỉ dự án R&D lên để tôi có nhiều thời gian làm dự án hơn.

Trong học kỳ hè này, ÉTS chỉ mở 2 trong 4 môn học còn lại của tôi, đó là “Compléments
Mathématiques” CM (Advanced Mathematics – Toán cao cấp) (3 credits) và “Conception de
logiciel” CDL (Software Design – Thiết kế phần mềm) (3 credits). Vì vậy, tôi đăng ký 2 môn
này cho học kỳ hè và 3 credits của dự án R&D cho đủ 9 credits để thành sinh viên toàn thời
gian. Học kỳ này tôi bắt đầu gặp sư phụ nhiều để thảo luận về dự án.
Nhằm tăng cường khả năng nghe nói tiếng Pháp, tôi đăng ký thêm 1 môn tiếng Pháp giao tiếp
của ÉTS. Ngoài ra, tôi đăng ký ngoại khóa 1 môn “tiếng Anh giao tiếp” bên trường Concordia
(trường đại học dạy bằng tiếng Anh) để củng cố nền tảng tiếng Anh và khả năng giao tiếp
bằng tiếng Anh của tôi luôn.

Page 57
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Môn CM được dạy bởi 1 Tiến sĩ người Quebec, giảng bài & slides đều bằng tiếng Pháp. Tuy
nhiên, môn này tôi không gặp vấn đề với rào cản ngôn ngữ vì toán học thì nặng về ký hiệu và
logic nên tôi nghe thầy giảng bằng tiếng Pháp chưa hiểu thì đọc slides cũng hiểu được phần
nào, cuối giờ hỏi thêm thầy. Khi thực hành với lập trình Matlab chạy ra kết quả thì sẽ hiểu
tường tận hơn.

Sách tham khảo của môn CM lại là 1 cuốn sách viết bằng tiếng Anh của Mỹ. Thú thật là hồi
học toán ở Việt Nam tôi rất ít khi đọc sách toán, chủ yếu nghe thầy giảng trên lớp rồi bài tập
về nhà thầy cho các bài nào thì giở sách ra đúng các bài đó mà làm cho xong rồi thôi. Sách
toán của Việt Nam viết khô khan với quá nhiều công thức, nặng phần tính toán, ít diễn giải,
cũng khá nhiều bài toán đánh đố mà không mang tính ứng dụng thực tiễn. Ngược lại, cuốn
sách tham khảo này viết cực kỳ hay. Bắt đầu mỗi phần là 1 tình huống thực tế, diễn giải một
hồi mới ra vấn đề cần giải quyết, rồi đến phần phân tích để cuối cùng ra bài toán cần giải, nói
chung là rất cuốn hút người đọc. Vì thế lần đầu tiên trong đời tôi đọc hết 1 cuốn sách toán từ
đầu đến cuối! Qua việc này tôi nhận thấy 1 điều: sách của tụi Tây dạy người học cách đặt vấn
đề (WHAT) và giải quyết vấn đề bằng máy, còn sách của Việt Nam dạy người học làm thế
nào (HOW) để giải 1 bài toán mang tính chất thuộc lòng và tính toán bằng tay nhiều.

Môn CM có rất nhiều bài tập nhỏ làm hàng tuần, 1 bài tập lớn và 1 bài thi cuối kỳ. Bài tập lớn
là lập trình Matlab, tôi làm xong rồi thuyết trình. Phải nói là lần đầu tiên tôi thuyết trình bằng
tiếng Pháp với trình độ tiếng Pháp còn bập bẹ nên nói năng hiển nhiên không được lưu loát,
dùng động từ “quơ” khá nhiều :)) , cũng may đây là môn toán có lập trình nên cái gì khó diễn
tả thì cứ chỉ vô công thức, code Matlab và kết quả để minh họa và giải thích.

Trong bữa thi cuối kỳ, tôi ngồi gần 1 bạn sinh ra và lớn lên ở Quebec, có ba mẹ người Việt,
nói tiếng Pháp là tiếng mẹ đẻ, nói tiếng Việt cũng tạm tạm. Đề thi có 1 câu tính tích phân với
biểu thức khá phức tạp theo thông số n, cận từ âm vô cực đến dương vô cực. Tôi ngồi tính
toán cơ bắp đổ mồ hôi: chuyển cận về 0,1, tính tích phân từng phần hạ bậc biểu thức tùm lum,
đổi thông số tới lui cuối cùng mới ra kết quả theo n, thay số vào chữ n vô tính để ra kết quả
sau cùng, tốn hết 2 trang A4. Tôi làm vừa xong thì ku cậu hỏi kết quả để dò: 2 thằng ra cùng
kết quả…phù…zị là tôi yên tâm mình làm đúng ròi.
Tôi liếc qua bài của ku cậu thì thấy cậu ta làm có mấy dòng à. Èo, tôi nghĩ thèn này siu nhơn
ta, mình tính thấy bà cố mới ra, nó viết có vài dòng là ra rồi. Ngó kỹ bàn của ku cậu thì tôi
thấy cậu ta xài máy TI (Texas Instrument) có khả năng giải tích phân theo thông số n.

Page 58
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Thì ra cậu ta dùng máy TI để tính. Thế là tôi nói nhỏ cậu ấy là hãy nhìn xuống dưới cùng đề
thi có 1 ghi chú nhỏ xíu: Không được xài máy để giải câu này. Xem xong mặt cậu ta méo xẹo,
không kịp giờ tính tay lại, thiệt là bi hài cho ku cậu bởi đọc đề không kỹ, quen xài máy 😅

Giống như môn SDL, tôi vừa học môn CM vừa tổng hợp kiến thức vô 1 file Word để dành:

Page 59
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Môn CDL được dạy bởi 1 Tiến sĩ người Mỹ, chuyển qua định cư ở Montreal, làm giáo sư
mảng phần mềm ở trường ÉTS. Ông này từng làm ở bộ phận phát triển phần mềm trong
NASA (National Aeronautics and Space Administration), cơ quan hàng không vũ trụ của Mỹ.
Theo qui định của trường thì ông phải giảng và soạn slides bằng tiếng Pháp. Tuy nhiên, sách
tham khảo thì vẫn bằng tiếng Anh, và cũng khá dài, không kém cuốn sách môn SDL là bao 
Ông thầy này nói tiếng Pháp như gió, không khác gì tiếng Anh là tiếng mẹ đẻ của ông. Do nội
dung môn CDL liên quan đến mảng phần mềm tôi đã làm nhiều và trình độ tiếng Pháp của tôi
lúc này cũng đã khá lên tí nên tôi có thể hiểu được 50%-60% những gì thầy giảng. Và cũng
giống như môn SDL, CM, cuối mỗi buổi tôi đều ở lại hỏi thêm thầy cỡ 30‟ bằng tiếng Anh.

Môn CDL cũng có rất nhiều bài tập nhỏ, 1 bài tập thực hành nhóm và 1 bài thi cuối kỳ, không
có thi giữa kỳ. Một học kỳ có 15 tuần, tôi học 2 môn CM & CDL có 14 tuần liên tiếp mỗi
tuần phải hoàn thành 1 bài tập (vừa tìm hiểu vừa làm, chứ không có bài nào biết làm liền cả)
làm tôi chạy trối chết luôn. Thường thì đến cuối tuần tôi mới làm xong 1 bài để nộp (hạn chót
là tối Chủ nhật hàng tuần) nên nhiều lúc hồi hộp thiệt luôn. Cũng may cho tôi là 3 credits
phần dự án sư phụ không có ép tôi chạy cho lắm, không thì chả biết tôi dù có gắn su-xì-po vô
chạy cũng chưa chắc kịp nữa 😂

Các trường đại học ở Canada chú trọng vào việc thực hành nên bài tập hơi bị nhiều. Vì thế tôi
thấy sinh viên đại học bên đây thường chỉ học 4 môn/học kỳ (ở Việt Nam học từ 6-8 môn/học
kỳ), và sinh viên Master học 3 môn/1 học kỳ. Nếu học nhiều môn hơn thì nguy cơ làm bài tập
không kịp rất là cao.

Trước kỳ thi cuối kỳ môn CDL, giảng viên cho biết là đề thi sẽ là thi viết, không cho đem tài
liệu vào phòng thi. Tuy nhiên, mỗi sinh viên được quyền đem 1 tờ giấy A4 vào phòng thi để
tham khảo, trên đó sinh viên muốn viết gì thì viết.

Khi nghe đề thi viết, tôi lập tức xin giảng viên cho tôi viết bằng tiếng Anh thì ông ok luôn,
còn việc dịch đề thi từ tiếng Pháp sang tiếng Anh thì tôi nghĩ không cần thiết vì nội dung
mảng phần mềm thì tiếng Pháp xài rất nhiều từ tương tự tiếng Anh mà tôi có thể đoán được,
và thầy cũng cho phép được hỏi thầy bằng tiếng Anh nếu có chỗ nào đó tôi chưa hiểu rõ.

Page 60
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Trong quá trình học môn CDL, tôi cũng đã tổng hợp kiến thức từ những gì thầy giảng và cuốn
sách tham khảo vô 1 file Word:

Từ file Word này, tôi lại rút trích những ý quan trọng nhất và cố gắng nén hết cỡ vào 1 tờ giấy
A4 càng nhiều chữ càng tốt để đem vào phòng thi tham khảo khi cần.
Thật kỳ diệu thay, sau khi tôi hoàn tất tờ giấy A4 với chữ nhỏ xíu, chi chít chằng chịt, hầu
như không còn khoảng trống, rồi đọc qua đọc lại vài lần thì tôi thuộc luôn nội dung trong tờ
A4 này. Đến khi làm bài thi, nội dung trong tờ giấy A4 tự nhiên hiện trong đầu tôi mà tôi
không cần tham khảo tờ giấy A4 nữa. Nhờ vậy mà tôi làm bài thi kịp thời gian.
Tôi phải công nhận ông thầy cho đề thi khá là hay, ai mà tham khảo tờ giấy A4 thì hầu như
làm bài thi không kịp, chỉ có đọc đề xong là cắm đầu viết như cái máy thì mới kịp giờ.

Kết quả học kỳ hè của tôi: môn CM được A+, môn CDL được A-, tôi đã trụ hạng thành công
thêm 1 học kỳ nữa. Vậy là tôi đã học xong 3 môn học bằng tiếng Pháp với trình độ tiếng Pháp
còn bèo nhèo, trình độ tiếng Anh còn tạm tạm…phù… tôi thật là hài lòng!

Tôi tràn đầy tự tin để sẵn sàng xử lý nốt 2 môn học còn lại để tập trung tâm trí hoàn toàn vào
dự án R&D. Trình độ tiếng Anh/Pháp của tôi cũng đã có bước tiến vượt bậc nhờ các khóa học
ngôn ngữ đã qua và môi trường thực hành tiếng Anh/Pháp hàng ngày. Một lần nữa tôi phải
công nhận môi trường thực hành là cực kỳ quan trọng, đặc biệt là học ngôn ngữ.

Page 61
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Thay đổi không khí, tôi nói qua những chuyện ngoài việc học một chút.

Học kỳ này diễn ra vào mùa hè nên thời tiết rất đẹp. Có trải qua mùa đông với thời tiết lạnh
lẽo, ảm đạm thì tôi mới thấy mùa hè quý giá thế nào. Mùa hè ở Montreal nói chung rất là
tuyệt vời từ phong cảnh cho đến nhiều lễ hội diễn ra, vì thế mà dân Mỹ hay đổ bộ qua
Montreal vào dịp hè rất là nhiều.

Trong suốt học kỳ mùa đông lo chiến đấu trụ hạng nên việc ăn uống của tôi hết sức là tạm bợ
với trứng chiên, thịt heo/gà luộc, rau luộc, mì gói… khó chiến đấu đường dài đường.
Vì vậy, tôi cố gắng tập nấu nướng một số món ăn để các bữa ăn phong phú hơn.

Hồi còn ở nhà, tôi thấy Má kho gà có nước chang khá là ngon. Tôi cũng bắt chướt mua gà về
rửa sạch sẽ để ráo nước, xong bắt chảo dầu lên đun cho nóng, sau đó bỏ gà vào xào qua lại,
thêm nước mắm vô và 1 chút nước, đảo qua đảo lại rồi đậy nắp lại.
Một hồi mở nắp ra để chuẩn bị thưởng thức món gà kho có nước chang thì… tôi thấy món gà
cháy 😂.

Tôi hỏi Má tại sao lại thế thì Má nói phải ướp thịt gà trước cho thấm.
À há, thì ra phải xài chiêu ướp gà trước khi kho, ô kê, ướp thì ướp, tôi bỏ gà vô 1 cái tô, bỏ
mắm, muối, đường, tiêu, bột ngọt vô rồi trộn đều lên, khúc sau làm y như lần trước. Kết quả
lần này thì gà không bị cháy, nhưng vị hơi mặn, ăn tốn cơm ghia. Tôi làm vài lần nữa thì có
bữa lạt, bữa mặn, cuối cùng thì cũng được 1 bữa ăn ok…phù…
Tuy nhiên, cái màu của gà không được bắt mắt cho lắm, tham khảo sư phụ Má thì Má nói
phải thêm nước màu thực phẩm, nếu không có thì có thể thắng đường lên lấy nước đường xài.

Lỡ mần thì mần cho tới luôn, tôi mua 1 ký đường cát trắng về, bắt cái chảo lên bếp, đổ nửa kg
đường vô chảo rồi bật lửa đun…… một hồi đường chảy ra thành nước màu vàng vàng trông
cũng đẹp, sôi sùng sục… từ lúc đường khô tan ra khá lâu, nhưng từ lúc bắt đầu ra nước đường
thì tan khá nhanh, đang sôi màu vàng chuyển sang màu nâu rất nhanh làm tôi múc 1 ca nước
lạnh đổ vô bị trễ vài giây.

Kết quả là nước đường hơi đắng, tôi đành phải đổ bỏ 

Page 62
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Rút kinh nghiệm lần đầu, lần thứ 2 tôi làm tiếp nửa kg đường còn lại và đổ nước lạnh nhanh
hơn. Kết quả là tôi có 1 hủ nước đường keo để kho các thể loại thịt, cá.

Có được nước đường keo, tôi áp dụng ngay vào món gà kho thì đúng là cái màu của gà đẹp
hơn và vị cũng ok hơn trước. Phát huy thành quả này, tôi mần tiếp món thịt kho đậu hủ và cá
nục kho tiêu thì ăn cũng ổn.

Lâu lâu ngán món kho thì tôi cũng mua cá bạc má về chiên lên, làm nước mắm gừng chấm
cũng bá cháy bọ chét lắm chớ. Hoặc làm biếng hơn thì tôi mua thịt bò về xào cho nhanh.

Thành công tương đối với các món mặn, tôi nhảy qua thử các món canh.
Món dễ nấu nhất là canh bí đao tôm khô. Tôi mần lần đầu tiên là ổn luôn: lấy chảo bắt tí dầu,
đợi nóng lên tí bỏ tôm khô vào đảo sơ qua lại cỡ 1‟ thì đổ nước vào nấu đến sôi thì bỏ bí đao
vào, nêm tí muối, đường, bột ngọt.
Món canh thứ hai tôi thử là canh khoai tây, cà rốt, susu nấu với xương heo. Lần đầu tiên tôi
mần món này thì không ổn vì nghe mùi…nước mắm quá. Lần thứ hai tôi nấu không bỏ nước
mắm vô, chỉ xài muối, đường, bột nêm thì ổn hơn.

Nói về các món rau thì quanh quẩn có rau muống luộc, rau muống xào tỏi, bắp xú luộc, su hào
& cá rốt xào tôm khô…

Nhờ thời tiết tốt hơn và đặc biệt là ăn uống phong phú hơn, tinh thần tôi cũng phấn chấn hơn
hẳn so với mùa đông. Tôi đã lấy lại một ít kg đã bị mất, đỡ ốm đói hơn 😅.

Nhóm 8X bọn tôi tiếp tục tụ tập trở lại, tổ chức đi ăn chơi, tham gia lễ hội vào dịp mọi người
cùng rãnh.

Tôi cũng đã lên thành phố Quebec (cách thành phố Montreal cỡ 250km) ghé nhà Tân chơi, vô
tham quan trường Laval (dạy bằng tiếng Pháp) nơi Tân học, gặp gỡ giao lưu với một số DHS
VN theo học tại đây.

Sau đó tôi cùng Tân có qua thăm nhà cậu của Tân. Các cậu cháu nói chuyện cũng lâu giúp tôi
biết thêm được một số thông tin hữu ích về Canada.

Page 63
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Cậu của Tân nói chuyện rất là vui. Tôi tiếp xúc với cậu của Tân cảm nhận được luồng năng
lượng tích cực phát ra từ phong thái và cách nói chuyện của cậu.

Nhân dịp một nhóm DHS VN ở thành phố Quebec xuống thành phố Montreal chơi, nhóm này
cùng với nhóm 8X mần 1 cái picnic BBQ ngoài trời thật là vui.
Chà, cũng 6 tháng rồi tôi mới lại có được 1 buổi party vui vẻ với bạn bè tính từ Noel năm
trước , sau một thời gian cày cuốc lên bờ xuống ruộng 😅

Page 64
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

HỌC KỲ 2/2006

Bước vào học kỳ mùa thu năm 2006, tôi đã đăng ký các môn học sau:
 Pattern Recognition - PR (3 credits) ở Concordia vì ÉTS không mở môn tương ứng ở học
kỳ này.
 Dự án R&D (6 credits)

Môn PR này học về nhận dạng mẫu (Pattern Recogntion) và phân loại mẫu (Pattern
Classfication), thuộc 1 nhánh của Trí tuệ nhận tạo. Khi nào học xong môn này tôi có thể học
tiếp môn ASR bên McGill mà tôi đã hủy ở học kỳ 1 hoặc làm phần Data Mining trong dự án
R&D của tôi.

Tôi học môn PR ở trường Concordia dạy bằng tiếng Anh nên đỡ vất vả cho tôi hơn là học
môn tương tự bằng tiếng Pháp ở ÉTS. May là ÉTS không có mở ở học kỳ này, chứ ÉTS mà
mở thì chắc chắn sư phụ của tôi sẽ kêu tôi đăng ký ngay vì các môn bên ÉTS ưu tiên hơn, học
hành đôi khi cũng có hên xui để đỡ mệt mỏi một tí hihi.

Nhờ học được 6 tháng trong môi trường dạy bằng tiếng Anh ở McGill nên tôi không bị bỡ
ngỡ với môi trường dạy tiếng Anh ở Concordia, cộng với môn ngoại khóa “tiếng Anh giao
tiếp” tôi đã học ở học kỳ mùa hè tại Concordia này luôn, tôi hiểu được giảng viên giảng
khoảng từ 80% - 90%. Tôi vẫn tiếp tục giữ thói quen tốt là cuối giờ ở lại hỏi thầy những gì
chưa hiểu trong slides & sách. Nói chung giảng viên nào gặp tôi thì hơi bị mệt vì cuối giờ
thường phải ở lại để tôi hỏi tí. Điều đặc biệt là tất cả giảng viên tôi đã học đều rất nhiệt tình
giải thích những thắc mắc của tôi cuối buổi học.

Trường Concordia được dân châu Á vào học khá là đông như Việt Nam, Trung Quốc, Thái
Lan, Philippines, Nhật, Hàn... Trong lớp môn PR này cũng có rất nhiều sinh viên châu Á,
nhưng không có một sinh viên Việt Nam nào ngoài tôi. Giảng viên cho chọn nhóm ngẫu
nhiên trong phần thực hành nhóm hay sao đó mà tôi chung nhóm với 1 em Trung Quốc là
sinh viên chính quy của trường Concordia, chứ không phải đi học từ trường khác như tôi.

Qua hỏi thăm sơ bộ thì em này cũng học Master of IT, nói tiếng Anh ok, lấy được TOEFL
600 điểm ở Trung Quốc, chà, tôi nghĩ đây không phải là dạng vừa đâu.
Tuy nhiên, cái email đầu tiên ẻm gởi cho tôi thảo luận về bài tập làm tôi rất bất ngờ: ẻm viết
sai chính tả, văn phạm khá nhiều.

Page 65
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Làm bài tập chung một thời gian thì tôi nghĩ chắc ẻm lấy TOEFL 600 nhờ luyện chiêu gì đó
chứ trình độ Anh văn của ẻm cũng bình thường. Có lần tôi hỏi chơi chơi ẻm đã luyện TOEFL
ra sao thì ẻm mới nói là bên Trung Quốc có những lò luyện bao đậu TOEFL 600 để nộp hồ sơ
du học. Ố ồ, thì ra cái tôi nghĩ là đúng thặc. Nếu mà hồi trước tôi biết cái này chắc qua Trung
Quốc luyện TOEFL 600 rồi xin học trường tiếng Anh cho khỏe hơn nhỉ :))

Trở lại với bài tập nhóm, trong lớp hầu như các nhóm châu Á đều chọn đề tài cũ để làm cho
dễ, trong đó có nhóm tôi với ẻm cũng thống nhất chọn đề tài cũ. Có 1 nhóm Tây chọn 1 đề tài
chưa ai làm để tha hồ mà sáng tạo!
Kết quả là hầu hết các nhóm châu Á chọn đề tài cũ đều làm xong, thuyết trình ok nhưng chỉ
được 8 điểm. Nhóm Tây kia phân tích, thiết kế ok hết rồi, tiếc là chỉ mới hiện thực được một
phần, không đủ thời hoàn thành, lên thuyết trình xong thì lại được 9 điểm!!!
Rõ ràng là bên Canada này đánh giá cao sự sáng tạo dù chưa làm xong hơn là làm ngon lành
ra kết quả tốt nhưng làm lại cái người khác đã làm rồi.

Bài tập nhóm này là bài tập cuối cùng của môn PR. Không có kỳ thi cuối kỳ, tôi cũng đỡ phải
ôn thi và căng thẳng. Kết quả môn này tôi được B+. Vậy là tôi đã qua thêm được 1 môn nữa.
Môn PR này làm bài tập nhiều chứ lý thuyết không bao nhiêu, vì vậy phần tổng hợp của tôi
chỉ có tí xíu:

Về dự án R&D, tôi đã đọc nhiều tài liệu sư phụ gửi cũng như trao đổi trực tiếp với sư phụ và
bắt đầu nghiên cứu bài toán Data Mining trên tập dữ liệu (Data Set) là các cuộc gọi (Phone
Call) trong hệ thống người nói chuyện với máy (Human-Computer Dialog System).

Page 66
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Trong học kỳ mùa thu này, lần đầu tiên tôi được tham dự lễ hội Haloween ở Montreal cực kỳ
vui, đợt này có Tân & đám DHS VN từ thành phố Quebec lên xuống Montreal chơi:

Page 67
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

HỌC KỲ 1/2007

Bước vào học kỳ mùa đông năm 2007, tôi đăng ký các môn sau:
• Planification d‟un projet de recherche en ingénierie – PDP (3 credits) (ÉTS)
• Dự án R&D (3 credits)
• Français écrit – FE (3 credits) (ÉTS): môn bắt buộc qua để bổ sung điều kiện tiếng Pháp
cho cái Study Admission thì mới được ra trường

Môn PDP hướng dẫn sinh viên cách lập kế hoạch cho các dự án nghiên cứu trong ngành kỹ
thuật. Đây là môn bắt buộc phải học trong trường ÉTS mà không được phép đăng ký học ở
các trường khác. Môn này thiên về lý thuyết khá nhiều nên sách chữ không là chữ, mà lại
bằng tiếng Pháp nên tôi khá là ngán ngẩm, đọc buồn ngủ chết đi được 😌

Đến thời điểm này thì tôi có thể giao tiếp bằng tiếng Pháp tạm được với các sinh viên khác
trong lớp. Vì thế việc thảo luận lập nhóm làm bài tập lớn không còn khó khăn như các học kỳ
trước. Phần đuối nhất vẫn là soạn slides bằng tiếng Pháp, rồi lên thuyết trình bằng tiếng Pháp.
Đúng là có công mài sắt có ngày nên kim (Practice makes perfect), nên lần này tôi làm
slides & thuyết trình có vẻ tốt hơn những môn trước.

Kết quả môn này tôi được B+, qua được môn.
Vậy là tôi đã chấm dứt phần học 5 môn để lấy kiến thức làm dự án R&D.

Sau 5 môn học đã qua, tôi ngồi nghĩ lại thì thấy là nếu vượt qua được rào cản ngôn ngữ và
chịu khó cày cuốc thì học ngành kỹ thuật ở Canada có vẻ dễ hơn ở Việt Nam, bởi các yếu tố:
1. Các môn học ở Canada có tính thực tiễn cao hơn và có thực hành nhiều hơn ở Việt Nam
hầu như phần lớn lý thuyết.
2. Các môn học ở Canada yêu cầu thuyết trình nhiều cũng làm cho sinh viên học được nhiều
lần: học từ nghe giảng, đọc sách, soạn slides, thuyết trình, thầy sửa ngay lúc thuyết trình…
trong khi ở Việt Nam việc thuyết trình của môn học hầu như rất rất ít.
3. Các môn học ở Canada được chia ra thành nhiều bài tập nhỏ, lớn nên thi giữa kỳ và cuối
kỳ không còn cực kỳ quan trọng để quyết định việc đậu/rớt môn học như ở Việt Nam.
4. Ở Canada, các giảng viên dùng phương pháp “mentor”: giảng viên giúp sinh viên xác
định hướng đi, sinh viên chủ động nghiên cứu học & hành theo hướng đó, khi gặp khó
khăn thì giảng viên hỗ trợ, sửa sai. Việc sửa sai cực kỳ quan trọng vì nó giúp sinh viên rút
ra nhiều kinh nghiệm. Ở Việt Nam, giảng viên nhồi nhét nhiều kiến thức cho sinh viên.

Page 68
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Một điều tôi thấy nữa là sinh viên với trình độ tiếng Anh trung bình khá học ngành IT thì
không cần phải có bằng TOEFL hay IELTS cũng có thể học được trong trường dạy bằng tiếng
Anh. Việc không lấy được đủ điểm của TOEFL hay IELTS đã cản trở rất nhiều dân IT Việt
qua học ở các nước nói tiếng Anh.

Phần dự án R&D ở học kỳ này tôi bắt đầu hiện thực những gì đã nghiên cứu trong các học kỳ
trước. Nói chung dự án R&D này khá dài, sẽ được chia sẻ trong 1 phần riêng sau.

Ngoài việc hoàn tất 45 tín chỉ (gồm 5 môn học & dự án R&D) trong chương trình Master, để
tốt nghiệp ra trường tôi cần phải qua được môn “Français écrit” do trường ÉTS mở. Môn này
dạy thuần về văn phạm tiếng Pháp và viết tập làm văn bằng tiếng Pháp.
Ui dào, học chuyên sâu ngữ pháp tiếng Pháp mới thấy ngữ pháp tiếng Anh đơn giản hơn rất là
nhiều. Bài viết nào trong lớp của sinh viên, kể cả đám bản xứ Quebec nói tiếng Pháp là tiếng
mẹ đẻ, cũng bị cô giáo sửa nát bét, nhìn đỏ lét tờ giấy. Cái này làm tôi nhớ hồi ở ĐHBK
TPHCM có môn tiếng Việt thực hành, anh em cũng từng lên bờ xuống ruộng với nó 😅
Cày cuốc cần cù, chịu khó hỏi cô giáo, chăm chỉ làm lại những sai chỗ cô đã sửa, cuối cùng
tôi cũng qua được môn này.

Tóm lại, danh sách các môn và các trường ở Montreal mà tôi đã học qua:

Page 69
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tổng kết lại các yếu tố đã giúp tôi “trụ hạng” được đến thời điểm này:
 Tận dụng môi trường xài tiếng Pháp & Anh, tự tìm cách xây dựng nền tảng & nâng cao
tiếng Pháp & Anh để giảm bớt rào cản ngôn ngữ
 Chịu khó hỏi giảng viên vào cuối mỗi buổi học
 Chịu khó cày cuốc
 Kiên trì theo đuổi mục tiêu
 Lời động viên quý giá & luồng năng lượng tích cực của cậu của Tân
 Một tí may mắn

Thử thách tiếp theo của tôi là bắt tay vào mần cái dự án R&D bên mảng AI/Data Mining rất là
thú vị nhưng cũng cực kỳ gian nan……

Page 70
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

8) Dự án USPS (Canada)

Dự án “Quản lý cảm xúc trong các hệ thống hội thoại máy & người” (“Managing emotions in
Human-Computer Dialog Systems – HCDS”) là một ứng dụng thực tiễn về khai thác dữ
liệu của đại học ÉTS & viện nghiên cứu CRIM cộng tác với công ty Bell Canada.

Trong ngữ cảnh của 1 trung tâm điện thoại (Call Center), HCDS giúp giảm chi phí vận hành
các dịch vụ. Một số ứng dụng phổ biến của hệ thống này là đặt vé máy bay (Air Ticket
Booking), đặt du lịch (Travel Booking), chăm sóc khách hàng (Customer Care).
Tuy nhiên, thỉnh thoảng các cuộc hội thoại này cũng có thể bị vấn đề làm cho người gọi đến
không hài lòng như họ phải lập lại nhiều lần các từ mà máy không hiểu, hoặc máy hiểu nhầm
từ này thành từ khác khi chúng được phát âm gần giống nhau. Điều này xuất phát từ việc hệ
thống nhận dạng giọng nói (Speech Recognition System) không cho kết quả hoàn hảo.

Do đó, việc xác định các cuộc gọi có vấn đề (Problematic Dialog) là thực sự rất cần thiết.
Tuy vậy, số lượng cuộc gọi mỗi ngày ở công ty Bell Canada là cực kỳ lớn mà sức người
không thể xử lý nổi. Cho nên, cần có 1 một hệ thống xác định các cuộc gọi có vấn đề một
cách tự động (phần màu đỏ “Dialog Classification” trong hình trên). Các cuộc gọi có vấn đề
được xác định sẽ được đưa qua bộ phát hiện cảm xúc (phần “Emotion Detection” trong hình
trên) để phân tích thêm về cảm xúc của người gọi. Kết quả của 2 phần sẽ được công ty Bell
Canada sử dụng để đưa ra các chiến lược cấu hình mới cho hệ thống hoạt động tốt hơn.

Page 71
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Dự án này dự kiến kéo dài trong 15 năm, cần 6 sinh viên Master và 10 nghiên cứu sinh vào
tham gia. Tôi là sinh viên Master thứ nhất tham gia dự án cùng với 1 nghiên cứu sinh đến từ
Pháp & 1 nghiên cứu sinh đến từ Iran. Hai đồng chí này nghiên cứu về Emotion Detection.
Tôi đảm nhận nghiên cứu và phát triển 1 phần mềm dự đoán mức độ hài lòng của người dùng
(User Satisfaction Prediction Application – USPA), trong đây có phần xác định các cuộc
gọi có vấn đề. Phần mềm của tôi khi hoàn thành sẽ được đưa vào sử dụng thực tế như sau:
 Khi cuộc gọi đang diễn ra, USPA sẽ dự đoán coi người dùng có đang hài lòng hay không
dựa trên những gì họ nói (User Turn) & máy nói (System Turn).
 Nếu họ hài lòng, cuộc gọi cứ tiếp diễn, ngược lại, cuộc gọi sẽ được chuyển tiếp qua 1 em
gái/trai nào đó có giọng ngọt ngào, nhẹ nhàng tiếp chuyện với họ.

USPA thuộc mảng AI, cụ thể hơn là Data Mining/Machine Learning dùng phương pháp phân
loại mẫu (Pattern Classification).

Các tính năng chính của USPA gồm:


1. Cung cấp một bộ Parser xử lý dữ liệu thô (Raw Data), dữ liệu về các cuộc gọi, thành dữ
liệu cấu trúc (Structured Data) cho phần Data Mining.
2. Cung cấp một bộ Extractor để xuất ra các thuộc tính (Feature) ảnh hưởng đến mức độ
hài lòng của người dùng từ dữ liệu cấu trúc.
3. Cung cấp một bộ Trainer giúp xây dựng một bộ phận giúp phân loại các cuộc gọi có vấn
đề (Problematic Dialog Identifier – PDI) dựa trên 1 tập dữ liệu (Dataset) chứa các cuộc
gọi trong quá khứ đã được đánh dấu trước là có vấn đề hay không.

Các khó khăn mà tôi đã gặp phải:


1. Kiến thức lĩnh vực bên mảng Call Center.
2. Thách thức về việc nghiên cứu khoa học (R&D) mà tôi chưa có kinh nghiệm gì cả.
3. Kiến thức về Data Mining tôi chưa biết.
4. Các giải thuật máy học (Machine Learning Algorithm) rất ư là phức tạp.

Page 72
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Mô hình USPA được minh họa bởi hình sau:

Một chị Sau Tiến Sĩ (PostDoc), trợ lý của sư phụ, mentor tôi về kiến thức lĩnh vực Call
Center cũng như cái mô hình PARADISE (PARAdigm for DIalog System Evaluation) giúp
tôi hiểu hơn bài toán mình cần giải.

Page 73
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Nói thêm ngoài lề 1 tí là trước khi qua Canada thì tôi có nghe đến chữ “Sau Tiến Sĩ”. Khi ấy
chữ “Tiến Sĩ‟ đối với tôi đã là người học cao siêu lắm rồi, cho nên “Sau Tiến Sĩ” chắc còn học
cao siêu hơn nữa. Thực tế thì không phải vậy. “Tiến Sĩ‟ là học vị cao nhất rồi, “Sau Tiến Sĩ”
dùng để chỉ người đã hoàn thành học vị Tiến Sĩ, vô 1 trường đại học phụ cho 1 Giáo sư nào
đó trong việc nghiên cứu khoa học, trợ giảng (Teaching Assistant), làm Mentor cho các sinh
viên Master/nghiên cứu sinh của người Giáo sư này. Mức cao nhất mà 1 người “Sau Tiến Sĩ”
phấn đấu lên chính là học hàm Giáo sư của 1 trường đại học nào đó. Quá trình này nói chung
là khá dài, có thể lên đến 10+ năm.

Bài toán tôi cần nghiên cứu là làm sao phân loại/dự đoán các cuộc gọi mà người gọi không
hài lòng. Theo mô hình PARADISE ở hình trên, sự hài lòng của người dùng chịu ảnh hưởng
bởi 2 yếu tố:
1. Đo lường thành công tác vụ (Task Success Measure): thông số này có giá trị luận lý là
thành công (Successful)/ thất bại (Failed), ví dụ: đặt được 1 vé máy bay hay không, đặt
được 1 chuyến du lịch hay không. Thông thường người dùng có tác vụ thành công thì
phần lớn sẽ hài lòng. Tuy nhiên, vẫn tồn tại 2 trường hợp sau:
 Người dùng dùng có tác vụ thành công nhưng không hài lòng vì phải lập lại nhiều lần
các từ máy chưa hiểu.
 Người dùng không có tác vụ thành công nhưng vẫn hài lòng vì máy giao tiếp tốt, chỉ
trục trặc phía hãng máy bay mà không đặt được vé mà thôi.
2. Chi phí cuộc gọi (Dialog Costs) – được xác định bởi 2 nhóm thông số Đo lường về hiệu
quả (Efficiencey Measures) & Đo lường về chất lượng (Qualitative Measures). Về
nhóm Qualitative Measures, trong bài toán của tôi không có dữ liệu để nghiên cứu. Về
nhóm Efficiencey Measures, các thông số được nghiên cứu gồm:
a) TimeOnTask: Tổng thời gian của cuộc gọi
b) TurnsOnTask: Tổng số lần nói của người gọi & máy
c) NumOverlaps: Số lần người và máy cùng nói 1 lúc
d) MeanUserTurnDuration: Trung bình thời gian người gọi nói
e) MeanSystemTurnDuration: Trung bình thời gian máy nói
f) MeanWordsPerUserTurn: Trung bình số từ người gọi nói
g) MeanWordsPerSystemTurn: Trung bình số từ máy nói
h) Phonetype: Loại điện thoại người gọi xài

Page 74
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Như vậy, 1 Problematic Dialog chịu ảnh hưởng bởi 9 thuộc tính (TaskSuccess, TimeOnTask,
TurnsOnTask, NumOverlaps, MeanUserTurnDuration, MeanSystemTurnDuration,
MeanWordsPerUserTurn, MeanWordsPerSystemTurn, và Phonetype)

Thế thì với 1 cuộc gọi bất kỳ, làm thế nào để dự đoán nó có vấn đề hay không? Tôi biết là
mảng Data Mining/Machine Learning sẽ giúp trả lời câu hỏi này, vì vậy tiếp đến tôi tìm hiểu
về chúng. Theo định nghĩa lý thuyết thì:
 Data Mining là việc trích xuất ra thông tin hữu ích từ dữ liệu trong quá khứ dựa trên các
mẫu (Pattern) tiềm ẩn nếu có. Tiến trình này có thể hoàn toàn tự động (fully automatic)
hoặc bán tự động (semi-automatic).
 Machine Learning cung cấp nền tảng kỹ thuật cho Data Mining. Machine Learning liên
quan đến việc thiết kế và phát triển các giải thuật, kỹ thuật cho phép máy tính “học”, từ đó
giúp đưa ra các dự đoán cho con người. Machine Learning có rất nhiều ứng dụng như xử
lý ngôn ngữ tự nhiên (Natural Language Processing), nhận dạng giọng nói (Speech
Recognition)…

Để dễ hình dung hơn về Data Mining, tôi đã xem qua 1 ví dụ thực tế mang tính kinh điển cho
mảng Data Mining:
“Một ông chủ của 1 khu du lịch muốn dự đoán xem mỗi ngày khách có đến chơi gôn (Golf)
hay không, phụ thuộc vào thời tiết, để mà thuê thêm/giảm bớt nhân viên phục vụ.”

Ông quan sát và đo lường 4 thông số sau trong 2 tuần:


1. Trạng thái thời tiết (Outlook): nắng (sunny), quang đãng (forecast), hay mưa (rain)
2. Nhiệt độ (Temperature): bao nhiêu độ oC
3. Độ ẩm (Humidity): bao nhiêu %
4. Gió (Windy): có (TRUE) hay không (FALSE)?

Tương ứng với giá trị của các thông số mỗi ngày, ông lưu lại kết quả là có khách đến chơi hay
không, giá trị của biến số PLAY: “Play” / “Don‟t Play”.

Page 75
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Kết quả ông có được 1 tập dữ liệu dưới đây:

Tiếp theo, ông xây dựng 1 cây quyết định (Decision Tree) như sau:

Page 76
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Dựa vào cây quyết định trên, nhìn vào 5 nút lá (Leaf Node), ông ấy có thể kết luận:
 Khách hàng đã chơi ở ngày nắng và độ ẩm <=70 (nút lá số 1: 2 ngày) hoặc ngày quang
đãng (nút lá số 3: 4 ngày) hoặc ngày mưa và không gió (nút lá số 5: 3 ngày).
 Khách hàng đã không chơi ở ngày nắng và độ ẩm >70 (nút lá số 2: 3 ngày) hoặc ngày mưa
và có gió (nút lá số 4: 2 ngày).
Với tập dữ liệu này, thuộc tính nhiệt độ không ảnh hưởng đến việc khách hàng chơi hay
không chơi.

Như vậy, vào 1 ngày bất kỳ trong tương lai, vào buổi sáng sớm, ông chỉ cần thu thập Outlook,
Humidity & Windy của ngày đó, đem bỏ vào cây quyết định này duyệt thì sẽ dự đoán được là
khách hàng có chơi hay không để sắp xếp nhân viên phù hợp.

Decision Tree, là 1 trong những mô hình học máy (Machine Learning Model), khá phổ biến
bởi tính trực quan dễ hiểu:
 Nút gốc (Root Node): chứa tập dữ liệu đầy đủ ban đầu.
 Nút trung gian (Interior Node): chứa tập dữ liệu là kết quả của việc xét các giá trị của 1
thông số.
 Nút lá (Leaf Node): chứa tập dữ liệu còn lại khi đã xét hết các thông số hoặc tất cả dữ liệu
đều cùng 1 giá trị của biến đích (ví dụ trên là “Play” / “Don‟t Play”).

Khi đã hiểu được Decision Tree, tôi tự lập trình hiện thực thử 1 giải thuật về Decision Tree
tên CART (Classification And Regression Tree) dùng ngôn ngữ lập trình Java trong 2 tháng.
Xong rồi tôi áp dụng vô ví dụ kinh điển trên thì giải thuật sinh ra đúng cái Decision Tree ở
hình 1-4. Đến đây thì xem như tôi đã học và hành xong phần cơ bản của Data Mining, tiếp
theo là nghiên cứu áp dụng giải thuật này vào bài toán PDI.

Trước tiên là phần dữ liệu quá khứ các cuộc gọi sư phụ cung cấp cho tôi là tập dữ liệu
DARPA (Defense Advanced Research Projects Agency) của Mỹ dưới dạng text cùng các
thông tin cho biết cuộc gọi nào có/không có vấn đề.

Bước tiếp theo trong quá trình R&D, tôi tìm hiểu xem bài toán PDI trên thế giới những người
trước đó làm với PARADISE framework (hoặc framework nào khác) trên dataset DARPA
(hoặc các dataset khác) có kết quả thế nào để từ đó tôi cố gắng tìm cách làm sao để có kết quả
bằng hoặc tốt hơn.

Page 77
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Một ví dụ của 1 phần của 1 cuộc gọi trong dataset DARPA:

Tôi viết 1 cái Parser xử lý text và 1 cái Feature Extractor để trích xuất ra danh sách
Problematic Dialogs với 9 thuộc tính (TaskSuccess, TimeOnTask, TurnsOnTask,
NumOverlaps, MeanUserTurnDuration, MeanSystemTurnDuration,
MeanWordsPerUserTurn, MeanWordsPerSystemTurn, Phonetype, and Label).
Thuộc tính đích (Target) ở đây tôi đặt tên là Label có 2 giá trị: “Bad” & “Good” cho 2 trường
hợp Problematic Dialog và Normal Dialog.
Kết quả xuất ra của cái Parser là đây:

Hai thuộc tính NumNegativeACKwords, NumRepetitions là 2 cột kế cuối sẽ được giải thích
bên dưới sau.

Page 78
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tiếp theo, tôi áp dụng CART của tôi vào dataset này để xây dựng 1 Decision Tree. Chạy thử,
debug, năng cấp đã đời thì CART của tôi chạy hết 5‟. Kết quả CART của tôi so với các kết
quả quá khứ thì còn kém lắm. Đây là điều hiển nhiên vì giải thuật CART tôi viết chỉ là cơ
bản, chưa là pờ-rồ để có thể xài thực tế. Tôi nghĩ để phát triển tiếp giải thuật CART của tôi
đến mức xài được sẽ tốn rất nhiều thời gian và công sức, sợ không kịp thời gian tốt nghiệp,
chắc phải đi tìm công cụ có sẵn dạng open-source xài liền cho nhanh.

Sau khi bỏ cả ngày lên mạng dạo vài vòng thì tôi cũng tìm được một thư viện miễn phí mà lại
rất tốt có tên là Weka, được phát triển ở 1 trường đại học của New Zealand bởi các giáo sư,
tiến sĩ trong thời gian dài. Tôi tải xuống và cài đặt Weka trên máy để chạy thử giải thuật
CART của nó trên tập dữ liệu DARPA thì chỉ mất 1‟ và kết quả tốt hơn giải thuật CART của
tôi rất nhiều, cũng tương đương kết quả quá khứ.

Bên cạnh đó, nhóm phát triển Weka cũng xuất bản 1 cuốn sách về Data Mining có tựa "Data
Mining: Practical Machine Learning Tools and Techniques“ rất thực tế và dễ hiểu so với mấy
cuốn sách hàn lâm khác tôi đã đọc khi học môn Pattern Classification trong trường Concordia
hơi bị khó hiểu vì dính quá nhiều toán và công thức.

Thế là tôi lao đầu vào đọc hết cuốn sách này để hiểu rõ về Data Mining hơn, cũng như biết
được các kỹ thuật để cải thiện chất lượng của việc xây dựng Machine Learning Models như là
phương pháp stratify & randomize dataset, kiểm thử dataset với N-fold cross validation…

Ngoài giải thuật CART (Weka J48) thì Weka còn cung cấp rất nhiều giải thuật khác như
Bayes, One-rule, Ada Boost, Neuron Networks, Support Vector Machine... Tôi trải nghiệm
thử từng giải thuật trên dataset DARPA. Mỗi giải thuật lại có nhiều tùy chọn cấu hình
(Configuration Option). Tôi lại thay đổi một vài cấu hình trên vài giải thuật để thử tiếp. Tôi
quan sát thấy có giải thuật cho kết quả tốt hơn CART, có giải thuật lại cho kết quả kém hơn
CART, cùng 1 giải thuật với cấu hình C1 thì tốt hơn CART, cấu hình C2 thì kém hơn CART.
Kết quả này phù hợp với cuốn sách trên có nói là không có một giải thuật máy học (Machine
Learning Algorithm) nào là tốt nhất, ứng với một dataset cho trước, sẽ có 1 giải thuật với
cấu hình nào đó phù hợp sẽ cho hiệu năng tốt nhất.

Page 79
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Như vậy thì với 1 tập dữ liệu cho trước là DARPA, tôi phải thử rất nhiều giải thuật trên Weka
GUI (Graphic User Interface) để tìm ra giải thuật tốt nhất -> số lượng giải thuật & số lượng
cấu hình của mỗi giải thuật đem tổ hợp ra sẽ ra rất rất nhiều trường hợp để thử, nếu làm bằng
tay bấm chuột trên GUI chắc…liệt tay & liệt chuột luôn quá 😅

Cũng may cho tôi là thư viện Weka thuộc dạng open-source, nên tôi quyết định lấy phần core
của Weka đem về lập trình thêm (extend) để chạy tìm giải thuật tốt nhất một cách tự động.
Phần code tôi làm để tìm giải thuật tốt nhất này không nằm trong yêu cầu của dự án. Ở mức
độ Master, chỉ cần tôi tạo ra 1 phần mềm PDI chạy được, sử dụng 1 giải thuật chọn trước như
Weka CART chạy ra kết quả tương đương với quá khứ là ok rồi. Tuy nhiên, tôi vẫn muốn kết
quả tốt hơn nữa nên chịu khó lập trình thêm từ Weka core.

Tiếp theo, kết nối những phần tôi đã làm được lại với nhau, tôi bắt tay vào xây dựng phần
mềm USPA. Nhờ có kiến thức & kinh nghiệm từ dự án siu bự SER5500 và kiến trúc USPA
cũng đơn giản nên tôi phát triển USPA khá nhanh. Sau khi hoàn thành USPA, tôi ứng dụng
vào dataset DARPA với luồng nghiệp vụ (Business Flow) như sau:
1. Sử dụng bộ Parser xử lý các cuộc gọi bằng text
2. Sử dụng bộ Feature Extractor để trích ra tập dữ liệu trong đó mỗi cuộc gọi được thể hiện
qua các thuộc tính của PARADISE framework và được đánh dấu (annotate) với “Label”
tương ứng là “Good” hay “Bad”

Page 80
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

3. Sử dụng bộ Trainer cho chạy tự động trên dataset này để tìm ra giải thuật tốt nhất
4. Dùng giải thuật tốt nhất chạy trên dataset để lấy Learning Model, đây là mô hình tốt nhất
dùng để dự đoán các cuộc gọi tương lai

Trong quá trình suy nghĩ và phân tích các thuộc tính của PARADISE framework, tôi tự tìm ra
2 thuộc tính mới có khả năng giúp cải thiện hiệu năng PDI:
1. NumNegativeACKwords : Số từ người gọi trả lời với máy mang tính tiêu cực, ví dụ: no,
nop, wrong, incorrect, false, sh*t, f*ck… Về mặt trực quan, khi người gọi nói những từ
này thì khả năng cao họ không hài lòng, tuy nhiên không phải lúc nào cũng vậy, tùy thuộc
vào cảm xúc của họ nữa, vì thế mới có phần nghiên cứu về Emotion Detection để hiểu
thêm về cảm xúc của người gọi.
2. NumRepetitions : Số lần máy lập lại cùng 1 câu. Về mặt logic thì máy lập lại cùng 1 câu
có nghĩa là nó không hiểu người gọi nói gì nên lập lại để cho người gọi xác nhận.

Tôi đã thử USPA cho trường hợp không có 2 thuộc tính mới này và trường hợp có 2 thuộc
tính này thì kết quả cho thấy trường hợp sau có hiệu năng tốt hơn. Như vậy, cả về cảm nhận
và thực nghiệm đều cho thấy 2 thuộc tính mới này đem lại hiệu quả cho phần PDI.

Với việc tìm ra 2 thuộc tính mới này, chị PostDoc & tôi đã viết 1 bài báo + demo tham dự 1
hội thảo khoa học dạng conference. Như vậy tôi có được 1 bài báo dạng conference lận lưng
cho vui. Ghi chú một chút là conference paper có giá trị thấp hơn journal paper, thường thì
sinh viên Master không cần phải có conference paper hoặc journal paper để được bảo vệ luận
văn tốt nghiệp, trong khi nghiên cứu sinh Ph.D thì bắt buộc phải có 1-3 journal papers (tùy
lĩnh vực, tùy trường, tùy hội đồng giám khảo) & n conference papers. Để làm ra paper được
duyệt là journal paper rất là chua, phải là cái mới nhất thế giới chưa ai làm và phải có ý nghĩa
lớn lao, nói chung phải mất rất nhiều thời gian nghiên cứu và công sức xây dựng ứng dụng
thực tiễn, bởi vậy học Ph.D siêu khó.

Cuối cùng, bước đắm đuối nhất của tôi là phần đi thu thập các cuộc gọi thực tế từ công ty Bell
Canada, xử lý dữ liệu để chạy trên USPA rồi đo đạc, vẽ đồ thị, so sánh… rồi lặp lại qui trình
trình này n++ lần cho đến khi tìm được The best PDI sử dụng trong các call centers của công
ty để dự đoán mức độ hài lòng của khách hàng. Theo thời gian, khi có thêm những cuộc gọi
bổ sung vào dataset, qui trình trên được chạy lại để tìm The best PDI mới.

Page 81
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Phù…mọi khó khăn đã qua, phần công việc cuối cùng của tôi là bắt đầu viết báo cáo.
Lúc này dù trình độ tiếng Pháp của tôi có tiến bộ đáng kể nhưng tôi vẫn không đủ tự tin để
viết bằng tiếng Pháp, nên đã xin sư phụ cho tôi viết bằng tiếng Anh. Hiển nhiên sư phụ ok,
nhưng tôi phải sử dụng mẫu luận văn của trường ÉTS với cái sườn được viết bằng tiếng Pháp
chứ không được sửa sang tiếng Anh, chỉ có nội dung thì được phép viết bằng tiếng Anh. Thế
là cái luận văn tốt nghiệp của tôi có ngôn ngữ thập cẩm khi pha trộn giữa tiếng Pháp & tiếng
Anh: https://drive.google.com/open?id=1gj7PN8qg8f5EIUmbHBj8x4NcfJRPwRHf

Viết xong luận văn, tôi nộp cho sư phụ rì viu rồi sau đó sư phụ sẽ đem qua cho các bác giáo
sư phản biện „chém‟ tới tấp 😂

Cuối cùng tôi cũng đã hoàn tất sản phẩm USPA cho công ty Bell Canada xài và luận văn tốt
nghiệp Thạc Sĩ của tôi được chấm A+, A+ & A từ 3 thành viên trong ban giám khảo, tổng
hợp lại là A+.
Hành trình vượt đèo Master của tôi với bao nhiêu khó khăn, gian khổ suốt 2 năm trời trên đất
Montreal, Canada đã thành công mỹ mãn, vượt ngoài mong đợi của tôi làm tôi vô cùng hạnh
phúc. Hành trình này không những cung cấp cho tôi khá nhiều kiến thức IT mới, nâng cao tư
duy mà còn giúp tôi trưởng thành hơn về mọi mặt trong cuộc sống.

Trong thời gian chỉ tập trung làm dự án sau khi đã học xong môn, tôi có đi làm thêm ở 1 nhà
hàng Việt với vai trò bồi bàn mới vào nghề (Fresher Waiter) với mục đích là trải nghiệm thử
công việc này như thế nào, đồng thời thực tập tí tiếng Pháp giao tiếp, thứ hai là kiếm thêm
chút tiền tiêu vặt, và cuối cùng là được ăn vài bữa ở nhà hàng để khỏi phải nấu ăn.

Vì làm cho vui nên tôi chỉ làm có 3 tiếng buổi trưa từ 11h – 14h. Ố là la, mặc dù chỉ có 3
tiếng nhưng tôi phải đi như bay vô bếp bê đồ ăn rồi bưng ra ngoài bàn cho khách suốt buổi mà
không có thời gian nào nghỉ tay bởi vì khách vô ra nườm nượp. Mấy bữa trời lạnh, đầu bếp
nhúng cái tô vô nước sôi, xong lấy tô ra bỏ phở/bún vào rồi múc nước lèo đổ vào. Bà chủ
quán không cho nhân viên xài mâm vì nói chậm hơn bưng bằng tay. Tôi bưng tô phở bằng 2
tay mà mấy đầu ngón tay chịu không nổi vì nóng quá trời quá đất, đi một lúc là bỏ tô xuống 1
chút, lấy 2 tay vịn vô 2 lỗ tay cho bớt nóng rồi mới đi tiếp. Vậy mà 1 anh Senior Waiter 2 tay
bưng 2 tô phở, còn để thêm 1 dĩa mì xào trên cánh tay, đi ào ào, tôi bái phục sát đất 🙏

Page 82
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Vào 1 ngày mùa hè trời rất đẹp năm 2007, rất nhiều DHS VN ở Montreal họp lại thành 1 đoàn
cỡ 40+ người đi 1 hàng 10 chiếc xe hơi từ Montreal lên thành phố Quebec chơi suốt mấy
ngày, tổ chức tiệc BBQ và giao lưu bóng đá với nhóm DHS VN ở đó thật là vui.

Page 83
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Kể từ giai đoạn này tôi có thêm rất nhiều bạn mới, gia nhập vào nhiều nhóm mới (ngoài nhóm
8X), và được tham gia rất nhiều phong trào vui chơi của các nhóm như đi pic nic, dự các lễ
hội, chơi nhiều môn thể thao như cầu lông, bơi lội, bóng đá, nhất là giải bóng đá của DHS VN
từ các tỉnh khác nhau ở Canada.

Đầu năm 2008, sau khi xong chương trình Thạc Sĩ, tôi đã mời sư phụ đi ăn tối mừng tôi tốt
nghiệp và cảm ơn sư phụ. Trong bữa ăn, hai thầy trò ôn lại những chuyện quá khứ, nói những
chuyện về khoa học, về môi trường làm việc ở Canada.
Cuối buổi, sư phụ hỏi tôi có muốn học lên Tiến Sĩ và tiếp tục tham gia dự án qua phần khác
với học bổng mới không?
Tôi suy nghĩ một lúc rồi cảm ơn sư phụ đã ngỏ ý chứ tôi không muốn học tiếp Tiến Sĩ. Trong
thời gian học Master, tôi có quan sát và tìm hiểu thì học Tiến Sĩ rất cực khổ, hi sinh thời
gian/tuổi trẻ (từ 5-7 năm ở Canada/Mỹ, châu Á/châu Âu có thể sớm hơn), tỉ lệ thành công rất
thấp, mà học được xong thì cũng cực kỳ khó xin việc làm, chỉ có vô các trường đại học giảng
dạy và nghiên cứu khoa học, nhưng đây không phải là định hướng sự nghiệp của tôi. Cái tôi
muốn làm là phát triển các phần mềm giải quyết những bài toán doanh nghiệp và xã hội.

Thế là tôi đã ngưng con đường học vấn từ đây và nhảy ra tìm việc làm ở Montreal, Canada…

Page 84
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Với tấm bằng Master loại giỏi (GPA = 3.58/4.3 ~ 8.33/10) & luận văn tốt nghiệp A+ cùng
khoảng 3 năm kinh nghiệm làm việc ở 2 công ty ở Việt Nam, trong đó có 1 dự án Canada, tôi
nghĩ tìm việc trên đất Canada sẽ không khó khăn cho lắm.

Nhưng KHÔNG… đời không là mơ…

Tôi xem xét trên các trang tuyển dụng nổi tiếng của Canada thì không hề có việc làm nào liên
quan đến mảng Data Mining ở các doanh nghiệp IT trên thị trường hết. Có một vài việc trong
mảng Data Mining thì lại liên quan đến R&D nhiều, đòi hỏi phải có bằng Ph.D.

Thế là tôi phải quay về ngón nghề cũ, tìm công việc với vị trí Java Software Developer...

Sau khi đi phỏng vấn một vài công ty (dùng tiếng Pháp) không được, tôi nhận ra rằng bằng
Master ở Canada của tôi chỉ giúp tôi lọt qua vòng gửi xe của các công ty Canada để được vào
phỏng vấn (các công ty Canada không chấp nhận bằng nước ngoài, Mỹ thì chắc ok vì Mỹ là
đại ca của Canada mà lị, hoặc vị trí mà họ rất cần nhưng không tìm ra ứng viên). Những yêu
cầu mà các công ty ở Montreal cần mà tôi chưa có hoặc chưa đáp ứng được là:
 Có kiến thức/kinh nghiệm sử dụng một số frameworks phổ biến bên Java như EJB, Struts,
Spring, Hibernate…
 Giao tiếp tiếng Pháp lưu loát
 Canadian Experience (Kinh nghiệm làm việc trên đất Canada)

Thế là tôi tiếp tục vừa đầu tư thời gian & công sức nhằm tăng cường cái số 1 & 2 vừa hi vọng
tìm được công ty nào đó ít yêu cầu cái số 2, 3.

Hơn 1 tháng vẫn tìm chưa ra công ty phù hợp, tôi cảm thấy bắt đầu khá là lo lắng. Một lần
nữa tôi lại rơi vào giai đoạn lận đận, bôn ba đi tìm việc làm y như lúc mới tốt nghiệp đại học ở
Việt Nam. Lại một lần nữa tôi thấy điểm số trong học hành chỉ là thứ cực kỳ phù du, kiến
thức/kỹ năng/kinh nghiệm thực tế mới là thứ quan trọng nhất! Hồi học đại học ở Việt Nam tôi
không quan tâm vụ này là lỗi của tôi, nhưng học Master ở đây tôi chạy trối chết thì thời gian
đâu ngó bên ngoài. Lần này tôi thật sự khốn đốn do tôi sắp bị “khô máu”, chỉ còn đủ “máu”
chiến đấu được chắc hơn 1 tháng nữa (trong tài khoản hình như còn cỡ 900$CAD)…

Ai chà… sắp tới sẽ ra sao đây? tôi tự hỏi......

Page 85
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

9) Dự án LMS (Canada)

Trong lúc tôi tiếp tục sự nghiệp tìm việc thì tình cờ sư phụ liên lạc với tôi nhờ tôi làm 1 cái UI
tool để chị PostDoc sử dụng vô công việc Emotion Annotation cho thuận tiện thay vì cứ làm
bằng tay vừa mất thời gian vừa dễ sai sót. Sẵn đang rãnh rỗi nên tôi ok nhận làm giúp sư phụ
luôn. Đây không phải là lần đầu tôi giúp sư phụ vụ này, trong thời gian làm dự án tôi cũng đã
dùng Java Swing làm một cái UI tool nhỏ khác cho sư phụ rồi.

Tôi tập trung làm suốt 2 tuần thì xong cái UI tool cho sư phụ. Biết tình hình tôi đang gặp khó
khăn về tài chính, sư phụ mới nói lần này tôi tính xem đã mất bao nhiều giờ để làm, sư phụ sẽ
trả công cho tôi 20$CAD/h (nói chung là cũng khá cao khi ấy). Dù là tôi sắp khô “máu” thiệt,
nhưng nghĩ thầy trò với nhau sao tôi có thể lấy tiền của sư phụ nên tôi từ chối. Tuy nhiên, sư
phụ nói cái UI tool kia sẽ giúp tăng hiệu quả công việc của viện CRIM cũng có nghĩa là tiết
kiệm chi phí nhân lực cho CRIM, vì vậy sư phụ sẽ lấy tiền của CRIM trả thù lao dạng
freelance developer cho tôi chứ không phải lấy tiền túi của thầy. Tôi nghe cũng hợp lý nên đã
tính lại số giờ tôi đã bỏ ra cỡ 100 tiếng rồi báo cho sư phụ con số này. Vài ngày sau tôi nhận
được tờ cheque từ viện CRIM có giá trị 3000$CAD. Ô, thì ra sư phụ đã nâng lên cho tôi
30$CAD/h để bơm thêm máu cho tôi chiến đấu lâu hơn tí. Sư phụ thật là quá tốt đó mà!

Thấy tôi tìm việc vẫn chưa có tín hiệu gì, sư phụ đã giới thiệu tôi với 1 nhóm trong CRIM làm
phần mềm về mảng giáo dục trên nền tảng Java. Hồi làm cho công ty TMA ở Việt Nam, tôi
đã có kinh nghiệm làm 1 dự án lớn là SCS trên nền Java cho Nortel Networks, cũng là 1 công
ty của Canada, nên rất tự tin đi phỏng vấn. Mấy bác hỏi tôi các khái niệm về Inversion of
Control (IoC), Dependency Injection (DI), Aspect-Oriented Programming (AOP) thì tôi
mù tịt, hỏi chi tiết kỹ thuật về Spring MVC, Spring Transaction, Container-Managed
Transaction (CMT) vs Bean-Managed Transation (BMT) trong J2EE, Hibernate thì tôi
cũng không đủ kinh nghiệm thực tế để trả lời tốt. Kết quả là tôi rớt từ vòng 1 😥

Tiếp theo sư phụ lại giới thiệu 1 cơ hội khác bên chỗ vợ sư phụ đang làm. Tôi gửi CV cho vợ
sư phụ thì vợ sư phụ đã giúp tôi chỉnh sửa CV cho pờ-rồ hơn làm tôi thật sự cảm động lắm
lắm. Kết quả phỏng vấn là tôi không phù hợp với vị trí này do chưa có kinh nghiệm với
Speech Recogntion, mô hình HMM, lập trình Perl và tiếng Pháp cũng giao tiếp chưa đủ.

Page 86
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Với 2 lần được giới thiệu mà rơi từ vòng gởi xe thì tôi cảm thấy rất áy náy với sư phụ nên dù
ông có ý muốn giới thiệu thêm vài người bạn đang làm trong ngành software nhưng tôi từ
chối khéo để tiếp tục hành trình tự tìm việc làm…

Sau khi ngồi ngẫm nghĩ lại những việc đã qua, tôi lên mấy trang tuyển dụng lớn của Canada
gom hết yêu cầu cho vị trí Java Developer/Java Software Engineer về phân loại, rồi tìm tài
liệu đọc để nắm bắt kiến thức, xong tranh thủ thực hành để “cảm” được. Nhờ làm cách này
mà tình cờ tôi phát hiện ra công thức CSI (Concept-Specification-Implementation) giúp
nắm bắt công nghệ nhanh hơn và cũng giúp hiểu nhanh hơn các đặc tả công việc (Job
Description – JD). Ví dụ như 1 cái JD liệt kê tùm lum yêu cầu kỹ thuật như phải biết JPA,
Hibernate, MyBatis, EclipseLink, Hibernate JPA, Eclipse, Intellij, Netbeans -> thực ra cái
đám này chỉ dựa trên 2 khái niệm (Concept): ORM (Object Relational Mapping) & IDE
(Integrated Development Environment), khi nắm vững 2 khái niệm này thì những yêu cầu về
công nghệ kia sẽ không khó để học và xài.

Khi kiến thức IT của tôi được cập nhật lên nhiều thì tôi tiếp tục rải một mớ “truyền đơn” (CV)
tiếp cho vài công ty… Sau 1 tháng thì tôi cũng được gọi phỏng vấn 2 chỗ ở Montreal. Kết quả
phỏng vấn thì… vũ như cẩn với chỗ thì nói thiếu kinh nghiệm Spring/Hibernate frameworks,
chỗ thì nói tiếng Pháp giao tiếp chưa đạt. Có 1 chỗ ở Toronto phỏng vấn qua điện thoại ok,
công ty đó nói tôi xuống Toronto dự phỏng vấn trực tiếp nhưng tôi vẫn thích ở Montreal hơn
nên cũng chưa muốn đi, từ từ tính.

Ngồi đọc sách kỹ thuật và chờ việc hoài cũng chán, tình cờ có khóa tiếng Pháp 1 tháng
chuyên sâu mở ở đại học Chicoutimi, thuộc thành phố Chicoutimi cách Montreal cỡ 450 km,
tôi đã đăng ký lên đó vừa học nâng cao khả năng giao tiếp tiếng Pháp vừa du lịch cho biết
thêm 1 thành phố nữa của Canada luôn.

Lên Chicoutimi, tôi ở cùng 1 gia đình bản xứ (gọi là homestay). Sáng lên trường Chicoutimi
học tiếng Pháp đến tối tôi mới về ăn cơm chung với gia đình này. Học suốt từ thứ 2 đến thứ 7,
chỉ có Chủ Nhật nghỉ thì tôi đi chơi chung với gia đình này. Nói chung là suốt cả tháng ở
Chicoutimi tôi đi học, chơi thể thao, tham gia văn nghệ của trường, sinh hoạt ngoài xã hội, tất
cả mọi thứ chỉ xài mỗi tiếng Pháp, không tiếng Anh, không tiếng Việt. Nhờ vậy mà vốn từ
vựng tiếng Pháp cũng như khả năng giao tiếp tiếng Pháp của tôi tăng rất nhanh, nhưng vì quá
chuyên sâu tiếng Pháp mà cũng có nhiều ngày đầu óc tôi mệt mỏi, quay cuồng với tiếng Pháp.

Page 87
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Trong thời gian học ở Chicoutimi, tôi có tham gia các phong trào ngoại khóa do trường tổ
chức chủ yếu cho vui, thư giãn đầu óc. Một trong những kỉ niệm đáng nhớ của tôi ở đây là tôi
chia sẻ cho các em học sinh cấp 1 của Chicoutimi về đất nước Việt Nam, một số nét văn hóa
đặc trưng, tiền Việt, món ăn Việt. Các em trầm trồ khi thấy tờ tiền 500.000 VNĐ trên màn
hình, và các em rất thích thú khi tôi chỉ cách xài đôi đũa:

Hoàn thành khóa học ở Chicoutimi, tôi trở lại Montreal tiếp tục tìm việc làm với tinh thần
phấn chấn hơn khi tiếng Pháp giao tiếp của tôi đã tiến bộ vượt bậc thêm.
Nhưng rồi một thời gian trôi qua nữa mà tôi vẫn chưa tìm được việc phù hợp ở Montreal, máu
lại sắp cạn…… Chán nản, tôi quyết định nếu hết tháng vẫn chưa có việc làm thì sẽ đi dzìa
làng Sài Gòn luôn cho rồi, chứ nghĩ đến việc phải làm bồi bàn lượm bạc cắt sống qua ngày
chờ có việc… thật là chả có tí động lực gì để làm nổi.

Thoáng chốc cuối tháng đến cái vèo. Vào 1 buổi sáng nắng chói chang, đang lang thang trên
mạng như kẻ vô hồn, tôi vô tình bấm nhầm 1 cái link nhảy vô trang quảng cáo đồ linh tinh tên
là “craiglist”. Thường khi vô nhầm mấy trang quảng cáo là tôi tắt ngay, nhưng lần này chưa
kịp tắt thì chữ “Dévéloppeur Java” đập vô mắt làm tôi hơi ngạc nhiên vì tuyển dụng IT ai lại
đăng lên mấy trang kiểu này.

Page 88
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tò mò tôi vô phần JD xem thử thì thấy có vẻ phù hợp với tôi nên gửi CV ứng tuyển thử. Thật
bất ngờ là tôi vừa gửi CV xong thì hôm sau có người gọi phỏng vấn liền, quá nhanh hơn tôi
tưởng vì mấy công ty trước phải vài tuần mới gọi.

Lần tình cờ này thì tôi lại qua được 3 vòng phỏng vấn để có việc làm đầu tiên ở Montreal ở
công ty Bibliomondo (nói tiếng Pháp) dù ở vòng 3 bị anh CEO tên là Ronald ép lương (tôi có
kinh nghiệm làm việc trong mảng phần mềm 3 năm mà ảnh không tính và đánh vào điểm yếu
của tôi là tiếng Pháp). Anyway, cho ép luôn… phù… có việc làm có cơ hội học hỏi nâng cao
tay nghề và tích lũy tài chính cho đường dài là ok rồi… tôi cảm thấy nhẹ nhõm cả người 😍

Sau vài tháng tôi làm việc ở công ty này thì ông nhân sự (Human Resource – HR) tên
Michel, lúc trước phỏng vấn tôi ở vòng 1, nghỉ việc. Tôi thường nói chuyện rất vui với ông
nên ngày làm việc cuối cùng của ông tôi đã đãi ông ăn ở 1 nhà hàng Thái. Nói chuyện một hồi
thì ông bật mí với tôi 1 sự thật: “Hồi đó vị trí cậu ứng tuyển vô có 2-3 người hơn cậu tiếng
Pháp và kinh nghiệm nhưng tôi đã chọn cậu đi tiếp vì thấy cậu có vẻ là người thật tình, có
năng lực và có trách nhiệm” -> hóa ra cái mặt hơi lúa và cách nói chuyện thẳng thắn của tôi
cũng có ích lắm chứ nhỉ…j/k 😇… Đúng là trong cuộc đời đôi lúc cần gặp được những may
mắn thế này thì mới vượt qua được những khó khăn vượt quá khả năng tự giải quyết dù đã cố
gắng hết sức.

Sản phẩm phần mềm của công ty Bibliomondo là một ứng dụng giúp quản lý thư viện
(Library Management Application – LMA). Ứng dụng này được sử dụng trong các thư viện ở
Canada và Pháp để quản lý việc xuất bản sách, cho mượn sách và đóng gộp sách (Book
Binding) các tạp chí để bán/cho mượn.

Khi tôi tham dự án thì sản phẩm đã phát triển được mấy năm rồi, sử dụng những công nghệ
như Java Swing, EJB, SOAP và đã ra được nhiều phiên bản (Version). Vì lý do này mà vòng
2 khi phỏng vấn kỹ thuật, anh quản lý dự án tên là Alexandre đã không hỏi tôi những
frameworks mới nhất như Spring/Hibernate. Công việc của tôi là bảo trì và phát triển tiếp một
số tính năng mới cho sản phẩm LMA.

Những khó khăn mà tôi đã gặp phải:


1. Kiến thức lĩnh vực mảng thư viện mới với tôi.
2. Công nghệ SOAP (Simple Object Access Protocol), EJB mới với tôi.

Page 89
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

3. Dù không phức tạp bằng dự án SER5500 nhưng môi trường phát triển cũng quá nhiều thứ.
4. Ác mộng với núi XML khi xài với SOAP và EJB (Enterprise Java Beans).
5. Môi trường làm việc bằng tiếng Pháp: tài liệu yêu cầu, tài liệu thiết kế, nhân viên đa sắc tộc
nói nhiều giọng tiếng Pháp khác nhau, nói tiếng Pháp suốt ngày… là một thách thức không
nhỏ với tôi.

Tôi khá may mắn là gặp được anh quản lý nhóm kỹ thuật (Technical Lead) tên là Christophe,
người Pháp qua Canada làm việc, có tính tình rất tốt, thân thiện, nhiệt tình mentor cho tôi,
nhất là anh kiên nhẫn nghe tôi nói tiếng Pháp gặp tình huống thiếu từ để diễn đạt (lần đầu tiên
trong đời tôi phải nói tiếng Pháp cả ngày mỏi miệng chết đi được) và sửa sai cho tôi, khi nào
khó quá tôi lái qua tiếng Anh thì anh cũng chuyển sang tiếng Anh luôn.

Nhờ ảnh mentor về kiến thức lĩnh vực, kiến trúc phần mềm cũng như các công nghệ trong
LMA mà tôi đã thích ứng tốt với dự án và vượt qua được 2 tháng thử việc...phù...tôi khá là vui
vì lúc mới vô công ty rất lo lắng về nhiều thứ mình còn yếu. Từ đây tôi rút ra được 1 điều là
chúng ta muốn học nhanh bất cứ cái gì thì phải nỗ lực thực hành hàng ngày và tốt hơn nữa là
có mentor theo sát hướng dẫn cũng như sửa sai.

Mô hình phát triển dự án được thể hiện qua hình dưới đây:

Page 90
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Dự án gồm các phần chính:


 Một cái Web App chính được viết bằng công nghệ J2EE, cụ thể là EJB 2.0.
 Một cái Web Portal được phát triển bằng công nghệ .Net cho người dùng cuối (end users)
xài, Web Portal kết nối với Web App thông qua SOAP Web Service.
 Một cái Windows App cho Admin sử dụng được viết bằng Java Swing. Công ty đã bỏ
công xây dựng 1 bộ thư viện các UI Components chuyên dụng như table, list, form… giúp
cho việc hiện thực các giao diện rất nhanh. Windows App này kết nối qua Web App thông
qua JNDI (Java Naming and Directory Interface) tới EJB Session Beans.
 Phần cơ sở dữ liệu công ty tự viết ra đặt tên là Best SQL. Tôi hỏi chơi anh TL tên này có
nghĩa gì thì ổng nói nghĩa là cơ sở dữ liệu tốt nhất thế giới. Lúc đó MySQL,
PostgreSQL… chưa ra, còn Oracle SQL thì mắc quá.

Tôi đảm nhận các việc trên phần Windows App, SOAP Web Service & EJB 2.0 (Session
Beans & Entity Beans). Phần việc trên Windows App tôi làm với các giao diện rất là thú vị
bao nhiêu thì phần việc trên 2 cái còn lại thật sự là ác mộng với cả núi XML.
Có nhiều file XML lên đến mấy ngàn dòng, kéo chuột muốn gãy ta, rồi mờ con mắt để tìm ra
chỗ bỏ vô đoạn config code mới 😅. Cũng vì lý do này mà sau này SOAP-XML đã dần bị
thay thế bởi REST-JSON và EJB 2.0 bị Spring Framework với khái niệm POJO vượt mặt để
rồi sau đó EJB 3.0 ra đời (bắt chước khá nhiều tính năng của Spring Framework) đập tan ác
mộng XML cho Software Developer.

Thật không thể tin được, thông tin quản lý của 1 quyển sách nhiều kinh khủng, lên đến gần
150 thuộc tính (Property), khi ánh xạ vô cơ sở dữ liệu thành 150 cột (Column). Trên UI, để
chỉnh sửa 1 cuốn sách thì người dùng phải thao tác trên cả chục phân trang (Tab), mỗi phân
trang có cả đống trường (Field).

Phần tính thuế liên quan đến Book Binding thiệt là mỏi não luôn đó. Đoạn code cũ tính thuế
lên đến 14 trang A4 với rất nhiều công thức phức tạp liên quan đến tùm lum loại thuế má của
Canada. Tôi đọc đoạn code đó để hiểu cách tính mà muốn quay cuồng đầu óc.

Các đồng nghiệp developers đến từ nhiều nước khác nhau như Canada, Pháp, Anh (ông này
cũng mê bóng đá lắm, nhất là giải ngoại hạng Anh), Trung Quốc, Việt Nam (tôi và 1 anh Việt
Kiều). Mọi người thân thiện, vui vẻ, thường cụng bia vào Happy Hour thứ 6 mỗi tuần.

Page 91
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Ngồi cạnh tôi là 1 đồng chí Trung Quốc. Anh này tiếng Pháp nói tạm tạm, tiếng Anh thì bập
bẹ. Trình độ IT thì cũng bình thường, không có gì nổi bật. Vậy mà anh ấy đem được vợ & 1
con qua Canada theo dạng định cư cả gia đình. Tôi phải công nhận xứ Trung Quốc có dịch vụ
TOFEL và định cư Canada hay ghê đó.
Qua dự án LMA, tôi đã học thêm được một lĩnh vực mới, công nghệ mới, và kiến trúc phần
mềm mới kết hợp cả 2 công nghệ Java & .Net.

Hè năm 2008, hội DHS VN ở Montreal tổ chức 1 giải bóng đá qui mô khá lớn với 8 đội bóng
với thành phần là DHS VN đến từ các thành phố Toronto, Ottawa, Montreal, Quebec và một
số Việt Kiều tại Montreal. Đội Montreal chúng tôi đã giành được chức vô địch đầu tiên của
đội (giải năm 2007 thì đội Quebec giành chức vô địch).

Nhân dịp tổng kết cuối năm 2008, công ty Bibliomondo tổ chức tiệc tất niên ở 1 nhà hàng 4
sao của Ý. Lần đầu tiên tôi được dự 1 cái tất niên sang trọng ghê gớm, từ phong cảnh trang trí,
đến bàn, ghế, dĩa… đều rất đẹp. Món súp gì đó cái tô thì to, nhưng súp bên trong thì có tí xíu,
quét vài thìa nhỏ là hết. Món cá hồi thì cái dĩa cực to, miếng cá bé xíu nằm ở giữa, trang trí
khá đẹp mắt, nhưng ăn thì đúng là lấy hương lấy hoa. Cứ thế mà 5-6 món dọn ra, tôi ăn xong
bữa tiệc mà vẫn đói (tối về phải mần thêm gói mì tôm 😂). Sau phần ăn uống thì công ty tổ
chức trò chơi rất vui, tặng quà có ý nghĩa cho những ai trả lời câu hỏi đúng hoặc chiến thắng
trong các games đối kháng tập thể… À, tôi nghĩ có thể dân Tây khi tham dự tiệc tùng bọn nó
quan tâm đến ăn lấy hương lấy hoa, vui chơi giải trí hơn là ăn uống no đủ, nhạo nhẹt này nọ
theo kiểu dân châu Á.

Page 92
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

10) Dự án iVision (Canada)

Rời công ty Bibliomondo, tôi chuyển sang công ty Retina được thành lập bởi 1 nhóm các bác
sĩ tư nhân. Công ty đang xây dựng 1 sản phẩm công nghệ có tên là iVA (iVision Application)
bên mảng chăm sóc sức khỏe (Health Care) giúp cho các bệnh nhân ở vùng sâu, vùng xa có
thể khám bệnh ở địa phương họ nhưng vẫn được các bác sĩ ở thành phố lớn chẩn đoán và điều
trị mà không cần phải đi xe buýt lên thành phố. Hiển nhiên là họ chỉ bị các bệnh không quá
nặng, không cần thiết phải gặp bác sĩ trực tiếp hoặc phải phẫu thuật. Sản phẩm được ứng dụng
ở rất nhiều thành thị của Canada.

Các tính năng của sản phầm gồm có:


1. Quản lý các phòng mạch (Clinic) ở địa phương
2. Lập lịch hẹn khám ở địa phương cho bệnh nhân (Patient)
3. Lấy mẫu hình ảnh của bệnh nhân ở phòng mạch địa phương họ
4. Bác sĩ (Doctor) ở phòng mạch chẩn đoán và ra lược đồ điều trị, nếu bệnh nặng quá thì ra
yêu cầu cho bệnh nhân lên phòng mạch khám và điều trị trực tiếp
5. Quản lý các chẩn đoán (Diagnosis) và theo dõi qui trình điều trị tương ứng

Sơ đồ dự án được thể hiện qua hình dưới:

Page 93
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Những khó khăn mà tôi đã gặp phải:


1. Kiến thức lĩnh vực chăm sóc sức khỏe mới với tôi.
2. Công nghệ Spring Framework có nhiều khái niệm khá mới với tôi như POJO (Plain Old
Java Object), IoC, DI, AOP. Ngoài ra lần đầu tiên tôi đụng đến phần Web với javascript
framework khá phổ biến là jQuery.
3. Lần đầu tiên tôi đụng bài toán ánh xạ quan hệ đối tượng (Object-Relational Mapping –
ORM) với Hibernate framework.
4. Thằng TL (nhỏ hơn tôi 1 tuổi) tên Mark là fan cuồng của Unit Tests, nó bắt cả nhóm viết
Unit Tests mệt xỉu (kể cả Controller layer) làm mất rất nhiều thời gian và công sức 😂.
5. Áp lực deadline rất nặng nề để ra tính năng mới đưa vào phục vụ khám chữa bệnh.

Thời gian đầu tôi tham gia dự án đúng là mệt não với quá nhiều từ chuyên môn về các bệnh
bên y học, thật sự rất khó nhớ. Các qui trình nghiệp vụ cũng phức tạp. Cũng may là môi
trường này nói tiếng Anh… phù… đỡ hơn công ty trước chơi tiếng Pháp suốt ngày khá mỏi
miệng. Nhờ chú TL và các bác sĩ giải thích một cơ số lần thì tôi cũng nắm được các qui trình
nghiệp vụ của hệ thống.

Về công nghệ thì Spring Framework, Hibernate và jQuery tuy mới với tôi nhưng nhảy vô vùa
học vừa làm có chú TL làm mentor thì thấy dễ xài hơn nhiều so với EJB 2.x. Mà cũng nhờ
chú này mà tôi làm quen với Unit Test cùng framework JUnit và thấy nó cũng hữu ích khi
mình bảo trì cũng như phát triển tính năng mới cho ứng dụng. Tuy nhiên thời gian để lập trình
viết Unit Test quá tốn kém, vì vậy mấy công ty startup sau này tôi thấy bỏ qua phần này giai
đoạn đầu, khi nào sản phẩm ổn định có đầu tư/doanh thu tốt rồi mới quan tâm đến Unit Test.

Để đối phó lại áp lực deadline thì tôi cần phải hiểu rõ ứng dụng từ nghiệp vụ cho đến kỹ thuật,
các công việc liên quan với nhau thế nào để phân độ ưu tiên giữa các công việc. Khi công việc
này bị tạm ngưng vì lý do khách quan thì phải chuyển qua công việc khác liền chứ không thể
ngồi chờ cho nó được giải phóng rồi làm tiếp.

Sau khi làm xong dự án này tôi từng có suy nghĩ sau này về Việt Nam xây dựng 1 hệ thống
giống như vầy để giúp bà con dưới quê đỡ khổ khi lên các thành phố lớn như Sài Gòn, Hà
Nội, Đà Nẵng… khám bệnh.

Page 94
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Nhưng khi hỏi một số người về ý tưởng này thì họ nói không khả thi lắm đâu vì người Việt
Nam có tâm lý khi khám bệnh là muốn gặp trực tiếp bác sĩ mới chịu và trình độ của các nhân
viên y tế ở dưới quê không cao cùng cơ sở vật chất không đủ hiện đại để lấy mẫu cho chính
xác nữa. Thế là ý tưởng của tôi chết từ trong trứng nước 😅

Hè năm 2009, đội bóng đá Montreal có 1 chuyến hành quân khá thú vị lên Ottawa tham gia
giải bóng đá DHS VN ở Canada lần 3. Giải lần này có 1 nét mới là có 1 đội khách mời tập
hợp các DHS của nước Indonesia:

Sản phẩm iVA không lớn lắm, nên xây dựng 1 thời gian ngắn thì nó chuyển sang giai đoạn
vận hành và bảo trì.

Sau khi tham gia bảo trì vài tháng thì tôi đi tìm việc khác hứng thú hơn…
Phải công nhận tìm việc làm đầu tiên ở Việt Nam và Canada đều rất vất vả, nhưng từ việc làm
thứ hai trở đi thì tôi đỡ hơn rất nhiều.

Page 95
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

11) Dự án MPA (Canada)

Rời công ty Retina, tôi vào công ty 3CE với sản phẩm nổi bật là hệ chuyên gia (Expert
System) tên là 3CE (Code Commodity Classification Engine) giúp phân loại hàng hóa xuất
nhập khẩu nhanh chóng và chính xác hơn so với các hệ thống tìm kiếm mã hàng theo từ khóa
(Keyword matching system) hoặc tìm mã hàng bằng phương pháp thủ công của hải quan.

Ứng với 1 đặc tả (Description) của 1 món hàng xuất nhập khẩu (Commodity) thì phần mềm
thông thường cho ra rất nhiều kết quả và các nhân viên hải quan (NVHQ) phải dò trên từng
kết quả để xác định chính xác loại HS (Harmonized System) Code (xác định sai HS Code sẽ
áp thuế sai), việc này tốn rất nhiều thời gian và cũng dễ sai sót, ảnh hưởng rất nhiều đến các
doanh nghiệp xuất nhập khẩu trên thế giới.

Sản phẩm 3CE được phát triển dựa trên phần lõi là Bản thể học (Ontology) được 5-6 tiến sĩ
thuộc các lĩnh vực khác nhau như thực phẩm, dầu, hóa học… xây dựng từ đầu. Nói nôm na ví
dụ có cụm từ “cotton red shirt wide” thì ngành Ontology giúp xác định được chủ thể của cụm
từ trên là “shirt” chứ không phải “cotton”. Việc xác định đúng chủ thể của 1 cụm từ rất quan
trọng trong việc phân loại commodity ra mã HS Code để áp thuế xuất/nhập khẩu. Việc phân
loại commodity được tiến hành chậm hoặc sai sẽ gây thiệt hại rất lớn cho chủ hàng là các
công ty xuất nhập khẩu (Im/Export Company) hoặc các đại lý (Agent) đứng trung gian.

Sản phẩm 3CE hoạt động theo cơ chế của 1 hệ chuyên gia:
1. Người dùng đưa đặc tả của commodity vô cho 3CE phân tích sử dụng Ontology
2. Nếu 3CE chưa thể xác định được HS Code của commodity thì 3CE sẽ tự sinh ra câu hỏi
cho người dùng trả lời thêm về hàng hóa
3. Người dùng trả lời câu hỏi
4. Bước 2 & 3 được lặp lại vài lần thì 3CE có thể xác định được mã của commodity với thời
gian rất nhanh và độ chính xác rất cao

Được đầu tư hàng triệu USD, 3CE đã giúp các công ty xuất nhập khẩu lớn của Canada &
USA tiết kiệm được hàng tỉ USD chi phí hàng năm với vấn đề phân loại commodity chậm/
sai. Khách hàng của 3CE là các hải quan, doanh nghiệp xuất nhập khẩu của Canada & USA.

Page 96
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tôi tham gia đội ngũ phát triển phần mềm ứng dụng của công ty có nhiệm vụ phát triển các
phần mềm có tích hợp hệ thống 3CE cho khách hàng sử dụng theo nhu cầu của họ.
Nhóm phát triển phần mềm ứng dụng này gồm có 1 ông Team Lead người Canada 50 tuổi tên
Marc, lấy yêu cầu thô (Raw Requirement) từ khách hàng về cho tôi & 1 developer khác mần
từ A-Z cho đến khi ra sản phẩm dưới sự mentor của ông ấy, và 2 QCs.
Ông TL này chuyên môn rất giỏi, nói nhanh như gió cả tiếng Anh & Pháp nên trao đổi với
khách hàng để lấy yêu cầu phần mềm hay lắm, nhờ vậy tôi cũng học hỏi được 1 tí, và ổng
cũng là fan cuồng của Javascript (nhất là framework jQuery) & Java (Spring Framework).

Sản phẩm MPA (Mail Processing Application) tôi xây dựng cho công ty USPS (US Postal
Service) của Mỹ giúp họ xử lý tự động một lượng lớn emails mỗi ngày có đụng đến phần
Commodity Classification phải nhờ đến hệ thống 3CE.

Mô hình phát triển sản phẩm thể hiện trong hình dưới:

Những khó khăn tôi đã gặp phải:


1. Lần đầu tiên tôi đụng vô Ứng dụng đơn trang (Single Page Application – SPA) với công
nghệ Frontend mới là ExtJS, trước kia toàn là Ứng dụng đa trang (Multiple Page
Application – MPA).
2. Thách thức trong việc xử lý nội dung không đồng nhất của lượng lớn emails cũng như
trùng lắp giữa các commodity đã/chưa phân loại dựa vào 3CE.
3. Vấn đề hiệu năng & độ sẵn sàng của hệ thống (System Performance & Availability).

Page 97
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Lập trình với ExtJS dạng component-based trên nền Web App rất giống với Java Swing trên
nền Windows App mà tôi đã quá quen thuộc nên chuyển sang cũng không gặp vấn đề lớn, chỉ
có vấn đề là lập trình web hơi khó debug hơn lập trình windows. Tôi đã tìm hiểu thêm về cách
thức AJAX hoạt động là nắm được phần giao tiếp giữa Frontend & Backend.

Ông TL đã giúp tôi hiểu cách thức 3CE hoạt động để tích hợp với MPA cũng như một số kỹ
thuật để tăng hiệu năng hệ thống và cách xài bộ cân bằng tải (Load Balancer) để giải quyết
vấn đề sẵn sàng của hệ thống.

Hè năm 2010, tôi tiếp tục cùng đội DHS VN Montreal tham gia giải bóng đá DHS VN ở
Canada lần 4. Giải lần này tổ chức tại Montreal:

Page 98
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tiếp đến mùa thu, tôi cùng một số DHS VN đi picnic ở Mont-Tremblant ngắm lá mùa thu rất
là đẹp:

Page 99
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Vào dịp Noel 2010, công ty tổ chức đi ăn tối với các món ẩm thực của Quebecois và Nga. Sau
buổi ăn tối thì cả công ty vô quán bar uống vài ly rượu nhẹ và quánh bida lỗ khá là thú vị:

Nhân viên của công ty 3CE đến từ khá nhiều nước: Canada, Pháp, Nga, Belarus, Trung Quốc,
Guyana (Nam Mỹ), và Việt Nam (1 mình tôi). Mọi người rất là thân thiện và cởi mở.
Tôi có làm việc chung với 1 chị tiến sĩ người Trung Quốc tên là Xiao chịu trách nhiệm 1 phần
trong cục Ontology. Chị này tính tình rất là dễ thương, hòa đồng. Sau khi chị học xong ở lại
Canada làm mà không muốn về lại Trung Quốc. Chị ấy định hướng sẽ sang Mỹ làm và định
cư lâu dài luôn.
Ngoài ra tôi cũng thường nói chuyện với 1 anh QC người Quebecois tên là Patrick. Anh này
siêu vui tính nên tôi rất hay đùa với ảnh, tìm hiểu thêm về cuộc sống, con người & văn hóa
của dân Quebec.
Thời gian đầu mọi người hay đi ăn trưa cùng nhau. Một thách thức phổ biến cho hầu như bất
cứ nhóm nào khi đi ăn trưa là…ăn cái gì? ở đâu? Thế là tôi đã viết 1 cái phần mềm nhỏ cứ
đúng 11.00h mỗi sáng là gửi email cho mọi người 1 cái link. Khi bấm vào cái link thì họ sẽ
được đưa vào 1 trang để biểu quyết (vote) hôm nay họ muốn ăn gì, ở đâu. Sau đó 11h50 phần
mềm sẽ tự động gửi email cho mỗi người báo kết quả biểu quyết. Nói chung khá là vui 😃

Page 100
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

12) Dự án GPM (Canada)

Bước sang năm 2011, tôi tham gia phát triển sản phẩm GPM (Global Product Manager) cho
công ty 3CE. Đây là sản phẩm nội bộ của công ty, tuy nhiên yêu cầu phần mềm được thu thập
từ một số khách hàng lớn của 3CE vì GPM giúp các công ty có sử dụng hệ thống 3CE quản lý
sản phẩm xuất nhập khẩu của họ.

Các tính năng chính của phần mềm bao gồm:


1. Quản lý các nhà bán hàng (Vendor)
2. Quản lý sản phẩm xuất nhập khẩu (Commodity), có bao gồm danh mục (Category)
3. Phân loại hàng hóa sử dụng hệ chuyên gia 3CE để tìm ra HS Code
4. Quản lý các điểm đến (Destination) mà hàng hóa được xuất đi với các mức thuế xuất
(Tax Duty) tương ứng

Mô hình phát triển phần mềm được đặc tả trong hình dưới đây:

Những khó khăn tôi đã gặp phải:


1. Kiến thức lĩnh vực xuất nhập khẩu, thuế, hải quan.
2. Kiến trúc phần mềm không có gì thay đổi so với MPA, chỉ có 1 phần công nghệ mới đó là
khái niệm NoSQL database và một database mới ra khi đó là MongoDB.

Page 101
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

3. Lại là vấn đề xử lý trùng lắp giữa các sản phẩm đã/chưa phân loại dựa vào 3CE, cái này
hơi khác tí so với MPA.
4. Lần đầu tiên tôi tiếp xúc với các yêu cầu phi chức năng (Non-Functional Requirement –
NFR), đó là PASS (Performance, Availability, Scalability and Security) metrics.

Đến lúc này thì tôi đã đi làm được 7-8 năm, trải qua cũng khá nhiều dự án phần mềm thì kiến
thức/kinh nghiệm phát triển phần mềm của tôi cũng đã tiến bộ đáng kể, cộng thêm sự mentor
nhiệt tình của ông TL rất giỏi thì những khó khăn trên không là vấn đề gì với tôi cho lắm.

Sau 3 tháng tôi đã xây dựng xong POC (Proof of Concept) cho sản phẩm phần mềm GPM từ
A-Z cho công ty 3CE đem cho khách hàng ở Canada & USA xài thử thì họ đã phản hồi khá
tốt vì GMP đã giúp họ tiết kiệm thời gian và chi phí rất nhiều.
Tiếp đó họ đã yêu cầu rất nhiều tính năng mới cho GPM. Ông TL đã thu thập yêu cầu thô
trong 1 chồng giấy A4 rồi đưa tôi xem thì tôi rất ư là...ngộp lun 😅

Sau khi phát triển thêm một vài versions cho GPM thì tôi quyết định về lại Sài Gòn vào đầu
năm 2012 để làm gì đó mới mẻ và sôi động hơn sau 6-7 năm trải nghiệm học hành và làm
việc đầy thách thức và thú vị trên đất nước Canada xinh đẹp 

Hè 2011, tôi tham gia giải bóng đá DHS VN ở Canada lần 5 và cũng là lần cuối cùng của tôi:

Page 102
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Trước khi về làng Sài Gòn, tôi cũng đã tranh thủ đi du lịch khám phá nhiều chỗ khác nhau
trên đất nước Canada cùng các bạn DHS VN…
Công viên nước Calypso

Granby

Page 103
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Magog: nổi tiếng với hoa oải hương (Lavender)

Tỉnh New Brunswick

Page 104
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tỉnh Nova Scotia

Tỉnh Prince Edward Island: Vương quốc tôm hùm

Page 105
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Thủ đô Ottawa – Canada

Thành phố Havana – Cuba: Gặp Kỉ lục gia Guiness về quấn điều thuốc dài nhất TG

Page 106
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

C. Về Việt Nam khởi nghiệp

13) Dự án YCMS (Vietnam)

Đầu năm 2012, tôi về lại Sài Gòn vào đúng dịp Tết Ta để tận hưởng một cái Tết nguyên đán
vui tươi, đầm ấm bên gia đình sau hơn 6 năm không được ăn Tết Ta ở nhà.

Sau đó, tôi tiếp tục thực hiện “Ước mơ tuổi thơ” của tôi: đi hết 6 Châu (Châu Á, Châu Úc,
Châu Âu, Châu Mỹ, Châu Phi, và Châu…Đốc), qua 66 nước, trải nghiệm 666 điểm. Tôi thích
đi đây đi đó để quan sát và trải nghiệm cuộc sống thường ngày của các dân tộc của các nước
khác nhau rất là thú vị, rồi mới đến thưởng thức những phong cảnh tự nhiên đẹp. Sở dĩ tôi
thích chọn số 6 là vì tôi sinh vào thứ 6 ngày 6 tháng 6 (năm 1980), cao 1.66m, nặng trong
khoảng 6x kg -> 6 con số 6……

Đến thời điểm 2012 này, tôi đã đi được 2 Châu (Châu Á, Châu Mỹ), qua 2 nước (Canada:
2005, Singapore: 2008 lúc tôi về Việt Nam chơi sau khi nộp luận văn cho thầy xem).
Đài sư tử phun nước – Biểu tượng của Singapore

Page 107
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tranh thủ trong thời gian xả hơi, tôi đã mần 1 chuyến xuyên Việt từ Mũi Cà Mau ở cực Nam
lên đến Sapa ở phía Bắc suốt 60+ ngày, qua khoảng 40+ tỉnh, thành.
Cà Mau – Cực Nam Tổ quốc

Sapa – phía Tây Bắc Việt Nam

Page 108
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Khi còn đang làm ở Canada năm 2011, tôi đã cùng với vài bạn học thời trước mở 1 công ty
vừa và nhỏ (Small and Medium Enterprises – SME) dạng cổ phần có tên là YGS (Young
Generation Solutions, JSC.) chuyên phát triển các sản phẩm công nghệ (Technology
Product) cho thị trường Việt Nam cũng như gia công phần mềm cho các công ty Việt Nam &
nước ngoài.

Sản phẩm công nghệ đầu tiên chúng tôi phát triển có tên là YCMS, viết tắt của YGS CMS
(Content Management System – CMS), là một hệ quản trị nội dung giúp cho các quản trị
viên của các websites có thể thay đổi nội dung tĩnh (Static Content) trên các websites nhanh
chóng mà không cần nhờ đến Software Developers lập trình để sửa rồi triển khai trở lại lên
máy chủ.

YCMS cung cấp các tính năng phổ biến của một CMS cùng với khả năng mở rộng các tính
năng khá dễ dàng:
 Quản lý các websites
 Quản lý các mẫu (Template)
 Quản lý các trang (Page)
 Quản lý các khu vực (Section)
 Quản lý các thành phần được xây dựng sẵn (Component) như HTML Component, Menu
Component, Language Component, Photo Gallery Component, Video Gallery
Component…

Thời điểm đó các phần mềm CMS trên thị trường chưa có nhiều và mạnh, cho nên chúng tôi
xác định xây dựng sản phẩm YCMS để giúp cho việc phát triển các dự án phần mềm gia công
của công ty chúng tôi nhanh hơn và cũng cho thuê bao YCMS cho những ai có nhu cầu.

Công ty YGS là SME nên khi xây dựng sản phẩm phần mềm thì mọi thành viên công ty đều
tham gia tất cả các công đoạn phát triển phần mềm:
1. Phân tích (Analysis)
2. Thiết kế (Design)
3. Hiện thực (Implementation)
4. Kiểm tra (Testing)
5. Triển khai (Deployment)
6. Bảo trì (Maintenance)

Page 109
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Mô hình phát triển sản phẩm được đặc tả trong hình sau:

Công nghệ .Net được sử dụng trong sản phẩm này vì bạn tôi trước đó đã xây dựng được 1 bộ
khung phát triển sản phẩm công nghệ trên nền .Net rồi.

Loại hình ứng dụng chúng tôi đã chọn là Ứng dụng đa trang (Multiple Page Application –
MPA) để cấu hình các websites và components dễ dàng và tiện lợi.

Page 110
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

14) Dự án YCRM (Vietnam)

Sản phẩm công nghệ thứ 2 mà chúng tôi phát triển có tên là YCRM, viết tắt của YGS CRM
(Customer Relationship Management – CRM), là một hệ quản lý quan hệ khách hàng của
các doanh nghiệp (Enterprise).

YCRM cung cấp các tính năng thiết yếu để giúp các doanh nghiệp tìm kiếm, khai thác và nuôi
dưỡng các khách hàng của họ hiệu quả nhất:
 Quản lý đầu mối (Lead)
 Quản lý cơ hội (Opportunity)
 Quản lý trường hợp (Case)
 Quản lý dự án (Project)
 Quản lý tác vụ (Task)
 Quản lý tài khoản (Account)
 Quản lý liên hệ (Contact)
 Quản lý khách hàng (Customer)

Chúng tôi không xây dựng sản phẩm YCRM từ đầu, mà tham khảo sản phẩm SugarCRM, của
công ty SugerCRM của Mỹ, khá phổ biến trên thị trường khi ấy.

Mô hình phát triển YCRM tương tự YCMS, chỉ thay đổi 1 tí ở Persistence Layer:

Page 111
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

15) Dự án SmartPush (Australia)

Sau khi rời công ty YGS, tôi và vài người bạn mở 1 công ty khởi nghiệp công nghệ
(Technology Startup) có tên là SBS (Smart Business Solutions) ở bên Úc vào năm 2013,
trong đó tôi & 1 bạn ở Vietnam tên Hùng lo phần phát triển sản phẩm công nghệ và 1 bạn ở
Úc tên Duy lo phần vận hành (Operation) & phát triển kinh doanh (Business Development).

Sản phẩm công nghệ chúng tôi đã phát triển có tên là SmartPush.
Tình hình khi ấy thì thương mại điện tử (eCommerce) đang bùng nổ ở thị trường Úc với số
lượng cửa hàng bán hàng online (eShop) mọc lên rất nhiều. Vì thế mảng Khoa học dữ liệu
(Data Science), cụ thể hơn là Phân tích dữ liệu (Data Analytics) cho các eShop có nhu cầu
khá cao.

Lúc đó chỉ có mỗi gã khổng lồ Google có sản phẩm Google Analytics (GA) cung cấp giải
pháp Data Analytics cho eCommerce là tương đối mạnh và miễn phí. Tuy nhiên, GA chỉ mới
cung cấp một số metrics & reports cơ bản cho eCommerce websites.

Do đó, SmartPush được định hướng xây dựng vừa có các tính năng cơ bản như GA vừa có
các tính năng khác như advanced/custom metrics & reports cho eCommerce nhằm phục vụ tốt
hơn nhu cầu phân tích hành vi người dùng của các chủ cửa hàng thương mại điện tử.

Lúc đầu, chúng tôi nghĩ sẽ xây dựng SmartPush từ con số 0. Sau khi phân tích kỹ thì chúng
tôi thấy chi phí thời gian và công sức để làm SmartPush từ đầu khá lớn, rồi khi làm xong thì
chi phí để lưu trữ dữ liệu tương tác của người dùng trên các eShop là rất nhiều, phải dùng đến
công nghệ Big Data để lưu và xử lý dữ liệu thì cực kỳ tốn kém.

Sau khi tìm hiểu kỹ cách GA hoạt động thì chúng tôi thấy nó cho phép người dùng đẩy dữ
liệu tùy biến (Custom Data) lên kho dữ liệu của nó. Từ đây chúng tôi quyết định là nên
“đứng trên vai người khổng lồ” để xây dựng giải pháp của mình !

Chúng tôi đã nghĩ ra cách mô hình hóa custom data thu thập được từ các eCommerce websites
để đẩy lên GA nhờ nó lưu dùm, sau đó chúng tôi định kỳ lấy custom data này về xử lý rồi lưu
vô cơ sở dữ liệu của SmartPush phục vụ cho việc xây dựng các advanced/custom metrics &
reports theo yêu cầu của các chủ cửa hàng thương mại điện tử.

Page 112
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Chúng tôi đã sử dụng phương pháp “4+1 View Model” có tùy biến một chút để phân tích,
thiết kế và xây dựng SmartPush:
1. Góc nhìn luận lý (Logical View): thể hiện góc nhìn luận lý vào hệ thống thông qua mô
hình lĩnh vực (Domain Model) và các lược đồ trạng thái (State Digram) nếu có.
2. Góc nhìn quy trình (Process View): thể hiện góc nhìn các hoạt động của hệ thống thông
qua các lược đồ dòng chảy (Flow Chart) biểu diễn các luồng nghiệp vụ (Business Flow).
3. Góc nhìn phát triển (Development View): thể hiện góc nhìn cách hệ thống được hiện thực
thông qua mô hình thành phần (Component Model) và mô hình kiến trúc (Architecture
Model).
4. Góc nhìn vật lý (Physical View): thể thiện góc nhìn cách hệ thống được triển khai vật lý
qua mô hình triển khai (Deployment Model).
5. Góc nhìn tương tác người dùng – ngữ cảnh (User Stories – Scenarios): đặc tả những
tương tác của người dùng với hệ thống trong các ngữ cảnh cụ thể.

Đây là Logical View_Domain Model của SmartPush:

Page 113
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Đây là Development View của SmartPush:

Các khó khăn mà chúng tôi đã gặp phải trong dự án này:


1. Kiến thức lĩnh vực thương mại điện tử & Data Analytics.
2. Công nghệ mới như OAuth2, GA APIs.
3. Môi trường phát triển phần mềm khá phức tạp với nhiều thành phần khác nhau: Website
Plugins, Frontend Web for SPA (Single Page App), Backend APIs, Data Collector,
Background Processes...
4. Nhân lực Software Developers/QCs

Tôi và Hùng đã chia nhau tìm hiểu kiến thức lĩnh vực, các công nghệ mới và thay nhau hiện
thực môi trường phát triển và các thành phần của hệ thống SmartPush.

Page 114
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Vấn đề tìm nhân lực Software Developers/QCs cho Tech Product đúng là nan giải, đã làm mất
rất nhiều thời gian và công sức của tôi và Hùng. Trong giai đoạn phát triển sản phẩm tối thiệu
dùng được (Minimum Viable Product – MVP), tech startup của chúng tôi không có ý định
kêu gọi nhà đầu tư thiên thần (Angle Investor), các đồng sáng lập (Co-founder) bỏ tài chính
và công sức vô sản phẩm. Vì thế chúng tôi không nhắm tuyển full-time Senior Developers,
chỉ sử dụng một vài part-time Senior Developers và tìm vài full-time Fresher Developers và
full-time QCs.
Về việc tìm full-time Fresher Developers, tôi và Hùng đã mất rất nhiều thời gian để phỏng
vấn rất nhiều bạn trẻ IT mới ra trường (mỗi 1 cuộc phỏng vấn mất cỡ 90‟) nhưng chỉ chọn
được một bạn vô làm thử, nhưng làm được 1-2 tháng không chịu nổi thì cũng rút.
Còn full-time QCs thì kiếm được 1 đồng môn LHPer vô làm khá tốt.

Đi cày thuê thì mỗi ngày phải bắt buộc có mặt ở công ty 8 tiếng trong 5 ngày/1 tuần, xong
việc là xong, cuối tuần nghỉ ngơi thư giãn, còn cày cho mình thì không bắt buộc phải có mặt 8
tiếng ở công ty mỗi ngày nhưng thời gian làm là không đếm được, rất nhiều lúc không biết
buổi tối hay cuối tuần là gì, cứ cắm đầu làm cho xong việc thì thôi. Nhưng hỡi ôi, hết việc này
lại sinh ra việc khác liền. Cày liên tục một thời gian thì tôi cũng đã tranh thủ mần 1 chuyến
xuyên Malaysia với vài người bạn để giảm stress, đi từ Tây xuống Nam của Malaysia qua các
tỉnh/thành: Langkawi -> Perlis -> Penang -> Putrajaya -> Kuala Lumpur -> Melaka.

Page 115
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Sau khoảng 6 tháng thì chúng tôi cũng hoàn thành MVP của sản phẩm SmartPush với một số
advanced/custom metrics & reports hữu dụng cho các chủ cửa hàng thương mại điện tử.

Từ góc nhìn của các chủ cửa hàng thương mại điện tử thì những tính năng này tương đối tốt,
giúp ích được cho họ thấy tình hình hoạt động của các ecommerce websites của họ cũng như
hành vi của khách hàng tiềm năng/khách hàng hiện tại của họ như thế nào. Tuy nhiên, cái họ
muốn hơn nữa là dựa trên các số liệu này thì họ cần phải làm gì tiếp để tăng doanh thu cho
các ecommerce websites của họ?

Đây là bài toán xây dựng hệ thống gợi ý (Recommendation System) bên ngành AI thuộc
mảng R&D sẽ ngốn rất nhiều thời gian & công sức chứ không đơn thuần là phát triển phần
mềm ứng dụng.

Sau khi thử hiện thực ý tưởng SmartPush MVP xem đáp ứng của thị trường thế nào thì chúng
tôi đã quyết định chuyển hướng (Pivot) startup của chúng tôi.

Page 116
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

16) Dự án SmartIntegrate (Australia)

Thị trường thương mại điện tử tiếp tục phát triển khá mạnh ở thị trường Úc trong năm 2014
với số lượng eCommerce Websites lên đến hơn 2 triệu.

Các chủ eShop gặp vấn đề với việc tặng lưu lượng truy cập (Traffic) vào eShop, tăng lượng
khách hàng tiềm năng (Lead) cũng như tăng đơn hàng (Order). Họ bỏ tiền làm tối ưu hóa
máy tìm kiếm (Search Engine Optimization – SEO) để tăng Traffic cũng khá tốn kém
nhưng Traffic vào cũng không quá nhiều. Tỉ lệ chuyển đổi (Conversion Rate), là tỉ lệ số
lượng khách viếng thăm (Visitor) trở thành khách hàng (Customer) trên tổng số lượng
Visitors, cũng không cao nếu so với những kênh bán hàng (Sales Channel – SC) lớn đã có
tiếng như Channel Advisor, Magento, eBay...
Vì vậy họ có thêm 1 lựa chọn là đẩy sản phẩm (Product) của họ lên các SC để tăng Traffic,
Leads & Orders.

Giải quyết tương đối ổn vụ traffic và bán hàng thì họ đối mặt tiếp với vấn đề thứ 2: Quản lý
Orders trên các SCs.
Thử hình dung một chủ eShop đẩy Products lên 10 SCs, cuối tháng họ phải đăng nhập vào 10
SCs này với 10 tài khoản khác nhau để kiểm tra Orders. Tiếp đó họ phải xuất ra 10 danh sách
Orders từ 10 SCs cùng với danh sách Orders trên eShop của họ rồi gộp chúng lại với nhau để
ra 1 danh sách Orders tổng hợp của tháng -> Ôi...công việc cơ bắp cuồn cuộn 😅

Vấn đề thứ 2 cũng mệt mỏi đấy nhưng không gay cấn bằng vấn đề thứ 3: Quản lý công việc
vận chuyển (Shipment) đến các nhà vận chuyển (Carrier).
Bên Úc thì có các Carrier phổ biến của Úc như eParcel, StarTrack, còn Carrier toàn cầu tại Úc
thì có FedEx, DHL… Tại sao lại gay cấn?
Quy trình chuyển 1 Order sang 1 Shipment để 1 Carrier như eParcel có thể vận chuyển đi khá
nhiều công đoạn BẰNG TAY mất rất nhiều công sức & thời gian (cỡ 10‟/1 Order nếu làm
đúng hết):
1. Đăng nhập vô website của 1 Carrier (lại phải nhớ tài khoản)
2. Tạo 1 Shipment
3. Nhập 1 núi thông tin của Shipment mới tạo & Order sẽ được vận chuyển
4. Xuất ra 1 Manifest (không biết tiếng Việt gọi là gì trong lĩnh vực này)
5. Cập nhật cái Manifest này lại danh sách Orders để quản lý tiến trình vận chuyển

Page 117
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tạm tính thử: 10‟/1 Order -> 1 tiếng/6 Orders -> 8 tiếng ~ 1 ngày làm việc của 1 người chỉ xử
lý được 48 Orders mà số lượng Orders trong 1 tháng có thể lên hàng trăm thì... chi phí xử lý
bằng tay là rất lớn.

Vấn đề gay cấn này cũng xảy ra tương tự khi chủ eShop xuất hoạt động kinh doanh ra các
phần mềm kế toán (Accounting Software) như MYOB, QuickBooks…

Các vấn đề mệt mỏi, gay cấn cho chủ eShop là vậy, thế thì có giải pháp nào giúp họ tiết kiệm
thời gian và công sức không?
Thật xui cho họ là thị trường Úc khi đó là chưa thấy một giải pháp nào tổng hợp xử lý hết các
vấn đề trên, trong khi các SCs thì không cung cấp mấy dịch vụ nhỏ nhặt này.

Thế là chúng tôi quyết định xây dựng sản phẩm công nghệ có tên là SmartIntegrate nhằm giúp
cho chủ eShop thoát khỏi các vấn đề đau đầu bằng giải pháp one-stop-shopping (nôm na là
chỉ cần đến 1 chỗ là có tất cả những thứ cần):
 Tích hợp các SCs (Channel Advisor, Magento, eBay, Amazon) về 1 chỗ để cuối tháng chủ
eShop chỉ cần đăng nhập vô 1 chỗ với 1 tài khoản phải nhớ là được thấy toàn bộ Orders từ
các SCs mà giái pháp hỗ trợ.
 Xuất nhiều Orders sang Carriers mà giái pháp hỗ trợ (eParcel, StarTrack) và hoàn toàn tự
động với thời gian tính bằng giây/phút.
 Xuất tình hình kinh doanh sang Accounting Softwares mà giái pháp hỗ trợ (MYOB,
QuickBooks) hoàn toàn tự động và nhanh chóng.

Trong phiên bản MVP, chúng tôi chỉ lên kế hoạch tích hợp các SCs là Channel Advisor,
Magento, carrier là eParcel và accounting software là MYOB.

Page 118
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Đây là Logical View_Domain Model của SmartIntegrate:

Đây là Development View của SmartIntegrate:

Page 119
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Những khó khăn mà chúng tôi đã gặp phải:


1. Kiến thức lĩnh vực thương mại điện tử và tích hợp hệ thống các SCs. Chúng tôi đã mất rất
nhiều thời gian tìm tòi và xây dựng phần ánh xạ mô hình dữ liệu (Data Model) từ nhiều
SCs về mô hình lĩnh vực (Domain Model) của SmartIntegrate cho đồng nhất.

2. Phần hiện thực đồng bộ dữ liệu (Data Synchronization) giữa các SCs với SmartIntegrate
cực kỳ phức tạp. Một ví dụ điển hình là khi SmartIntegrate lấy Orders về từ các SCs thì
các Orders này có thể được chỉnh sửa ở trên websites của SCs và cũng như trên
SmartIntegrate, có Orders sửa lúc chưa vận chuyển và lúc đã vận chuyển. Còn có trường
hợp 1 Order đã được lấy về SmartIntegrate từ 1 SC, sau đó nó được cắt (Order Spliting)
ra thành nhiều Sub-Orders trên SC đó để vận chuyển nhiều lần vì chưa có đủ Products để
mà có thể vận chuyển 1 lần duy nhất… Việc đồng bộ dữ liệu giữa Carriers/Accounting
Softwares với SmartIntegrate thì đỡ hơn SCs 1 tí những cũng rất phức tạp.

3. Order có nhiều trạng thái, Shipment cũng vậy và liên quan đến trạng thái của Order nữa,
đem tổ hợp 2 phần tử này lại cho ra rất nhiều trạng thái phải xử lý, rất dễ sai sót.

4. Rất là tốn thời gian chạy kiểm tra SmartIntegrate sau khi lập trình xong một tính năng nào
đó vì liên quan đến tùm lum hệ thống bên ngoài, phải đăng nhập rất nhiều trang web, coi
dữ liệu nhiều nơi, so sánh tùm lum thứ, rất là dễ sai. Phương pháp kiểm tra tự động
(Automation Test) trong ngữ cảnh này cũng không là 1 giải pháp tốt.

5. Các SCs, Carriers, Accounting Softwares chưa hỗ trợ REST, phải xài SOAP -> lại gặp ác
mộng với 1 núi XML. Cũng hên là sau đó một số SCs chuyển dần từ SOAP qua REST.
Tuy nhiên cái thèn eBay lúc ấy vẫn là SOAP, mà eBay APIs siêu khó hiểu và rắc rối kinh
khủng: muốn tạo 1 Order trên eBay phải chạy...10 APIs với 1 đống XML trong khi trên
Channel Advisor & Magento chỉ cần 2 APIs.

6. Vấn đề tìm nhân lực full-time Fresher Developers.

Sau khi hoàn thành MVP, chúng tôi tiếp tục lên kế hoạch tích hợp các SCs là eBay, Amazon,
carrier là StarTrack và accounting software là QuickBooks trong các phiên bản tiếp theo.

Page 120
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Trong quá trình làm sản phẩm SmartIntegrate, có giai đoạn căng thẳng quá tôi đã bỏ hết mọi
thứ, xách ba lô lên đi bụi đến Campuchia qua Lào rồi vòng về Việt Nam, thật là thư giãn.
Angkor – Campuchia

Pakse – Lào

Page 121
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

17) Dự án Awesm (USA)

Đầu năm 2015, tôi vào làm ở công ty Nash Tech, chi nhánh gia công phần mềm tại Việt Nam
của tập đoàn Harvey Nash (chuyên về mảng Head Hunt). Tại đây tôi gặp lại chị Loan (từng
làm chung trong dự án SCS ở công ty TMA năm 2004) đang làm CTO của Nash Tech.
Tôi tham gia vào nhóm SWAT (trong phim Mỹ thì SWAT là đội phản ứng nhanh) chuyên hỗ
trợ các dự án IT đang gặp vấn đề.

Khi đó Nash Tech có 1 khách hàng rất lớn tên là Unified, một công ty tech startup của Mỹ
được đầu tư 14 triệu USD vào tháng 06/2012 bên mảng Digital Marketing, đang xây dựng 1
nền tảng dữ liệu lớn (Big Data) cực to tên là Unified Platform (UP) dựa trên vai các người
khổng lồ mạng xã hội như Facebook, Twitter, LinkedIn...
Chức năng chính của UP là thu thập dữ liệu từ các mạng xã hội về lưu trữ rồi xuất ra các báo
cáo (Report), thống kê (Statistics) tổng hợp cho dân Digital Marketers sử dụng. Thật ra các
mạng xã hội cũng có làm các báo cáo, thống kê riêng của họ, tuy nhiên các báo cáo, thống kê
đó không đáp ứng được những nhu cầu cao cấp hơn của Digital Marketers bằng UP.

Unified mở 1 trung tâm phát triển bên ngoài (Offshore Development Center – ODC) tại
Nash Tech, có nghĩa là Nash Tech sẽ tuyển nhân lực IT theo yêu cầu của Unified. Những
người này sẽ ngồi tại văn phòng của Nash Tech ở Việt Nam làm việc từ xa cho Unified thông
qua mạng riêng ảo (Virtual Private Network – VPN). Về mặt luận lý thì những người này là
nhân viên của Unified làm chung dự án với các nhân viên khác của Unified ở Mỹ và trên thế
giới, nhưng về mặt vật lý thì họ là nhân viên của Nash Tech do Nash Tech tự tuyển vào, ký
hợp đồng lao động theo Luật pháp Việt Nam.
Tôi được cử vào Unified ODC ở Nash Tech để hỗ trợ 1 sản phẩm tên là Awesm được Unified
mua lại từ 1 tech startup của Mỹ (cũng tên là Awesm).

Tech startup Awesm (chơi chữ trên từ tiếng Anh “awesome” có nghĩa là tuyệt vời) được đầu
tư 1 triệu USD (Seeding round) vào tháng 12/2010 để xây dựng sản phẩm công nghệ Awesm
dựa trên 2 mạng xã hội lớn là Facebook/Twitter cho dân Digital Marketers với ý tưởng chính:
 Từ 1 vị trí định danh tài nguyên chuẩn (Uniform Resource Locator – URL) dài của 1
trang web hay ho nào đó, Awesm sẽ tạo ra 1 link ngắn (Short Link) có dạng
“awe.sm/xxy126” (domain “awe.sm/” + 1 chuỗi được sinh ra ngẫu nhiên).

Page 122
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

 1 Digital Marketer D nào đó sẽ đem short link “awe.sm/xxy126” này share trên
Facebook/Twitter của D
 Bạn của D trên Facebook/Twitter bấm vào short link trên, họ sẽ được đưa qua hệ thống
Awesm rồi về URL dài ban đầu, Awesm sẽ đếm đã có 1 click trên short link trên.
 D vô phần quản trị của Awesm sẽ thấy được báo cáo, thống kê của các short links mà D
đã tạo ra và chia sẻ trên Facebook/Twitter để biết được những short links nào được nhiều
người quan tâm/tương tác.
 Nếu URL dài là 1 trang web thương mại điện tử, Awesm sẽ tính được luôn tỉ lệ chuyển
đổi (Conversion Rate) cho D, đây là 1 thông số bên mảng Data Analytics.

Với sự thành công ban đầu của sản phẩm Awesm, tháng 12/2011, startup Awesm gọi vốn
thành công vòng Early VC (Venture Capital) thêm 4.3 triệu USD để phát triển thêm các tính
năng đột phá thị trường để rồi đến tháng 5/2014, startup Awesm được Unified mua với giá
không được công bố, nhưng theo định giá thì startup Awesm có giá từ 17 – 26 triệu USD.

Unified mua startup Awesm với mục tiêu tích hợp sản phẩm Awesm vô UP của họ. Sau khi
mua xong Awesm, họ mời 1 ông Technical Director (TD) của Oracle tên Will về làm TD để
vừa làm trên sản phẩm UP vừa nắm sản phẩm Awesm để tích hợp vào UP. Tuy nhiên đến
tháng 2/2015 mà ông này vẫn chưa tích hợp được gì bởi vì các lý do sau:
 Không giữ được bất cứ Software Developer nào cũ của startup Awesm và tài liệu của sản
phẩm rất ít lại rời rạc nên không ai hiểu rõ bên trong hệ thống Awesm hoạt động ra sao.
 Vận hành và troubleshoot hệ thống Awesm tốn rất nhiều thời gian và công sức do môi
trường production không có tài liệu đặc tả cách triển khai.
 Công việc bên Unified quá nhiều, ông Will không có nhiều thời gian cho vụ tích hợp.

Vì vậy ông Will mới đẩy cục Awesm này về Unified ODC ở Nash Tech và tôi là người hứng
nguyên đống bùi nhùi khổng lồ này 😂.
Trong buổi phỏng vấn vô dự án Awesm, ông Will hỏi tôi tùm lum thứ trên trời dưới đất suốt
90‟ với cái giọng New York của ổng hơi bị khó nghe, mà ổng lại vừa nói nhanh vừa nuốt chữ
nhiều nữa chớ, cũng may tôi có vài năm làm việc trong công ty nói tiếng Anh ở Canada nên
từ từ cũng ổn, nhưng thiệt là khá đuối với ổng luôn. Phỏng vấn xong là 11h30 sáng, tôi định
ra ngoài kiếm gì ăn trưa trong khi ông Will phỏng vấn tiếp 1 bạn Senior Developer của Nash
Tech tên Hà để vô dự án Awesm làm chung với tôi.

Page 123
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Nhưng tôi vừa định đi thì thấy ông Will đặc tả bài toán trong 2‟ mà Hà không hiểu nổi do
nghe không ra những gì ông ấy nói, thế là tôi phải ở lại vẽ lên bảng bài toán, xong làm thông
dịch viên bất đắc dĩ cho họ 😅. Và rồi ông Will cũng nhận Hà vô dự án Awesm.
Thế là Awesm team chính thức được lập trong Unified ODC ở Nash Tech với 2 thành viên
ban đầu: tôi và Hà. Nhiệm vụ đầu tiên của team tôi là thực hiện kỹ thuật đi ngược (Reverse
Engineering), để hiểu được hệ thống Awesm đang hoạt động thế nào.
Những khó khăn mà team tôi đã gặp phải với dự án Awesm:
 Kiến thức lĩnh vực Digital Marketing, Short Link
 Quá nhiều dự án con: 30+ Github projects. Các modules này được viết trên nhiều ngôn
ngữ lập trình: Ruby, PHP, Java, Javascript với nhiều công nghệ mới như Dropwizards,
Snowflake (của Twitter), RabbitMQ, Memcached, Riak, Redis.
 Tài liệu của dự án quá ít, rời rạc, viết không chi tiết, chủ yếu là viết kiểu ghi chú dạng
gạch đầu dòng (Bullet Point) để Software Developers cũ đọc chứ không dành cho người
ngoài dự án đọc. Đây cũng là điều dễ hiểu bởi tính chất của tech startup là phải phát triển
nhanh, hầu như không có thời gian nhiều đầu tư cho việc viết tài liệu.
 Quá nhiều servers: các modules được triển khai lên tổng cộng 150 AWS (Amazon Web
Services) EC2 instances, và cũng không hề có tài liệu đặc tả mô hình triển khai thế nào.

Sau cỡ 3 tháng mò mẫm đọc tài liệu, vọc code, UI, thì chúng tôi vẽ được Development View:

Page 124
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Hình trên chỉ thể hiện những modules chính của Awesm, cỡ 12 Github projects.
 Các modules màu xanh lá cây là các giao tiếp lập trình ứng dụng (Application
Programming Interface – API) hoặc các thành phần xử lý thông điệp (Message
Consumer) từ các hàng đợi (Queue) màu đỏ.
 Các modules màu hồng nhạt là các tiến trình ngầm (Background Process) để xử lý các
luồng nghiệp vụ hoặc dữ liệu.
 Quan hệ và tương tác giữa các modules khá là phức tạp và rắc rối, đã vậy còn theo mô
hình tích hợp bằng thông điệp (Messaging Integration), 1 trong 4 phương pháp tích hợp
hệ thống (System Integration), có tính chất xử lý bất đồng bộ (Asynchronous
Processing) nên cực kỳ khó debug.

Vào khoảng tháng 5/2015, nhóm bạn đồng môn trường Lê Hồng Phong, viết tắt là LHPers, rủ
tôi đi Nhật thưởng thức hoa Anh Đào, thế là tôi tranh thủ xin vài ngày nghỉ phép mần 1
chuyến cho biết và xả sì-chét.
Hoa Anh Đào ở núi Phú Sĩ, Nhật Bản

Page 125
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Mỗi lần đi du lịch về là đầu óc tôi rất thoải mái, sảng khoái hẳn ra, năng lượng được nạp lại
đầy đủ, sẵn sàng để cày cuốc tiếp.
Bước tiếp theo là ông Will muốn team tôi chuyển 1 module viết bằng Ruby & 1 module viết
bằng PHP sang Java và bắt đầu vọc trên môi trường production để hiểu cách các modules
được triển khai.

Hai modules Ruby & PHP này được phát triển đầu tiên khi startup Awesm bắt đầu. Họ chọn 2
ngôn ngữ này có lẽ họ muốn ra sản phẩm nhanh và team của họ khi đó có kiến thức/kinh
nghiệm trên 2 ngôn ngữ này. Những modules khác, sau khi họ gọi được vốn đầu tư, được phát
triển trên nền tảng Java, có thể họ mong muốn sự ổn định. Vì thế, việc ông Will muốn chuyển
2 modules trên sang Java cũng là bước đầu trong kế hoạch tạo sự đồng nhất và ổn định cho
sản phẩm Awesm trước khi tích hợp vào UP.

Việc vọc trên môi trường production với 150 AWS servers có vẻ quá khả năng của team tôi
khi ấy, cho nên SWAT team của Nash Tech đã cử 1 bạn SWAT tên Phú chuyên về DevOps
vô hỗ trợ team tôi bán thời gian (part-time). Phú có kiến thức DevOps rất tốt và kinh nghiệm
khá nhiều, từng quản lý 200+ servers của vnexpress.net, một trong những trang báo điện tử
lớn nhất Việt Nam. Đây là một sự bổ sung rất cần thiết và đúng thời điểm cho team tôi.

Thật là một thử thách không hề nhỏ cho team tôi, vốn là dân Java và không ai có kiến
thức/kinh nghiệm về Ruby & PHP, khi đọc code Ruby & PHP để suy đoán nghiệp vụ, logic
rồi xây dựng lại giống vậy ở 2 modules mới bằng Java. Quá trình chuyển đổi này ngốn team
tôi cũng khá nhiều thời gian và công sức.
Trong thời gian làm việc chuyển đổi nền tảng, tôi vẫn tiếp tục tìm hiểu tiếp các tính năng
(Features & User Stories) của toàn bộ sản phẩm Awesm cùng với sự hỗ trợ đắc lực của Phú đi
mò các kết nối giữa các AWS Instances trên môi trường production để lên được danh sách
thông tin chi tiết, tình trạng các AWS Instances cũng như những modules nào đang chạy trên
mỗi instance, chi phí cho toàn bộ instances (ước tính cỡ 90k$/1 năm, cũng khá chát).

Tính năng nổi bật nhất của Awesm mà tôi mất nhiều thời gian và công sức nhất để hiểu được,
chắc cũng là tính năng giúp Awesm gọi vốn Early VC thành công, chính là Dark Social (có
thể tạm dịch là Xã hội đen 😎 ). Mới nghe cái tên thì đã gợi ra cái gì đó tiêu cực, nhưng
không, đây là 1 khái niệm rất hay. Ý tưởng như sau:
 1 người A chia sẻ 1 URL nào đó (ví dụ: http://adtmag.com) trên Facebook/Twitter.

Page 126
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

 Bạn Facebook/Twitter của A bấm vô URL đó thì Facebook/Twitter đếm được số lượng
bấm (Click) của URL này xảy ra trên Facebook/Twitter.
 Nếu bạn của A thấy URL này hay quá, họ gửi URL tiếp cho bạn của họ là C,D,E qua
SMS, emails hay các kênh khác ngoài Facebook/Twitter.
 Khi C,D,E bấm vô URL nhận được thì số lượng clicks này sẽ không được
Facebook/Twitter tính vì 2 mạng xã hội này không hề biết vụ chia sẻ này.
 Nếu A chuyển URL sang short link của Awesm rồi mới chia sẻ lên Facebook/Twitter
(thay vì chia sẻ trực tiếp URL) thì Awesm sẽ đếm được số clicks của C,D,E xảy ra bên
ngoài Facebook/Twitter luôn.

Tính năng Dark Social được hiện thực dựa trên 1 khái niệm rất là nhũn não: Potential Share.
Hiểu được khái niệm này chính là chìa khóa để hiểu được tính năng Dark Social. Sau khi tốn
khá nhiều nơ-ron để hiểu được khái niệm này thì tôi phải thành thật công nhận người đưa ra
được khái niệm này rất ư là tuyệt vời.

Để hiểu được giá trị của Dark Social đem lại thế nào cho Digital Marketers, xem thử 1 ví dụ
có tính định lượng sau:
 1 Digital Marketer A có 1 URL X chia sẻ trên Facebook được 100 clicks sau 1 ngày.
 Trong các bạn A đã click trên X, họ gửi X qua emails cho bạn của họ thì X đã được click
thêm 900 lần.
 Như vậy thực tế là URL X đã được click 1000 lần. Tuy nhiên A chỉ thấy X được 100
clicks trong phần Facebook Admin, 900 clicks kia A không hề biết.
 Giả sử sếp của A giao chỉ số năng lực chính (Key Performance Indicator – KPI) cho A
là phải đạt được 1000 clicks cho X và giá của 1 click mà A phải trả cho Facebook là
0.1$/click -> A được cấp ngân sách là 100$.
 Quay lại tình huống trên, để được 1000 clicks thì A có thể chờ thêm 9 ngày nữa hoặc chia
sẻ thêm các bài khác có chứa X -> cuối cùng để được 1000 clicks thì A sẽ tốn hết 100$ và
thời gian là hơn một ngày.
 Nếu A sử dụng tính năng Dark Social của Awesm thì chỉ mới 1 ngày thì A đã đạt được
ngay 1000 clicks và chỉ tốn cho Faceboo 10$ (cho 100 clicks trên Facebook), còn lại 90$
hiển nhiên A sẽ trích ra 1 ít trả cho dịch vụ của Awesm -> A sẽ không bị mất hết 100$ và
đạt được KPI chỉ sau 1 ngày.

Page 127
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Nếu mà nghe ai nói ý tưởng Dask Social từ đầu thì sẽ thấy đơn giản, dễ hiểu, nhưng đi ngược
lại từ đuôi (phần hiện thực - implementation), cực kỳ phức tạp liên quan đến cả đống modules
& RabbitMQ queues, để lần mò ra hiểu được ý tưởng thì không hề đơn giản tí nào.
Khi vừa bắt đầu chạy thử 2 modules mới xây xong để đánh giá, kiểm tra xem thế nào thì 1 tin
khá sốc xảy đến với team tôi: Ông Will bị Unified cho nghỉ, Unified mời 1 ông mới tên là
Shawn về làm CTO, quản lý cả 2 sản phẩm UP, Awesm.

Ông Shawn vừa vào Unified là cho team tôi ngưng ngay việc chuyển đổi 2 modules kia sang
nền tảng Java, tuyển thêm khá nhiều người vào team tôi đảm nhiệm đủ vai trò của 1 Scrum
team: BA, FE developers, BE developers, QCs, DBAs, còn bên Unified ở New York thì tuyển
1 Product Manager mới tên là Evan vào quản lý sản phẩm Awesm, bắt đầu việc tích hợp sản
phẩm Awesm vào UP ngay và luôn (tính năng Dark Social đóng vai trò chính yếu), đồng thời
tìm giải pháp cắt giảm chi phí cho AWS instances (tắt các instances không còn xài hoặc
không chứa modules quan trọng cho việc tích hợp…) của Awesm.

Chài, thay đổi thật sự hơi đột ngột nhưng được cái theo hướng có vẻ tích cực hơn, trong khi
chưa biết tình hình sắp tới sẽ ra sao thì đám LHPers lại rủ đi Hàn Quốc ngắm mùa thu, ok la,
tôi liền đu theo đi thư giãn tí để nạp lại năng lượng chuẩn bị chiến đấu với thử thách mới.
Đảo Nami, Hàn Quốc, nổi tiếng với bộ phim “Bản tình ca mùa đông”

Page 128
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Ngay khi vừa ổn định nhân lực mới cho team tôi cũng như 1 phần nhân lực từ sản phẩm UP
trong Unified ODC hỗ trợ cho việc tích hợp, ông Shawn cùng với 1 bà COO & 1 Engineering
Manager sang thăm Unified ODC. PM (Project Manager) của Unified ODC tại Nash Tech
đã tiếp đón các sếp Unified rất nồng hậu, vui vẻ với 1 buổi party hoành tráng kickoff dự án
tích hợp Awesm & UP.

Tới thời điểm này thì tôi gần như hoàn tất việc Reverse Engineering: vẽ được Logical View,
Development View, Process View, phân chia được Features/User Stories, chỉ còn cái Physical
View (chưa vẽ nổi nhưng Phú đã liệt kê xong danh sách chi tiết các instances). Cho nên sẵn
dịp các sếp Unified có mặt ở Nash Tech, tôi đã thuyết trình chia sẻ toàn bộ kiến thức về sản
phẩm Awesm cũng như demo tương ứng, ông Shawn cực kỳ hứng thú với tính năng Dark
Social & khái niệm Potential Share vì ông Shawn mới vào Unified, khi nhận nhiệm vụ quản
lý sản phẩm Awesm chắc ông Shawn chỉ mới biết qua ý tưởng tổng quan này mà chưa biết
được nó được hiện thực cụ thể ra sao và chạy trong thực tế thế nào.

Khi các sếp Unified trở về lại New York thì team tôi cũng lao vào thực hiện việc tích hợp
Awesm vào UP cho đến cỡ tháng 4/2016 thì xong được giai đoạn 1, đã tích hợp xong những
phần cốt lõi. Tôi cũng hoàn thành việc vẽ cái Physical View của Awesm, phức tạp khủng
khiếp với toàn bộ 150 AWS Instances, ngốn của tôi hết 1 tháng trời.

Page 129
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tháng 4/2016 cũng là lúc Unified tổ chức sự kiện gọi là “Strategic Planning Meeting” diễn ra
2 lần/năm để cho tất cả các nhóm chủ chốt của Unified thảo luận lên kế hoạch chiến lược phát
triển các sản phẩm của startup (tổng cộng 4 sản phẩm, trong đó có phần tích hợp Awesm &
UP). Thế là Unified mời tôi và Tín (TL dự án UP của Unified ODC ở Nash Tech) qua văn
phòng của Unified ở New York trong 2 tuần vừa công tác vừa tham gia sự kiện luôn.

New York, USA, chỗ này đã xảy ra sự kiện 11/9

Được làm việc ở văn phòng và tham gia “Strategic Planning Meeting” của startup triệu đô là
một trải nghiệm tuyệt vời của tôi. Môi trường làm việc của Unified thân thiện, rất là thoải
mái, trang trí khá đẹp, có war room cho mọi người vô đó tranh luận nảy lửa, có hình vẽ về
thiết kế nằm rải rác khắp nơi trên kiếng, trên tường… đúng tinh thần của startup. Có 1 điểm
đặc biệt là cứ đến chiều cỡ 5PM là nhiều nhân viên Unified mở tủ lạnh (chứa mấy chục loại
bia khác nhau sản xuất ở Mỹ) lấy mỗi người 1 chai ra phòng thư giãn vừa cụng chai vừa bàn
luận công việc thay vì ngồi trên máy tính/trong phòng họp. Tôi cũng đã uống thử vài chai bia
địa phương của Mỹ, có vài loại vị hơi kỳ, rất ư là khó uống, một số loại thì uống cũng ngon.

Page 130
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Khi vào giai đoạn “Strategic Planning Meeting” diễn ra suốt 1 tuần từ thứ 2 đến thứ 6, mỗi
ngày Unifieders họp từ 9h sáng đến 6-7h tối theo nhiều chủ đề khác nhau, các người thuyết
trình nói ào ào như gió (kỹ năng thuyết trình tuyệt đỉnh), dân chúng ở dưới nghe xong ai cũng
giơ tay phát biểu, trao đổi, tranh luận nảy lửa nhưng mang tính tích cực, trên tinh thần xây
dựng. Riêng tôi và Tín là khách mời, tham gia 1 phần nhỏ trong các sản phẩm của Unified
nên cũng chỉ phát biểu một vài câu chứ không nói nhiều như những người còn lại.

Phần thuyết trình ấn tượng nhất với tôi là của ông Shawn CTO. Theo tôi xem trên LinkedIn
về profile của ông Shawn thì ông này đã kiêm qua rất nhiều vai trò từ kỹ thuật (CTO) cho đến
giám đốc quản lý (Managing Director), đã đầu tư (Funding), xây dựng (Building), mua & bán
(Buying & Selling) các công ty công nghệ khá lớn trên thế giới. Những kế hoạch ông Shawn
trình bày đều dựa trên những dữ liệu thực tế từ nghiên cứu thị trường (Market Research), từ
team Marketing/Sales, từ team Data Science, các công thức tính toán chi tiết khá phức tạp gắn
liền với các mục tiêu tăng trưởng của công ty & chỉ số lợi nhuận trên đầu tư (Return On
Investment – ROI). Lúc này tôi đoán ra một phần nguyên nhân mà ông Will bị Unified cho
nghỉ việc có lẽ là chưa quan tâm đúng mức đến cái ROI: kế hoạch của Will là bỏ chi phí làm
cho sản phẩm Awesm đồng nhất qua nền tảng Java (thuần túy kỹ thuật mà chưa đem lại lợi
ích kinh doanh) trước khi tích hợp vô UP dẫn đến thực tế là Unified đầu tư mua Awesm gần
cả năm mà chưa thu lại được gì. Vì thế ông Shawn vừa về là cho làm phần tích hợp ngay để
dự định bán dịch vụ của UP đi kèm với tính năng công thêm (Addon) Dark Social của
Awesm.

Cũng trong chuyến đi này, tôi đã có dịp chia sẻ trực tiếp với một số nhân viên Unified về toàn
bộ nghiệp vụ, các lược đồ, Features/User Stories, các chi tiết thiết kế, kỹ thuật, tài liệu của
Awesm mà team tôi đã tìm hiểu và làm được. Họ rất cảm kích và đánh giá cao những nỗ lực
của team tôi đả bỏ vào sản phẩm Awesm của họ.

Sau chuyến công tác này về, team tôi tiếp tục thực hiện thêm một số tính năng mới cho phần
tích hợp cỡ vài tháng nữa thì đóng gói cho Unified tung ra chào hàng cho khách hàng của họ.

Page 131
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

18) Dự án UP (USA)

Phần tích hợp Awesm vào UP kết thúc cũng là lúc team tôi chuyển qua làm dự án UP chung
với team của Tín và hỗ trợ bảo trì phần tích hợp khi cần.

Tranh thủ thời gian hè, tôi lại bay nhảy cùng nhóm LHPers vài ngày qua đất nước Thái Lan ở
2 nơi là Bangkok và Pattya. Đây có thể xem là chuyến xuất ngoại đầu tiên của tôi sau khi
“vào lồng” ở tuổi 36. Từ đây tôi có thêm người sát cánh cùng tôi khám phá thế giới.
Pattaya – Thailand

Sản phẩm UP được xây dựng trên kiến trúc micro-services, một công nghệ mới nổi khi ấy, và
công nghệ Big Data với framework nổi tiếng là Hadoop.

Ý tưởng của UP là đi gom dữ liệu của hầu như tất cả mạng xã hội lớn (Facebook, Twitter,
LinkedIn…) để xử lý rồi cung cấp các thông tin, những gợi ý có giá trị cho Digital Marketers
giúp họ đưa ra những quyết định về đầu tư cho việc quảng cáo trên các mạng xã hội.

Page 132
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Development View_Component Model của sản phẩm UP như sau:

Unified sử dụng kiến trúc micro-services cơ bản với 1 API Gateway micro-service làm nhiệm
vụ định danh (Authentication), sử dụng nền tảng quản lý truy cập OpenAM, các truy cập từ
bên ngoài vào các micro-services bên trong. Các micro-services của UP được triển khai trên
khoảng 100 AWS instances.

Phần phức tạp nhất của UP chính là bộ thu thập dữ liệu (Data Collector) từ các mạng xã hội
(và hệ thống Awesm khi phần tích hợp được thực hiện), sau đó dữ liệu đi qua 1 ống dữ liệu
(Data Pipeline) được hiện thực bởi các frameworks Spark và Hadoop trước khi được đổ vào
cở sở dữ liệu AWS Redshift.

Các ngôn ngữ lập trình được sử dụng trong UP:


 Go (hoặc Golang): cung cấp các APIs hiện thực các luồng nghiệp vụ chính cho phần
tương tác với người dùng.
 Java: hiện thực phần thu thập và xử lý dữ liệu bên dưới hệ thống.
 Ruby: cung cấp APIs hiện thực phần trích xuất và xử lý các báo cáo, thống kê để hiển thị
cho người dùng.

Ngoài ra ở phía Frontend, framework nổi tiếng ReactJS của Facebook được sử dụng trên nền
ES5. Kiến trúc Fluxxor hỗ trợ việc quản lý trạng thái của UIs và ứng dụng.

Page 133
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tháng 8/2016, Unified tổ chức sự kiện “Strategic Planning Meeting” lần 2 trong năm 2016,
tôi và Tín lại được mời tham dự tiếp. Thế là hai anh em đi công tác 2 tuần nữa, nhưng lần này
chúng tôi trải nghiệm nhiều hơn ở New Jersey trong thời gian ngoài công việc.

Cũng giống như lần trước, các cuộc họp lần này cũng diễn ra với mật độ dày đặc và liên tục
suốt 1 tuần từ thứ 2 đến thứ 6. Lần này thì các chủ đề về kỹ thuật được thảo luận nhiều hơn.
Trong đó có 1 ngày rất nổi bật là nguyên nhóm kỹ thuật + CTO + COO tham gia thảo luận,
tranh luận sôi nổi 1 chủ đề suốt cả ngày, đó là: phân quyền (Authorization) trên hệ thống UP.
Chỉ có ngày này là chúng tôi tham gia thảo luận được nhiều nhất so với các ngày khác.

Kết thúc chuyến công tác lần 2 này, tôi trở lại Nash Tech làm với team tôi được vài tháng thì
tôi rút khỏi Unified ODC, quay về lại với SWAT team. Việc tham gia 2 dự án Awesm & UP
giúp tôi học hỏi được rất nhiều kiến thức cũng như tích lũy thêm nhiều kinh nghiệm quý giá
trong việc phát triển các tech products lớn.

Tiếp đó, tôi đã hỗ trợ thêm 2 dự án khác ở Mỹ bên mảng Digital Marketing (nền tảng cho
người online xem video quảng cáo được trả tiền) & Social Services (hệ thống quản lý các
tiệm làm móng tay ở Mỹ) trước khi rời Nash Tech để tìm kiếm thử thách khác.

Page 134
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Dịp cuối năm 2016, một chú đệ rủ tôi đi phượt Philippines chơi, thế là tôi tiếp tục lên đường
khám phá đất nước Philippines qua 4 điểm: El Nido, Manila, Puerto Princesa, và Tagaytay.
El Nido – Philippines

Tagaytay – Philippines

Page 135
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

19) Dự án P4SVVN (Vietnam)

Trước khi tôi tham gia hỗ trợ dự án Awesm thì SWAT team có phân công tôi hỗ trợ 1 dự án
nhỏ khác cho khách hàng là công ty Struts của Úc có liên quan đến công nghệ Java. Dự án đó
cần thêm Java Developers. Công ty Nash Tech giới thiệu 5 Java Developers từ 1-2 năm kinh
nghiệm đang ngồi trong hàng đợi (Bench) của nhánh Java trong công ty (tức là những bạn
này đang rãnh, chưa có tham gia dự án nào) cho tôi phỏng vấn thử trước, nếu bạn nào vượt
qua được thì sẽ giới thiệu cho khách hàng phỏng vấn. Kết quả là các bạn chỉ đạt được 1/5 &
2/5 điểm phỏng vấn nên không ai được giới thiệu cho khách hàng phỏng vấn tiếp.

Chị Loan nhận được kết quả này thì chị ấy đã trách tôi là phỏng vấn khó quá thì sẽ không có
người để tham gia dự án cho team tôi đang hỗ trợ đâu. Tôi cũng chia sẻ thật lòng với chị ấy là
tôi không hề khó khăn trong phỏng vấn. Tôi chỉ hỏi những kiến thức nền tảng chứ không có gì
cao siêu, và hỏi bằng tiếng Việt chậm rãi mà các bạn còn trả lời không ổn thì khi phỏng vấn
với khách hàng họ hỏi chuyên sâu hơn và nói bằng tiếng Anh nữa thì các bạn sao trả lời nổi.

Đến khi tôi tham gia dự án Awesm được 2-3 tháng (tức là cách thời điểm tôi phỏng vấn 5 bạn
đó cỡ 4-5 tháng) thì họ vẫn chưa được dự án nào nhận, vẫn tiếp tục ngồi trên Bench chờ…
Rồi 2/5 bạn nghỉ Nash Tech, còn lại 3 bạn ngồi chờ tiếp… Thấy cũng tội nên tôi đã kêu họ lại
lập 1 nhóm, đưa cho 1 dự án nhỏ tôi đã làm trước kia để họ làm lại từ A-Z dưới sự mentor của
tôi nhằm mục đích giúp họ củng cố nền tảng IT, tăng kiến thức và kinh nghiệm thực tế làm
phần mềm. Mỗi tuần tôi họp nhóm một lần để chỉnh sửa cho họ. Cứ thế sau 3 tháng thì trình
độ họ tăng đáng kể và đã được nhận vô các dự án của các khách hàng ở Châu Âu.
Từ đây tôi nhận ra là các bạn chịu khó suy luận logic, chịu cày và kiên trì, chỉ cần củng cố
nền tảng IT, chỉ hướng đi, chỉ tài liệu phù hợp cho họ, và cho họ thực hành trên dự án thực tế
rồi theo chỉnh sửa những sai sót của họ thì họ sẽ đáp ứng yêu cầu của công việc thực tế thôi.

Trong thời gian tham gia dự án Awesm & UP, tôi cũng đã hỗ trợ Nash Tech phỏng vấn rất
nhiều bạn trẻ IT mới ra trường hoặc có 1-2 năm kinh nghiệm xin vào vị trí Fresher/Junior
Java Developers. Kết quả là số bạn đạt yêu cầu chỉ đếm trên đầu ngón tay.

Qua trải nghiệm tiếp xúc với các sinh viên IT cũng như phỏng vấn các ứng viên mới ra trường
hoặc có tí kinh nghiệm làm việc tính từ lúc về Sài Gòn, tôi thấy hầu hết các bạn đều không có
được kiến thức nền tảng IT vững, chỉ lo chạy theo công nghệ nên giống như xây nhà từ nóc.

Page 136
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Khó khăn nhất là các bạn sinh viên IT phần lớn không có được một định hướng rõ ràng cho
nghề tương lai nên không biết nên tập trung thời gian và công sức học những gì, theo thứ tự
nào để ra trường tìm được việc làm phù hợp nhanh hơn.

Đầu năm 2017, ăn Tết Ta xong tôi đã nghỉ Nash Tech để vừa xây dựng chương trình mentor
mà tôi đã có bước đầu thành công với các bạn ở Nash Tech bài bản hơn, vừa đi chia sẻ kiến
thức/kinh nghiệm của tôi cho các bạn IT trẻ trong cộng đồng và cũng tìm cơ hội làm tech
startup tiếp.

Ngay khi nghỉ việc, vợ chồng tôi đã tranh thủ đi phượt Myanmar khám phá quốc gia này ở 2
điểm là Bagan và Yangon.
Bagan – Myanmar

Tình cờ tham gia 1 sự kiện về chia sẻ kinh nghiệm du học, tôi gặp 1 anh bạn trẻ tên là Eric
(tên tiếng Việt là Ngọc Anh), dân đầu 9X, đã từng du học Úc rồi về Việt Nam khởi nghiệp.
Eric đã thành lập và điều hành 1 công ty ở Việt Nam chuyên hỗ trợ các học sinh Việt Nam lúc
mới sang nước ngoài du học có thể hòa nhập tốt nhất vào môi trường mới. Công ty này đã
hoạt động được 4-5 năm, mở rộng thị trường ra 6 nước, cũng đi vào ổn định.

Page 137
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Tiếp đến, Eric muốn mở 1 tech startup tên là 4SV (For Students of Vietnam, nghĩa là Vì Sinh
Viên Việt Nam) với ý tưởng xây dựng 1 nền tảng công nghệ hỗ trợ sinh viên Việt Nam trong
nước định hướng nghề nghiệp, nâng cao kiến thức và tích lũy kinh nghiệm thực tiễn để ra
trường có thể xin được việc làm phù hợp sớm. Startup 4SV sẽ được đầu tư bởi các nhà đầu tư
thiên thần (Angel Investor).
Thấy tôi có kinh nghiệm làm tech startup, Eric mới mời tôi tham gia 4SV với vai trò CTO &
Co-founder (đồng sáng lập). Tôi nhận thấy ý tưởng này rất hay, đem lại giá trị lớn cho sinh
viên Việt Nam, và cũng có liên quan đến chương trình mentor tôi đang xây dựng cho sinh
viên IT, vì thế tôi đã đồng ý tham gia 4SV với Eric.

Một lần nữa tôi lại bắt tay vào xây dựng đội ngũ công nghệ cho 1 tech startup từ con số 0.
Việc này làm tôi tốn rất nhiều thời gian và công sức để tìm các đồng đội phù hợp thông qua
hầu như mọi kênh tôi sử dụng được: mạng lưới bạn bè của tôi, LinkedIn, các Facebook
groups về sinh viên IT, các trang tuyển dụng IT có uy tín... Cuối cùng tôi cũng xây dựng được
1 Scrum team tối thiểu để có thể bắt tay vào phát triển 1 nền tảng công nghệ tên là P4SVVN.

Trước khi bước vào giai đoạn cày cuốc bất kể buổi tối hay cuối tuần do tính chất của tech
startup, tôi đã tranh thủ cùng vợ tôi lên kế hoạch và thực hiện 1 chuyến phượt lịch sử qua 9
thành phố của 5 nước chính ở Châu Âu là France, Netherlands, Spain, Italy, và Germany kéo
dài trong suốt 21 ngày.
Paris – France

Page 138
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Amsterdam – Netherlands

Barcelona – Spain

Page 139
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Rome – Italy

Berlin – Germany

Page 140
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Logical View_Domain Model của sản phẩm P4SVVN được thể hiện ở hình dưới:

Nền tảng P4SVVN cung cấp các tính năng chính sau:
 Định hướng nghề nghiệp cho sinh viên
 Cung cấp các việc làm giúp sinh viên tăng kiến thức, phát triển kỹ năng mềm và tích lũy
kinh nghiệm thực tế
 Hỗ trợ sinh viên ứng tuyển việc làm
 Tổ chức các sự kiện cho sinh viên tham gia học hỏi thêm
 Kết nối sinh viên với các mentors

Nếu tôi nhớ chính xác thì từ khi học Master ở Canada, tôi đã bắt đầu một thói quen cũng hơi
mất thời gian nhưng khá tốt là thường xuyên tổng hợp những kiến thức & kinh nghiệm mình
đã học & làm được để khi cần thì xài lại, chứ càng thêm tuổi thì sẽ càng quên.

Nhờ vậy từ lúc vọc vô Spring và Hibernate frameworks, tôi đã tự xây dựng nên 1 Web
Application mẫu dựa trên 2 frameworks này, chứa hầu hết những tính năng phổ biến nhất của
1 phần mềm cũng như các giải pháp kỹ thuật thường dùng nhất.

Page 141
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Khi tôi làm 1 dự án mới cho tôi thì tôi đem Web Application mẫu ra xài, chắc chắn là phải
thêm/thay đổi một số thứ để đáp ứng yêu cầu của dự án, và khi hoàn thành dự án thì tôi lại lấy
những cái mới bổ sung trở lại Web Application mẫu.

Hoặc khi tôi tham gia 1 dự án đã có sẵn mà có giải pháp kỹ thuật nào đó hay ho, xong rồi thì
tôi cũng hiện thực những phần kỹ thuật hay ho đó vào Web Application mẫu luôn.

Cho nên Development View_Architecture Model của P4SVVN đã dựa trên Web Application
mẫu của tôi.

Page 142
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Song song với xây dựng nền tảng P4SVVN, tôi cũng mở 1 chương trình mentor ở 4SV để thu
hút 10 bạn sinh viên IT năm 3,4 vào học và thực tập trên dự án P4SVVN luôn. Kết quả cũng
tương đối tốt khi tôi nhận được 5 bạn vào team tôi làm chính thức.

Cuối năm 2017, vợ chồng tôi cùng gia đình tham gia 1 tour xuyên Taiwan khám phá các
điểm: Kaohsiung, Tainan, Nantou, Taichung, Taipei, và Keelung.

Page 143
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

20) Dự án RMS (Vietnam)

Vừa vào đầu năm 2018, vợ chồng tôi cùng nhóm LHPers đi khám phá quốc gia đông dân nhất
thế giới, Trung Quốc, nổi tiếng với công trình Vạn lý trường thành.

Tiếp đó 1 đứa bạn hồi cấp 3 đi ăn đám cưới bạn đồng nghiệp ở India rủ tôi theo chơi, sẵn dịp
tôi đi theo khám phá India qua các điểm: Kochi, Palakkad, Bodh Gaya và Varanasi.
Bodh Gaya – India

Page 144
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Đến tháng 4/2018, tôi rủ vợ đi phượt 2 nước Indonesia và Brunei, hoàn tất việc khám phá 10
nước trong khu vực Đông Nam Á của tôi.
Monas – Indonesia

Bandar – Brunei

Page 145
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Khoảng tháng 5/2018, khi nền tảng P4SVVN đã chạy ổn định, tôi tham gia vào 1 tech startup
tên là DevNET ở TPHCM của 1 chú đệ tên Quốc tình cờ tôi gặp ở Nha Trang trước đó với vai
trò Tech Product Consultant & Software Architect.

Nhiệm vụ của tôi là tư vấn cho DevNET cách xây dựng 1 Scrum team cũng như tìm nhân lực
phù hợp vào Scrum team để phát triển sản phẩm công nghệ của công ty có tên là RMS
(Referral Marketing System).

Ý tưởng của RMS là giúp các SMEs giảm chi phí marketing rất nhiều đồng thời tăng doanh
thu đáng kể bằng cách xây dựng các mạng lưới cộng tác viên (Affiliate), những người đã trải
nghiệm và đánh giá cao sản phẩm của các SMEs, để họ trực tiếp/gián tiếp đưa sản phẩm đến
các khách hàng tiềm năng, ngược lại họ sẽ được trả công.

Ngoài ra tôi cũng tham gia trực tiếp vào việc phân tích, thiết kế và hiện thực sản phẩm RMS
cùng với các thành viên Scrum team luôn. Cũng giống như giai đoạn đầu làm startup SBS ở
Úc và 4SV, tôi cày cuốc suốt ngày, đôi khi cả đêm và cuối tuần để làm sao ra được phiên bản
MVP càng nhanh càng tốt.

Các tính năng chính của RMS:


 Quản lý các kênh bán hàng (Sales Channel)
 Cấu hình các kênh bán hàng
 Quản lý cộng tác viên (Affiliate)
 Quản lý các mạng lưới cộng tác viên (Affiliate Network)
 Quản lý các trang web được chia sẻ (Shared Link)
 Quản lý khách hàng (Customer)
 Quản lý đơn hàng (Order)
 Quản lý sản phẩm (Product)
 Quản lý hoa hồng (Commission)
 Cấu hình cho các loại hoa hồng

Phần phức tạp nhất của sản phẩm này là mô hình tính hoa hồng cho các cộng tác viên trong
các mạng lưới. Có 2 mô hình: theo Level hay theo Position.

Page 146
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Development View_Architecture Model của RMS cũng dựa trên Web Application mẫu của
tôi, có chỉnh sửa 1 chút.

Chỉ sau 4-5 tháng với 1 Scrum team tinh gọn, RMS đã hoàn thành được phiên bản MVP.

Sau khi hỗ trợ Scrum team ra thêm một vài phiên bản nữa thì tôi cũng đã kết thúc vai trò của
mình ở DevNET vào cuối năm 2018.

Một thời gian ngắn sau tôi cũng rút khỏi 4SV luôn.

Page 147
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

21) Dự án SUPA (Taiwan)

Đầu năm 2019, tôi tham gia vào EZTABLE, 1 tech startup ở Taiwan với sản phẩm công nghệ
cùng tên với công ty là EZTABLE, chuyên cung cấp dịch vụ đặt bàn ở các nhà hàng, khách
sạn khắp châu Á.

CEO của công ty EZTABLE tên là Alex, người Taiwanese, từng du học ở Mỹ về IT, sau đó
chuyển sang học ngành Finance, làm cho các ngân hàng ở phố Wall, New York một thời gian
đến năm 2008 trở về Taiwan khởi nghiệp đầu tiên với EZTABLE. Tính đến đầu năm 2019,
EZTABLE đang ở giai đoạn series C với 3 lần kêu gọi đầu tư với tổng số tiền là 15.3 triệu $.

Tôi đã xây dựng 1 Scrum team tinh gọn cho EZTABLE ở TPHCM, trong đó có vài thành viên
từng làm chung với tôi trong dự án P4SVVN & RMS. Theo kế hoạch mở rộng EZTABLE của
ông Alex, nhiệm vụ của team tôi là nghiên cứu và phát triển các innovative tech products mới
ở thị trường Indonesia.

Sản phẩm công nghệ đầu tiên team tôi làm có tên là SUPA. Cái tên này không phải viết tắt
của các từ nào cả, mà là tên do anh bạn trẻ (U30) Product Manager của EZTABLE bên
Indonesia đặt tựa tựa như chữ “super” của tiếng Anh với ý nghĩa là một cái gì đó tuyệt vời.

Ý tưởng của SUPA là cung cấp 1 nền tảng công nghệ dạng O2O (Online-to-Offline) để các
cửa hàng/nhà bán buôn/bán lẻ (Merchant) đưa lên đó 1 số lượng lớn các phiếu mua hàng
giảm giá (Voucher) cho khách hàng (Customer) của họ mua và thanh toán cho SUPA (phần
Online). Sau đó khi Customers đến cửa hàng của họ (phần Offline) sử dụng sản phẩm thì
Customers sẽ xài dần (Redemption) các Vouchers đã mua, rồi cuối mỗi tuần hoặc tháng, hệ
thống SUPA sẽ hoàn trả (Reimbursement) phần tiền mà Customers đã xài sản phẩm của họ.
Như vậy, Merchants được lợi là bán được thêm nhiều sản phẩm sẽ tăng doanh thu mà không
cần tự đi tìm khách hàng, hiển nhiên Merchants cũng phải giảm lợi nhuận 1 tí cho Vouchers,
còn Customers có lợi là được xài những sản phẩm có giảm giá tí.

Các tính năng chính của SUPA bao gồm:


 Quản lý Merchants
 Quản lý Vouchers
 Thương mại điện tử

Page 148
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

 Thanh toán online


 Quản lý Orders
 Quản lý Customers
 Quản lý Redemptions
 Quản lý Reimbursement
 Tích hợp hệ thống
 Quản lý phản hồi (Feedback)

Development View_Architecture Model của SUPA tương tự RMS:

Phần phức tạp nhất trong hệ thống SUPA là mô hình tính toán dòng tiền (Cash Flow) chảy
vào SUPA từ Customers và chảy ra khỏi SUPA đến Merchants. Vì yếu tố này mà sản phẩm
SUPA ban đầu tôi nghĩ chỉ là 1 nền tảng bán Vouchers online nhưng thực chất đây là 1 sản
phẩm bên mảng công nghệ tài chính (Fintech) đang rất thịnh hành những năm gần đây.
Theo kế hoạch của Alex là làm SUPA MVP trong 6 tháng, nhưng team tôi chỉ tốn 4.5 tháng là
xong do đã làm chung nhiều dự án, đến 6 tháng thì đã thêm được khá nhiều tính năng nữa.

Page 149
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Phụ Lục

1) Các từ tiếng Anh thông dụng sử dụng trong bài


Accounting Software Phần mềm kế toán
Active Knowledge Kiến thức chủ động
Activity Table Bảng ghi hoạt động
Affiliate Cộng tác viên
Agent Đại lý
Air Ticket Booking Đặt vé máy bay
Analysis Phân tích
Angle Investor Nhà đầu tư thiên thần
Application Programming Interface – API Giao tiếp lập trình ứng dụng
Architecture Model Mô hình kiến trúc
Artificial Intelligence - AI Trí tuệ nhân tạo
Assignment Bài tập
Asynchronous Processing Xử lý bất đồng bộ
Authentication Định danh
Authorization Phân quyền
Background Process Tiến trình ngầm
Boot Khởi động máy
Bug Lỗi
Business Development - BD Phát triển kinh doanh
Business Flow Luồng nghiệp vụ
Call Center Trung tâm điện thoại
Call Stack Chồng các chương trình gọi nhau
Capital Thủ đô
Carrier Nhà vận chuyển
Cash Flow Dòng tiền
Category Danh mục
Clinic Phòng mạch
Co-founder Đồng sáng lập
Code Refactoring Tái cấu trúc mã lệnh
Coding Convention Qui định về viết mã lệnh
Column Cột
Command Lệnh
Command Line Dòng lệnh

Page 150
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Commodity Hàng xuất nhập khẩu


Component Model Mô hình thành phần
Computer Máy tính
Content Management System - CMS Hệ quản trị nội dung
Control Flow Luồng điều khiển
Conversion Rate Tỉ lệ chuyển đổi
Course Môn học
Credit Tín chỉ
Custom Data Dữ liệu tùy biến
Customer Care Chăm sóc khách hàng
Customer Relationship Management Hệ quản lý quan hệ phía khách hàng
Data Analytics Phân tích dữ liệu
Data Collector Bộ thu thập dữ liệu
Data Mining Khai thác dữ liệu
Data Pipeline Ống dữ liệu
Data Science Khoa học dữ liệu
Data Set Tập dữ liệu
Data Synchronization Đồng bộ dữ liệu
Data Type Kiểu dữ liệu
Debug Breakpoint Điểm dừng để tìm lỗi
Declarative Programming Lập trình đặc tả
Deployment Triển khai
Deployment Model Mô hình triển khai
Design Thiết kế
Destination Điểm đến
Development View Góc nhìn phát triển
Diagnosis Chẩn đoán
Directory Thư mục
Doctor Bác sĩ
Domain Knowledge Kiến thức lĩnh vực
Domain Model Mô hình lĩnh vực
Dynamic Web Page Trang web động
eCommerce Thương mại điện tử
Efficiencey Measures Đo lường về hiệu quả
Enterprise Doanh nghiệp
Expert System Hệ chuyên gia

Page 151
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Field Trường
File Tập tin
Fintech Công nghệ tài chính
Floppy Disk Đĩa mềm
Flow Chart Lược đồ dòng chảy
Founder Nhà sáng lập
Fulltime Student Sinh viên toàn thời gian
Game Trò chơi
Hardware Phần cứng
Health Care Chăm sóc sức khỏe
Human Resource – HR Nhân sự
Ice-skating Trượt patin trên băng
Im/Export Company Công ty xuất nhập khẩu
Imperative Programming Lập trình mệnh lệnh
Implementation Hiện thực
Information Technology – IT Công nghệ thông tin
Interior Node Nút trung gian
Internet Service Provider – ISP Nhà cung cấp dịch vụ Internet
Job Description – JD Đặc tả công việc
Key Performance Indicator – KPI Chỉ số năng lực chính
Keyboard Bàn phím
Language Barrier Rào cản ngôn ngữ
Lead Đầu mối
Leaf Node Nút lá
Load Balancer Bộ cân bằng tải
Local Development Environment Môi trường phát triển cục bộ
Logical Diagram Sơ đồ LUẬN LÝ
Logical View Góc nhìn luận lý
Machine Learning Algorithms Giải thuật máy học
Machine Learning Model Mô hình học máy
Maintenance Bảo trì
Market Research Nghiên cứu thị trường
Messaging Integration Tích hợp bằng thông điệp
Metro Tàu điện ngầm
Minimum Viable Product – MVP Sản phẩm tối thiệu dùng được
Monitor Màn hình

Page 152
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Mouse Chuột
Multiple Page Application – MPA Ứng dụng đa trang
Natural Language Processing Xử lý ngôn ngữ tự nhiên
Nature of Word Bản chất của từ
Nature of Word Bản chất của từ
Non-Functional Requirement Yêu cầu phi chức năng
Object-Oriented Programming - OOP Lập trình hướng đối tượng
Object-Relational Mapping – ORM Ánh xạ quan hệ đối tượng
Offshore Development Center – ODC Trung tâm phát triển bên ngoài
Ontology Bản thể học
Operating System – OS Hệ điều hành
Opportunity Cơ hội
Outsourcing Company Công ty gia công
Part-time Work Công việc bán thời gian
Passive Knowledge Kiến thức thụ động
Patient Bệnh nhân
Pattern Mẫu
Pattern Classfication Phân loại mẫu
Pattern Recogntion Nhận dạng mẫu
Phone Call Cuộc gọi
Physical Deployment Triển khai VẬT LÝ
Physical View Góc nhìn vật lý
PostDoc Sau Tiến Sĩ
Practice makes perfect Có công mài sắt có ngày nên kim
Process Tiến trình
Process View Góc nhìn quy trình
Programming Language Ngôn ngữ lập trình
Project Manager – PM Quản lý dự án
Property Thuộc tính
Province Tỉnh
Pseudo-code Mã giả
Qualitative Measures Đo lường về chất lượng
Quality Control - QC Nhân viên kiểm thử
Queue Hàng đợi
Random Access Memory – RAM Bộ nhớ truy cập ngẫu nhiên
Raw Data Dữ liệu thô

Page 153
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Raw Requirement Yêu cầu thô


Raw Requirement Yêu cầu thô
Recommendation System Hệ thống gợi ý
Report Báo cáo
Research and Development – R&D Nghiên cứu và phát triển
Return On Investment – ROI Lợi nhuận trên đầu tư
Reverse Engineering Kỹ thuật đi ngược
Root Node Nút gốc
Run Flow Luồng chạy
Sales Channel Kênh bán hàng
Search Engine Optimization – SEO Tối ưu hóa máy tìm kiếm
Single Page Application – SPA Ứng dụng đơn trang
Small and Medium Enterprises – SME Công ty vừa và nhỏ
Software Phần mềm
Software Architect Kiến trúc sư phần mềm
Software Department Phòng phần mềm
Software Developer Nhân viên phần mềm
Software Development Process Qui trình phát triển phần mềm
Software Team Đội phát triển phần mềm
Source Code Mã nguồn
Speech Recognition Nhận dạng giọng nói
Speech Recognition System Hệ thống nhận dạng giọng nói
State Digram Lược đồ trạng thái
Static Content Nội dung tĩnh
Statistics Thống kê
Structured Data Dữ liệu cấu trúc
Study Permit Giấp phép học
Subscriber Thuê bao
System Availability Độ sẵn sàng của hệ thống
System Integration Tích hợp hệ thống
System Performance Hiệu năng hệ thống
Tab Phân trang
Tax Duty Mức thuế xuất
Teaching Assistant Trợ giảng
Technical Lead Quản lý nhóm kỹ thuật
Technology Product Sản phẩm công nghệ

Page 154
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Terminology Thuật ngữ chuyên ngành


Territory Lãnh thổ
Testing Kiểm tra
Thesis Luận văn
Traffic Lưu lượng truy cập
Travel Booking Đặt du lịch
Uniform Resource Locator – URL Vị trí định danh tài nguyên chuẩn
User Interface – UI Giao diện người dùng
User Stories – Scenarios Góc nhìn tương tác người dùng – ngữ cảnh
Vendor Nhà bán hàng
Version Phiên bản
Version Control System – VCS Hệ quản trị phiên bản
Virtual Private Network – VPN Mạng riêng ảo
Word Family Gia đình từ

Page 155
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

2) Các quyển sách IT nền tảng đã đọc & tài liệu khác
Backend:

1_BE_Platform Java_2006_Thinking In Java 4e_Bruce Eckel.pdf

2_BE_Persistence_2007_SQL for MySQL Developers 2e_Rick.pdf

3_BE_Platform Java_2008_Servlets and JSP 2e_Marty Hall.pdf

4_BE_Platform Java_2008_Spring in Action 2e_Craig Walls.pdf

5_BE_Platform Java_2011_Apache Maven 3 Cookbook_Srirangan.pdf

6_BE_Platform Java_2016_Spring Boot in Action_Craig Walls.pdf

Frontend:

1_FE_HTML_2011_HTML5 for dummies_Andy Haris.pdf

2_FE_Javascript_2009_Secrets of the JavaScript Ninja_John Resig.pdf

3_FE_Javascript_2010_JQuery in Action 2e_Bear Bibeault.pdf

4_FE_Javascript_2018_React in Action_Mark Thomas.pdf

5_FE_Javascript_2018_The future of Javascript_Tara Manicsic.pdf

DevOps:

1_DevOps_2018_Linux in Action_David Clinton.pdf

2_DevOps_2018_AWS in Action 2e_Michael Wittig.pdf

3_DevOps_2015_Mastering Jenkins_Jonathan McAllister.pdf

4_DevOps_2016_Docker in Action_Jeff Nickoloff.pdf


5_DevOps_2018_Kubernetes in Action_Marko Luksa.pdf

Page 156
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Data Science:

1_Data Mining_2005_Data Mining and Practical Machine Learning Tools and


Techniques_Ian Witten.pdf

2_Data Warehouse_2007_DW 2.0_William Inmon.pdf

Other Resources:

 BA
o https://chrome.google.com/webstore/detail/gliffy-
diagrams/bhmicilclplefnflapjmnngmkkkkpfad?hl=en
o https://www.productplan.com/break-product-features-into-user-stories
o https://en.wikipedia.org/wiki/Behavior-driven_development

 Git
o https://www.atlassian.com/git/tutorials

 Backend
o https://beginnersbook.com/java-tutorial-for-beginners-with-examples/
o https://tutorialspoint.com/
o https://baeldung.com/
o https://javatpoint.com/
o https://spring.io/guides
o https://spring.io/blog/
o https://reflectoring.io/spring-boot-modules/
o http://books.sonatype.com/mvnref-book/reference/index.html
o https://content.pivotal.io/blog/understanding-when-to-use-rabbitmq-or-apache-kafka

 Database
o https://www.w3schools.com/sql
o https://www.tutorialspoint.com/hibernate/index.htm
o http://www.baeldung.com/hibernate-save-persist-update-merge-saveorupdate
o https://www.tutorialspoint.com/jpa/index.htm
o https://www.javatpoint.com/redis-tutorial

Page 157
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

 Frontend
o https://www.w3schools.com/html
o http://html5doctor.com/
o http://www.theukwebdesigncompany.com/articles/entity-escape-characters.php
o https://www.computerhope.com/htmcolor.htm
o http://marcoceppi.github.io/bootstrap-glyphicons/
o http://fontawesome.io/
o https://www.w3schools.com/css
o https://www.w3schools.com/js
o https://www.w3schools.com/jquery
o https://jrsinclair.com/articles/2018/react-redux-javascript-architecture
o https://www.w3schools.com/react/

 Mobile
o https://www.tutorialspoint.com/react_native/index.htm
o https://www.tutorialspoint.com/kotlin/index.htm
o https://www.tutorialspoint.com/swift/index.htm

 Data Science
o https://www.cs.waikato.ac.nz/ml/weka/

 QC
o https://en.wikipedia.org/wiki/Test_case
o https://www.seleniumhq.org/
o https://cucumber.io

Page 158
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

3) Bộ công cụ phát triển phần mềm

 Flow Chart Tool: Gliffy (https://chrome.google.com/webstore/detail/gliffy-


diagrams/bhmicilclplefnflapjmnngmkkkkpfad?hl=en)
 Git Client: Git SCM (https://git-scm.com/downloads)
 Git UI: SourceTree (https://sourcetreeapp.com), SmartGit (https://syntevo.com/smartgit)
 Java SE: JDK (https://www.oracle.com/technetwork/java/javase/downloads/index.html)
 Backend IDE: IntelliJ (https://www.jetbrains.com/idea)
 Java Build Tool: Maven (https://maven.apache.org)
 Java Web Server: Jetty (https://eclipse.org/jetty/), Tomcat (http://tomcat.apache.org)
 Database: MySQL (https://dev.mysql.com/downloads)
 Database Client: HeidiSQL (https://www.heidisql.com)
 API Testing: Postman (https://www.getpostman.com)
 Frontend IDE: Visual Studio Code (https://code.visualstudio.com)
 Static Web Server: Apache HTTP Server (https://httpd.apache.org)
 Reload Capability Server: Live Server (https://www.npmjs.com/package/live-server)
 Javascript Server: Nodejs (https://nodejs.org)
 Javascript Build Tool: Yarn (https://yarnpkg.com)
 Javascript Debug Tool: React Developer Tools
(https://chrome.google.com/webstore/detail/react-developer-
tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en), Redux DevTools
(https://chrome.google.com/webstore/detail/redux-
devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=en)
 Secure Shell Client: Bitvise (https://www.bitvise.com), Putty (https://www.putty.org)
 Data Caching: Redis (https://redis.io)
 Messaging Queue: RabbitMQ (https://rabbitmq.com), Kafka (https://kafka.apache.org)
 Virtual Machine: Virtual Box (https://virtualbox.org), VMWare Workstation Player
(https://www.vmware.com/asean/products/workstation-player.html)
 DevOps Build and Deployment Tool: Jenkins (https://jenkins.io)
 Load Balancing: HAProxy (http://www.haproxy.org)
 File Storage: AWS S3 Browser (https://s3browser.com)

Page 159
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Lời tổng kết

Trên đây tôi đã chia sẻ toàn bộ hành trình ĐAM MÊ IT với việc học và làm trong lĩnh vực IT
trong & ngoài nước của tôi từ năm 1993 đến nay là 2019 cũng ngót nghét 26 năm, đem so với
tuổi của tôi bây giờ là 39 thì đúng 2/3 thời gian cuộc đời tôi đã theo ngành IT!
Cho đến thời điểm này, tôi hoàn toàn hài lòng với cuộc hành trình tôi đã trải qua vì tôi đã
được theo đuổi ĐAM MÊ của mình và có những trải nghiệm tuyệt vời đầy cảm xúc.

Phần lớn mọi người hay dùng chữ “thành công” hay “thất bại” để gán cho một người nào đó
gắn với địa vị xã hội và/hoặc giá trị vật chất. Theo quan điểm của tôi, không có người thành
công hay thất bại. Cuộc đời mỗi con người là một cuộc phiêu lưu mà không hề có điểm kết
thúc (tiếng Anh có câu “Life is a journey, not a destination.”), chỉ có “trải nghiệm” nối tiếp
trải nghiệm. Với mỗi trải nghiệm, họ sẽ đạt được “THÀNH QUẢ” hoặc “BÀI HỌC” cho
các trải nghiệm sau. Vì vậy không nên buồn khi chúng ta không đạt được cái chúng ta muốn
trong một trải nghiệm, mà hãy tận hưởng cảm xúc của trải nghiệm đó. Sự đam mê và kiên trì
sẽ giúp chúng ta đạt được những thành quả nào đó trong suốt đường đời.

Cho nên tôi luôn cố gắng trải nghiệm những điều mình thích và hiển nhiên những điều này
phải đảm bảo được cuộc sống của cá nhân/gia đình mình và đem lại hạnh phúc cho mình chứ
không theo đuổi những điều viễn vông vô bổ, ngoài ra tốt hơn nữa thì đem lại giá trị gì đó cho
cộng đồng, cho xã hội.

Tiếng Anh có 1 câu khá hay: “Do what you love and love what you do.”, chỉ có như vầy
mới giúp chúng ta luôn có năng lượng tích cực để thực hiện những ước muốn của mình.

Tổng kết lại những yếu tố đã giúp tôi trụ được lâu dài trong ngành IT:
1. ĐAM MÊ
2. Chịu khó suy luận logic
3. Không ngừng học hỏi + thực hành, đặc biệt những KIẾN THỨC NỀN TẢNG
4. KIÊN TRÌ theo đuổi các mục tiêu
5. Khám phá thế giới để giải tỏa căng thẳng, mở mang đầu óc và nạp năng lượng mới
6. May mắn gặp được những mentor giỏi hỗ trợ một phần

Page 160
Homer Truong Le Hoang – Hành trình ĐAM MÊ IT – 11/11/19 TECH3S

Bạn đã đọc đến những dòng này thì có nghĩa là cuốn hồi ký này cũng thú vị, đã đem lại giá trị
gì đó cho bạn, và bạn cũng thuộc dạng người có tính kiên trì rồi đấy 

Nếu bạn định/đang học IT thì tôi rất hi vọng cuốn hồi ký này sẽ tạo ra một động lực to lớn
giúp bạn vượt qua mọi thử thách để theo đuổi ĐAM MÊ IT của mình một cách trọn vẹn nhất.
Chúc bạn nhiều may mắn!

Mọi ý kiến đóng góp cho cuốn hồi ký này vui lòng gửi email về homertruong66@gmail.com
nhằm giúp tôi ngày càng hoàn thiện nội dung của cuốn hồi ký hơn.

Xin chân thành cảm ơn!

Homer Truong Le Hoang


http://www.facebook.com/homertruong66
http://www.facebook.com/tech3s.mentor/
http://www.tech3s-mentor.com
http://www.linkedin.com/in/truonglehoang

Page 161

You might also like