Trong chuyên mục “Chuyện Nghề” ngày hôm nay, Careerly rất vui khi được trò chuyện cùng anh Võ Doãn Thành, hiện đang là Full Stack Engineer. Hy vọng tư duy phát triển bản thân và sự nghiệp của anh Thành sẽ truyền cảm ứng cho nhiều bạn trẻ đang và sẽ làm Software Engineer nói riêng và ngành công nghệ nói chung.
Nếu bạn muốn tương tác và đọc nhiều hơn từ anh Thành, bạn có thể tải ứng dụng Careerly Vietnam và nhấn “theo dõi” trang cá nhân của anh.

C: Lời đầu tiên, rất cảm ơn anh đã dành thời gian phỏng vấn cùng Careerly ngày hôm nay. Mời anh giới thiệu bản thân đến độc giả Careerly.
T: Chào mọi người, mình là Thành. Mình làm Software Engineer được hơn 4 năm và hiện tại mình đang làm việc trong team Tech của một ngân hàng Úc.
Thực ra mình đến với nghề như một cơ duyên. Vốn dĩ mình học tốt Hóa – Lý nên có định hướng theo đuổi ngành Quản lý môi trường nhưng vì điểm đầu vào năm ấy cao bất thường nên mình quyết định đổi hướng nộp vào trường ĐH Khoa học tự nhiên ngành Công nghệ thông tin. Sau khi học hết một kỳ năm nhất, mình cũng không nhận thức được ngành mình học cụ thể là gì, chỉ thấy phù hợp với đầu óc thích tính toán, thiên về các môn tự nhiên của bản thân, nên mình cứ học vậy thôi * cười *
Trong thời gian đi học, mình thực tập tại một công ty Đức khoảng 3 tháng và sau đó nghỉ để hoàn thành nốt chương trình học đại học. Tốt nghiệp xong mình xin được việc tại một công ty startup làm về công nghệ IoT, công nghệ cực kỳ hot ở thời điểm đó. 2 năm làm việc tại đây là trải nghiệm đầy thử thách (theo hướng tích cực) vì mình là người mới, lại làm việc trong môi trường startup. Công ty yêu cầu mình cần phải biết nhiều và sẵn sàng đương đầu với nhiều nhiệm vụ khác nhau. Mình tuy là Software Engineer nhưng vẫn làm việc trực tiếp với khách hàng, vì kỹ thuật IoT liên quan nhiều đến công trình thực tế chứ không chỉ là làm việc trên môi trường máy tính. Ví dụ như tần số chẳng hạn, mình phải làm việc trực tiếp với khách để đưa ra số liệu hợp lý, và xin lên cục Tần số để người ta cấp phép cho mình.
Sau 2 năm trải nghiệm ở công ty IoT và học hỏi được nhiều điều, mình nghĩ đã đến lúc bản thân nên chuyển sang lĩnh vực mới. Và mình đã chọn e-commerce (TIK*) cho hành trình tiếp theo. Khi chuyển việc sang công ty mới, khá may mắn là mình lại áp dụng được những gì mình đã học và trải nghiệm ở công ty startup cũ, cả kỹ năng cứng lẫn kỹ năng mềm.
Khi làm việc ở TIK*, cũng là startup nhưng với quy mô lớn hơn thì mình được trải nghiệm nhiều để hoàn thiện kỹ năng bản thân hơn. Một trong những trải nghiệm mình nhớ nhất chính là việc giải quyết vấn đề của hệ thống khi lượng người dùng lên đến hàng triệu. Mình chưa có từng xây dựng sản phẩm với tập người dùng lớn như vậy nên hệ thống của mình đã bị sập. Lúc đó mình mới biết, xây dựng ứng dụng chạy được thôi là chưa đủ mà còn phải tìm lời giải cho bài toán về performance hay hiệu quả của hệ thống, đặc biệt trong trường hợp người dùng tăng đột biến.
Mình gắn bó với công ty được 2 năm 5 tháng và lại tiếp tục hành trình tìm kiếm trải nghiệm mới ở những mảng khác. Mình cân nhắc đến hai mảng là Giải trí (Entertainment) và Tài chính-Ngân hàng. Sau thời gian làm ở Startup thì mình cũng muốn thử môi trường mới, ở doanh nghiệp lớn vận hành theo quy trình, yêu cầu chi tiết và kỹ tính nên quyết định làm việc tại ngân hàng Úc này.
C: Tuy đến với lập trình theo “sự sắp đặt của vũ trụ” nhưng điều gì đã khiến anh lựa chọn gắn bó với nghề đến thời điểm hiện tại?
T: Người ta vẫn thường hay nói là nghề chọn người, thực tế mình thấy rất đúng. Ngành Công Nghệ Thông Tin không phải là lựa chọn đầu tiên của mình, lúc đấy ngành này cũng đang hot thì mình thử học xem thế nào. Nói thế này hơi buồn cười nhưng đến hết học kỳ I năm nhất mình vẫn không ý thức được những gì mình được học trên trường đó chính là lập trình, mình cứ nghĩ là bài tập thầy giao thôi.
Theo mình, để gắn bó thì không chỉ đơn giản là bạn định hướng và ép buộc bản thân phải theo ngành này, mà quan trọng là bản thân bạn có hợp với tính chất của ngành hay không. Bản thân mình thích suy nghĩ logic và giải quyết các bài toán khó, nên đối với mình, việc lập trình và đối mặt với những thử thách mỗi ngày khi làm nghề chính là điều giúp mình gắn bó lâu với lập trình.
C: Careerly rất đồng cảm với câu trả lời này của anh Thành. Như vậy, bằng những khả năng, tính cách cá nhân sẵn có phù hợp với ngành Software Engineering, hiện tại anh đã là Senior trong ngành này, chắc hẳn đây cũng là một cột mốc mà nhiều bạn trẻ theo đuổi lập trình hướng tới. Vậy anh có thể chia sẻ thêm, bên cạnh kiến thức chuyên môn, một Software Engineer muốn hướng đến cấp cao hơn cần có những kỹ năng hoặc phẩm chất nào được không?
T: Về cơ bản, với bản thân mình thì mình luôn nhớ có câu nói thế này: Junior thì luôn thấy được giải pháp còn Senior thì luôn nhìn thấy vấn đề. Giải thích chi tiết hơn, khi gặp một vấn đề nào đó thì Junior sẽ luôn đề xuất được cách giải quyết 1, 2, 3. Nhưng ngược lại với Senior thì họ sẽ luôn nhìn thấy được để làm từng cách giải quyết đó thì sẽ có thể gặp vấn đề gì.
Đối với Thành, để lên Senior thì ngoài hard skill (tất nhiên rồi),mình cần có những soft skill khác. Thứ nhất, kỹ năng quan sát là rất cần thiết. Thứ 2, lúc mới là Junior thì mình cũng không nhận ra, đó là mình cần “chậm” để “chắc”. Nếu vấn đề đã xảy ra thì dù tốc độ mình có nhanh đi nữa thì cũng không giải quyết được, mà mình cần “chậm” lại để nhìn nhận vấn đề. Mình cần “chậm” để tìm hiểu xem chỗ nào đang còn thiếu, đặt câu hỏi tại sao và tìm từng câu trả lời một rồi mới bắt tay vào thực hiện, chứ không phải vội vàng hành động liền.
Về tính cách thì với Thành, tính kỷ luật là điều không thể thiếu nếu muốn phát triển trong ngành này. Chính kỷ luật mới giúp bạn đạt được điều bạn muốn chứ không phải là động lực. Chẳng hạn, bạn bắt đầu học ngành này là nhờ động lực, nhưng lại chán sau vài ba năm, không còn động lực nữa thì bạn có thể dễ từ bỏ. Còn kỷ luật bắt buộc bạn phải hành động mỗi ngày. Ví dụ như với mình, mình đặt kỷ luật mỗi ngày phải tập thể dục 30 phút, hoặc có kỷ luật là mỗi ngày phải đọc một bài trên Medium hoặc Careerly về công nghệ, hoặc xu hướng mới,… chính là những hành động mỗi ngày, tuy nhỏ nhưng sẽ giúp mình đạt được mục tiêu to lớn sau này.
Ngoài ra, còn một kỹ năng quan trọng mà Thành thấy ngành này ít bạn có, đó là khả năng giao tiếp. Ví dụ sẽ có nhiều việc bạn không biết hoặc không giỏi, vậy thì bạn cần sự giúp đỡ, nhưng bạn cần khả năng giao tiếp để truyền đạt chính xác tình huống của bản thân cho đối phương, để người ta có thể hiểu vấn đề bạn đang gặp phải, như vậy thì mới có thể giúp bạn nhanh và chính xác được. Ví dụ bạn muốn sửa máy giặt, nhưng cứ nói chung chung là muốn sửa máy giặt thôi thì chả ai giúp được. Nhưng nếu bạn có khả năng giao tiếp, truyền đạt chính xác là máy bị hỏng bộ chuyển động chẳng hạn thì người nghe nhận được thông tin chính xác và có thể hướng dẫn bạn, chỉ cần bật ngược lại là được rồi, vừa tiết kiệm thời gian cho họ, vừa tiết kiệm thời gian cho mình, chứ nếu đặt câu hỏi quá chung chung thì họ lại phải mất thời gian chạy tới nhà mình kiểm tra.

** Để đọc thêm những chia sẻ về kỷ luật bản thân và rèn luyện kỹ năng lãnh đạo bản thân, bạn có thể tải app Careerly và đọc thêm bài viết của anh Thành tại đây
C: Anh cũng vừa chia sẻ là có nhiều bạn Software Engineer thường chưa giỏi về khả năng giao tiếp. Careerly cũng thấy nhiều vị trí khác trong công ty thường chia sẻ rằng mình gặp khá nhiều vấn đề trong việc giao tiếp với Software Engineer. Anh đã bao giờ gặp những vấn đề về giao tiếp như vậy chưa? Anh đã giải quyết, khắc phục những vấn đề như vậy như thế nào?
T: Đúng là Software Engineer thường gặp khá nhiều vấn đề trong việc giao tiếp với các vị trí khác trong team. Bản thân Thành cũng từng gặp những vấn đề như vậy. Vì đơn giản, ai làm ở vị trí, chuyên môn nào thì họ chỉ nghĩ theo góc độ của nó và dùng nhiều từ chuyên ngành liên quan. Ví dụ, nếu bạn làm ở lĩnh vực Tài chính chẳng hạn, thì khi nói chuyện bạn sẽ thường dùng các từ chuyên ngành như kinh tế vĩ mô, hệ số abc,.. Tương tự các vị trí về kỹ thuật khác cũng như vậy.
Với Thành thì mình có vài tips thế này. Trước tiên là mình nên lên bộ ngôn ngữ chung để giao tiếp với các team khác, tránh sử dụng góc nhìn của người lập trình để giao tiếp với những người không làm lập trình. Một câu chuyện thực tế mà Thành đã gặp lúc đi làm. Lúc đó hệ thống scale up nên gặp vấn đề về caching hay crash database nhưng nếu mình dùng quá nhiều từ ngữ kỹ thuật như vậy khi trình bày với Product Manager thì họ khó có thể hiểu được. Vì vậy, thay vào đó mình giải thích là bộ lưu trữ trên hệ thống đang có vấn đề thì sẽ giúp PM dễ hiểu hơn. Mình cố gắng tạo ra một bộ ngôn ngữ chung và từ đó tạo ra tiếng nói chung giữa các vị trí khác và Software Engineer.
Thêm một tip nữa để giao tiếp hiệu quả đó là mình cần có sự chuẩn bị trước. Chuẩn bị trước sẽ giúp bạn giao tiếp trôi chảy và hiệu quả hơn là cứ suy nghĩ trong đầu rồi nói ra, đồng thời tránh việc bị quên nữa.
C: Cảm ơn anh, những chia sẻ này chắc hẳn sẽ giúp ích rất nhiều cho các bạn Junior đang muốn nâng cấp level lên Senior. Bây giờ Careerly sẽ quay về những câu hỏi liên quan trực tiếp đến lập trình nhé. Chắc hẳn anh Thành đã trải nghiệm qua nhiều ngôn ngữ lập trình rồi, vậy không biết cá nhân anh thích ngôn ngữ lập trình nào nhất?
T: Trước đây Thành có làm về PHP, Java, NodeJS,… và mình thích NodeJS nhất vì đơn giản mình dành khá nhiều thời gian để thực hành và nghiên cứu nó. Thứ 2 nữa là trong quá trình mình làm các ngôn ngữ khác nhau thì mình thấy NodeJS nó dễ tiếp cận và đỡ tốn thời gian học nhất, ngoài ra thì bạn này cũng là ngôn ngữ giúp mình có thêm thu nhập nên mình ưu ái hơn những ngôn ngữ khác thôi.
C: Vậy anh có cảm nhận như thế nào với những ngôn ngữ mới đang lên trong thời điểm hiện tại, ví dụ như Golang chẳng hạn?
T: Ở góc độ mình đã làm khá lâu về kỹ thuật thì mình thấy việc biết các xu hướng mới cũng tốt. Tuy nhiên còn phải xem xét team mình có ai dùng được nó hay không, hoặc mục tiêu của team kỹ thuật có hướng đến Golang hay không,… Do đó mình không cần quá nghiêm trọng nó là công nghệ mới, đang là xu hướng thì phải ép bản thân học cho bằng được, mình thấy như vậy không cần thiết lắm. Quan trọng nhất là thái độ/góc nhìn của mình về lập trình phải là thái độ mở, có nghĩa là nếu cần cho công việc thì ngôn ngữ nào mình cũng có thể học được.
C: Một người làm trong ngành lập trình nói riêng, hoặc ngành công nghệ nói chung, mà anh cảm thấy ngưỡng mộ? Điều gì về người ấy làm anh thấy ngưỡng mộ nhất?
T: Người nổi tiếng trong ngành này cũng khá nhiều nhưng người mình thật sự ngưỡng mộ là anh quản lý của mình ở công ty startup về IoT. Anh ấy đã dạy cho mình rất nhiều và góp phần tạo nên mình của ngày hôm nay. Đặc biệt, mindset của anh ấy hướng đến làm general manager, người có kiến thức tổng hợp chứ không phải quá chuyên sâu vào một lĩnh vực nào đó. Cách anh ấy tiếp thu kiến thức xung quanh cũng rất bài bản, nếu anh ấy muốn học gì đó thì sẽ lập kế hoạch và tuân thủ nghiêm túc.
Trong công việc anh ấy cũng hoạch định chiến lược, lên kế hoạch thực hiện rất chỉnh chu và tối ưu. Thành muốn lấy ví dụ khi người nông dân trồng lúa chẳng hạn, để thành công thì cần có thời gian gieo mạ, cày cấy, và mỗi giai đoạn phải có thời gian nhất định như 8 ngày ở giai đoạn A, 2 ngày ở giai đoạn B, việc dự đoán thời gian và sắp xếp công việc ở từng giai đoạn để tối ưu hiệu quả kế hoạch là rất quan trọng. Và anh quản lý cũ của Thành làm rất tốt chuyện đó.
C: Vậy cá nhân anh thì anh Thành muốn phát triển theo hướng generalist như vậy hay hướng specialist hơn?
T: Việc này thì mỗi người một quan điểm. Để thể hiện suy nghĩ của bản thân tốt hơn thì Thành sẽ lấy ví dụ về thùng rượu vang. Thùng rượu vang được tạo nên từ nhiều mảnh ghép, ghép lại với nhau, và càng nhiều mảnh ghép thì càng đựng được nhiều rượu. Nếu mình xem rượu vang trong thùng chính là cơ hội phát triển của bạn và các mảnh ghép là kiến thức mình lĩnh hội được thì tương tự, bạn càng có nhiều mảnh ghép kiến thức, thì càng có nhiều cơ hội để phát triển hơn. Còn nếu mình chỉ giỏi một mảnh ghép lập trình thôi thì bản thân mình cũng không đựng được bao nhiêu rượu cả. Đó cũng là lý do mình hướng bản thân đi theo hướng generalist để thu thập nhiều mảnh ghép cho bản thân nhất có thể. Có thể điều đó đồng nghĩa với việc nếu mình chưa thể đầu tư nhiều cho tất cả các mảnh ghép đó, thì có thể mỗi mảnh ghép trong thùng rượu sẽ không cao, nhưng nếu đã có gốc sẵn rồi thì khi mình muốn đi lên cao, mình chỉ cần dành thêm thời gian để phát triển các mảnh ghép có sẵn và cải thiện độ cao của những mảnh ghép đó thôi, chứ không mất công đi tìm nguyên liệu, xây dựng nó từ đầu nữa.
C: Vâng cảm ơn ví dụ rất thú vị của anh. Ngoài ra chắc hẳn nhiều bạn đọc của Careerly cũng tò mò không biết một ngày Software Engineer diễn ra thế nào. Anh có thể chia sẻ một ngày làm việc điển hình của anh thường diễn ra như thế nào không?
T: Một ngày làm việc của mình cũng giống như các Software Engineer khác. Tuy nhiên mình cũng tìm hiểu rõ bản thân làm việc năng suất nhất khi nào. Với mình thì có 2 khung giờ mình làm việc hiệu quả và tràn trề năng lượng nhất, đó là khoảng từ 6h-8h sáng và từ 9h-11h sáng (tất nhiên là những khung thời gian khác trong ngày thì Thành cũng có thể làm việc được nhưng hai lúc này là tốt nhất). Sau khi thức dậy, thể dục thể thao thì Thành hay dành thời gian đọc sách, nạp thêm kiến thức bên ngoài hoặc từ kinh nghiệm của người khác, và mình cũng có đọc thêm các trang blog như Medium hoặc lướt Careerly để cập nhật thêm về tin tức cũng như trend công nghệ.
Sau khi lên công ty thì mình sẽ có buổi standup meeting, rồi làm việc tới trưa. Thời gian ở công ty thì Thành sẽ dành cả buổi sáng tới khoảng 2-3h chiều để tập trung xử lý công việc của mình, để tạo ra hiệu quả cho công việc của bản thân mình trước. Sau đó từ 3h trở đi mình sẽ dành thời gian để review code của mọi người, hoặc hỗ trợ khi mọi người cần mình. Kiểu như mình đã dành cả ngày để mình đốt hết trí óc và năng lượng rồi, thì tới chiều mình hỗ trợ mọi người, cảm giác như mình cũng được thư giãn vậy.

C: Theo Careerly được biết thì bạn thân của Dev mỗi khi có thắc mắc trong công việc chính là Google, tuy nhiên Google hiệu quả hay không lại phụ thuộc phần nhiều vào cách search. Với bản thân thì anh dùng cách nào để nâng cao hiệu quả của việc Googling tìm lời giải?
T: Mình chỉ có 1 tip duy nhất khi search Google thôi. Ví dụ khi gặp vấn đề về ngôn ngữ Node.js chẳng hạn, thì thường mình tìm kiếm từ khóa là “Node.js + vấn đề mình gặp”, ví dụ như “Node.js out of memory”. Thông thường sẽ có nhiều người đặt câu hỏi trùng khớp với cú pháp như vậy luôn thì kết quả hiện ra sẽ chính xác hơn. Mình chỉ có một tip đó và cảm thấy đã đủ dùng trong ngành này rồi, mình có biết nhiều cách tìm kiếm hiệu quả khác và cũng đã thử qua nhưng hầu hết thì kết quả cũng tương tự cách trên.
Trong những kết quả hiện ra thì mình thường tin tưởng chọn click nguồn từ StackOverFlow (quá phổ biến). Với những vấn đề được công khai, ai cũng có thể hỏi câu hỏi đó, thì đương nhiên mình sẽ chọn câu hỏi nào nhiều câu trả lời nhất. Còn với những vấn đề mà ít người tiếp cận tới thì đầu tiên mình phải đọc sơ thử xem những người đó họ trả lời như thế nào. Sau đó thì mình sẽ research thử để kiểm chứng câu trả lời của họ. Ví dụ như cùng 1 vấn đề nhưng có người gợi ý A có người gợi ý B thì mình sẽ tốn thời gian thêm để hiểu điều người B nói có đúng hay ko, hoặc người A nói có đúng hay không, hoặc là cả 2 cùng nói đúng nhưng chưa đủ thì phải kết hợp cả 2.
C: Anh có thể chia sẻ về một dự án đáng nhớ nhất mà anh đã từng làm không? Tại sao với anh nó lại là đáng nhớ nhất?
T: Mình nhớ nhất dự án khi mình còn làm ở công ty E-commerce. Mình quá ấn tượng nên thực tế thì trong buổi nói chuyện này thì mình cũng đã đề cập vài lần rồi. Lúc đó mình có cơ hội xây dựng một ứng dụng game. Lúc đầu chỉ vài ngàn người dùng thôi và mọi thứ vẫn ổn. Nhưng vào một ngày, khi team Marketing chạy campaign quá tốt, người dùng bị hấp dẫn nên đổ về truy cập rất nhiều, và hệ thống của mình có vấn đề, bị lag. Tất nhiên sau đó cả team bị người dùng phàn nàn rất nhiều. Sau đó thì mình mới biết trong quá trình làm mình bị hổng và bản thân mình chưa tối ưu được phần đó.
** Bạn muốn biết rốt cuộc thì anh Thành đã xử lý vấn đề này thế nào? Tải app Careerly và đọc tại đây, bài viết do chính anh Thành đăng tải tại app.
C: Với khối lượng công việc lớn, việc có thể code nhanh, nhưng đúng và sạch, là rất quan trọng với Software Engineer. Vậy với cá nhân anh, anh có tips nào để có thể tăng tốc độ / hiệu suất code hay không?
T: Để tạo hiệu suất công việc tốt hơn thì với Thành, đầu tiên mình phải hiểu rõ yêu cầu kỹ thuật từ bên team Product, rồi từ đó lập một checklist (danh sách) các trường hợp có thể xảy ra. Ví dụ, bạn nhận được yêu cầu xây dựng chức năng login (đăng nhập), trước khi bắt tay vào làm bạn cần lập ra checklist những tình huống có thể xảy ra với yêu cầu này. Ví dụ như trường hợp 1: người dùng đăng nhập thất bại thì mình cần cho họ thấy cái gì, hoặc trường hợp họ nhập sai, yêu cầu nhập email mà họ nhập số thì mình cần cho họ thấy cái gì, v,v Tức là mình phải luôn chuẩn bị, lên kế hoạch trước, đây là yếu tố cực kỳ quan trọng trong việc tạo ra năng suất. Trong quá trình chuẩn bị, mình cũng suy nghĩ và đặt ra các tình huống có thể xảy ra, nghĩ sẵn luôn cách giải quyết. Với mình thì quy trình làm việc thế này sẽ hiệu quả hơn việc mình cứ bắt tay vào làm rồi khi test thử thì phát hiện ra mình bị thiếu trường hợp và phải làm bù vào. Việc xử lý công việc thế này cũng sẽ giúp code của bạn đẹp hơn, thay vì chắp vá.
C: Ngoài ra, ở vị trí của người đi trước, anh có lời khuyên gì dành cho các bạn trẻ muốn trở thành developer, đặc biệt là full stack developer?
T: Đầu tiên, để thành một developer, bạn phải học những thứ mà người khác không học được. Ngành Công Nghệ Thông Tin khi bạn học được thì nó không quá khó, nhưng để học được nó thì cũng không dễ. Thực tế, khi mình nhập học đại học thì có khoảng 600 người, nhưng sau khi tốt nghiệp thì chỉ còn gần 300 người thôi. Với kinh nghiệm của mình thì việc học và theo đuổi ngành lập trình có nhiều áp lực nên bạn cần siêng học và phải có tính kỷ luật cao, vì để có thể đi làm thì kiến thức ở trên trường chưa đủ mà bạn cần dành thời gian để nghiên cứu thêm.
Thứ 2 là mình phải duy trì được tư duy kiên trì, cố gắng vượt qua khó khăn để lĩnh hội được nhiều kiến thức hơn, giúp mình trở nên tốt hơn.
Đó là về cơ bản, còn để trở nên giỏi hơn nữa thì Thành nghĩ với những bạn mới thì chỉ nên đào sâu 1 vài thứ thôi. Vì thực tế là mình nên tạo điểm nhấn cho bản thân trước. Ví dụ như lúc bắt đầu thì Thành chỉ làm backend, Thành sẽ không tập trung quá nhiều vào Frontend. Nếu mình làm Backend còn chưa giỏi mà mình đã làm Frontend thì nó giống như đứng núi này trông núi nọ, mỗi thứ chỉ giỏi được 50% chứ không phải 100%, như vậy sẽ không thể tạo được sự khác biệt của riêng bạn. Ví dụ với Thành thì ai có vấn đề về hệ thống và technical thì sẽ nhớ đến mình đầu tiên để liên hệ giải quyết. Nhìn chung, mình không cần là người giỏi nhất mà mình chỉ cần là người tạo ra sự khác biệt nhất. Ví dụ như khi nói về Thành thì mọi người sẽ nghĩ Thành là một người rất chăm chỉ, cần cù, kỹ tính chẳng hạn, tương tự như khi làm việc, bạn nên ưu tiên đào sâu và thành thạo những thứ có thể tạo nên bản sắc riêng của bạn, sau đó mới mở rộng ra những mảng khác.
Còn để có thể làm được full stack thì Thành nghĩ mình nên dành 7-3, 70% cho cái mình mạnh và 30% cho cái mình chưa mạnh. Ví dụ giả sử mình mạnh về UI (giao diện người dùng), thì mình nên tập trung 70% vào Frontend. Nhìn chung, ít nhất mình phải giỏi 1 cái trước để mình đủ trải nghiệm, đủ khả năng để đánh giá là cái mình giỏi đó nó hiệu quả như thế nào, sau đó mình mới chuyển qua một cái khác. Chứ học song song làm cái này làm cái kia, rồi cuối cùng không làm được gì cả là điều bạn nên tránh.

* Anh Thành cũng có chia sẻ bài viết về cách anh tư duy để phát triển bản thân, bạn có thể tải app Careerly ở đây và đọc bài viết “bánh cuốn” đó tại đây
C: Cuối cùng, anh đã dành nhiều nỗ lực dành cho nghề lập trình như vậy, thì ngược lại, với anh nghề lập trình mang lại những giá trị gì?
T: Thực tế công việc này mang lại cho mình khá nhiều ý nghĩa sau từng ấy năm gắn bó.
Thứ nhất, đối với mình thì developer mang lại rất nhiều giá trị cho cuộc sống. Có rất nhiều ứng dụng được tạo ra mỗi ngày, có ứng dụng tốt, có ứng dụng chưa nhưng hầu hết các ứng dụng này nói riêng và công nghệ nói chung vẫn đang giúp con người giải quyết nhiều vấn đề khác nhau. Ví dụ như trong mùa Covid, nhờ có công nghệ mà chúng ta có thể truy vết, xây dựng hệ thống quản lý, thống kê số liệu, cập nhật thông tin,.. do đó mà nhiều người mới bảo là “coding giải quyết vấn đề” hay “coding cứu thế giới”,..
Thứ hai, với nghề này thì mình không bao giờ được dừng lại việc học tập cả. Phải luôn luôn học cái mới và luôn luôn tìm tòi. Công nghệ mỗi ngày mỗi khác, nhu cầu của người dùng cũng như hệ thống có thể có hàng trăm thứ thay đổi mỗi giờ mỗi phút. Vì vậy công việc này làm mình lúc nào cũng nhắc nhở bản thân vẫn học chưa đủ, thúc đẩy mình phải luôn học thêm nhiều điều mới.
Cuối cùng, tất nhiên là nguồn thu nhập cho Thành. Đặc biệt, thu nhập nhỉnh hơn các ngành khác khá nhiều * cười *
Cảm ơn những chia sẻ chân thực và hữu ích từ anh Thành. Careerly cũng chúc anh Thành sẽ gặp gặt hái được nhiều thành công hơn nữa trên hành trình Software Engineer của mình và cũng hy vọng được đọc nhiều bài viết hơn nữa của anh trong tương lai trên Careerly.
Bạn hoàn toàn có thể trực tiếp giao lưu và theo dõi mỗi khi anh Thành cập nhật bài viết mới, bằng cách nhấn “theo dõi” trang cá nhân của anh trên App Careerly tại đây
