Hì hì! Mình vừa mới ngồi ôn cái môn "Cơ sở dữ liệu nâng cao" với thằng bạn. Tiện thể 2 thằng cũng chém gió tí về cái framework Flutter mà mình mới được giao việc là tìm hiểu về nó xem thế nào. Nãy ngồi đọc qua các bài về tổng quan, rồi so sánh giữa thằng Flutter và React Native. Tiện thể lên đây chém gió luôn những dòng cảm xúc hiện tại :)) 
Câu chuyện thường ngày của ae coder :))
 Sơ lược qua tí về xuất xứ của mình. Như cái tên: I'm T. Mình là T, đang là sinh viên năm 4 của Đh Bách Khoa Hà Nội, trai trong "ngành" nhưng là ngành CNTT :)). Mình bước chân vào BK vì 1 lí do đơn giản là: "hồi thi xong đại học, thì cũng chẳng biết mình thích gì, chỉ biết là tính mình thì ko hợp với kinh tế, thế thì chỉ còn bên kĩ thuật. Kĩ thuật thì có tiếng nhất là đh BK, và ngành hot nhất là CNTT, thế là múc luôn vào. Quá nhanh, quá nguy hiểm".
    Thực ra thì với mình thì mình chả có một tí gì là dính đến với lập trình, dính đến với cntt trước khi vào BK, và cũng đúng với 2 năm rưỡi đầu tiên. Hai năm đầu thì cũng may là từ cái việc tự học từ hồi còn học cấp 2, cấp 3 thì các môn đại cương mình ko khó khăn lắm trong việc học. Nhưng nhắc đến "code" thì lúc đấy cũng chẳng biết là mình sẽ làm gì, mình học cntt sao mà chả thấy tí gì đam mê hay thích thú với nó thế. Chia sẻ thật thì mình không có thích thú lắm với kiểu phải học quá sâu về thuật toán, rồi con trỏ, ... khi mà mình học C với C++. 
    Quãng thời gian đó thực sự là cảm thấy stress nặng, luôn tự hỏi trong đầu mình là sau này mình sẽ làm gì đây, rồi mình không có đam mê với lập trình thì có đủ nỗ lực để học các môn chuyên ngành không. Thực sự là đã có những lúc mình định bỏ ngang việc học để thử những thứ khác. Mình có nhiều sở thích cá nhân, ví dụ như gym, xăm, rap, thể thao, ... Thế nên là đã từng nghĩ sẽ đi đi làm HLV gym, rồi làm thợ xăm. Nghĩ lại thấy cũng kinh phết :)).

Cái hình tập vẽ hình xăm trong khoảng thời gian mình đang có ý định chuyển "ngành" :)) 
    Mình có đọc được một câu đại loại là: "Nếu cuộc đời không cho bạn làm những gì bạn thích, thì bạn hãy học cách thích những gì mình làm." Mình khá đồng ý với câu này. Dẫu biết được làm với đam mê là điều mà ai cũng muốn, thế nhưng để làm được điều đó thì trong xã hội bây giờ không phải là nhiều (vì nhiều lí do). Thế nên phải làm thế nào khi mình ko được làm theo cái mình thích, mình đam mê. Hãy học cách thích những cái mình đang làm. Mình bắt đầu đi đặt các câu hỏi. Bây giờ là mình học lập trình đúng không. Thế mình thích học kiểu gì. Thì tình cờ, trong một hôm lên gặp cô giáo project 1, cô có giới thiệu vài định hướng trong đó có lập trình ios, mobile. Cộng thêm việc, tính mình thì thích làm cái gì mà mình thấy phải có chút tính sáng tạo, rồi phải show ra được cái gì đẹp đẹp. Xong về tìm tòi về thằng ios, xem nó có những ngôn ngữ nào. Lòi ra thằng swift thì thấy syntax nó khá tự nhiên, tức là không khô khan, ko gây khó hiểu khi nhìn vào. Ok, quyết định múc thằng Swift. 
    Rồi tự học được 6 tháng từ tháng 10 - 2017. Trong quá trình học thì thấy kiểu tạo ra được vài cái app đơn giản, chủ yếu là về giao diện với có vài chức năng cơ bản. À mà có cái này giờ mới để ý, làm cái gì mĩnh cố gắn cái mình thích vào. Năm 2 mình làm cái window form code C# cái quản lý phòng tập gym(đến giờ vẫn không biết tại sao lại code C# ra được cái app window), rồi học swift mình cũng tự ngồi clone cái app Home Workouts trên appStore về code lại y hệt chức năng với giao diện của nó. Kiểu code ra được cái ứng dụng có giao diện các thứ các thứ thấy cũng hay. 
    Xong rồi hè 2018 quyết định đi xin thực tập bên ngoài. Đến 1 cty outsource, a leader phỏng vấn về Swift. Trước khi đến run vãi cây lúa, vì chưa bh được phỏng vấn trước đó. Đến show ra cho anh cái app Home Workouts tự code. Hôm sau nhận được mail là mình được nhận. Nhưng tình cờ trước hôm nhận được mail, ông anh mình quen lại ngồi chia sẻ chém gió về thằng React Native vì cty chỗ anh mình đang làm dự án về RN. Anh cũng chia sẻ là mình nên thử những cái mới, và RN nó đang là hot trend, và học thêm RN thì cơ hội việc làm của mình cũng mở hơn. Thế là đành gác lại chỗ kia và bắt đầu đi thực tập bắt đầu từ 18 - 6 -2018. 

À cafe thì mỗi ngày cứ phải 1 phin :))
    Vào training 1 tháng với thằng RN, xong sang tháng thứ 2 nhảy vào làm dự án thật. Cũng may mắn vì chỗ thực tập, có 2 ô anh cực kì nhiệt tình giúp đỡ thằng em, mình ko biết gì cái ra hỏi luôn, may mà các ông anh không ghét vì cái tội hỏi nhiều. Đến hiện giờ cũng đã nắm được kha khá về RN, redux, redux saga. RN đến thời điểm này thì công nhận RN là cái framework mình cảm thấy dễ chịu nhất và thực sự là mạnh. Syntax, rồi cách layout, các component đều rất rõ ràng. Cái cách tư duy code của thằng RN nó rất tự nhiên và dễ hiểu, dễ tưởng tượng. Thời gian build ứng dụng cũng nhanh hơn native khá nhiều (hot reload, ngầu vãi).  Nói về perform thì công nhận là không thể bằng native, nhưng theo mình thấy thì trừ các ứng dụng đòi hỏi perform ra thì với RN vẫn cứ là ổn. Và mình nhận ra một điều là hình như hiện giờ xu hướng sẽ là các ngôn ngữ cross, đa nền tảng và sẽ theo hướng lập trình theo state (không biết có đúng không, các bậc sư huynh đi trước có góp ý gì về cái này không ạ). Đương nhiên thì hướng đối tượng sẽ là cái lâu dài. Mình thì chưa code nhiều về hướng đối tượng, vì thực sự OOP khá trìu tượng và phải làm dự án thực tế thì mới thấm nhuần được tư tưởng này. Mình thì học trong trường chưa có cơ hội code OOP nhiều, thì thấy khá dễ chịu và thoải mái với hướng lập trình theo state. 
    Hiện giờ thì mình mới được giao việc là tìm hiểu về thằng flutter. Tìm hiểu qua thì thôi xong rồi, lại một kiểu syntax mới đầu nhìn vào là đã thấy không có thiện cảm rồi. Chắc do mình chưa quen syntax nó thôi (tự an ủi lấy cái động lực tìm hiểu). Nay mới cài đặt xong rồi chạy được cái ứng dụng default của nó. Lên mạng tìm hiểu về flutter, đọc qua các bài phân tích và so sánh với RN, thấy Flutter có vẻ không được "đẹp trai", được khen cho lắm như RN. Thấy bất an với thằng Flutter quá nên lên đây chém gió luyên thuyên dài quá. 
Cảm ơn các bậc tiền bối đã đọc đến đây. Coder khô khan mới tập tành viết blog, mong mn thông cảm! Hì hì.