Con đường để trở thành một fullstack developer (Phần 1: Những nỗi sợ)

Cách học để trở thành fullstack developer từ một lập trình viên lâu năm – Đây là giai đoạn thứ 2 trong hành trình trở thành Full-stacker của tôi. Những bước đầu đã được nêu ở đây. Tôi cần hình dung ra làm cách nào để làm nên các bảng đánh dấu này… 

“Tôi không có được những kỹ năng lập trình. Sự thiếu sót đó sẽ làm cho thằng này lây lất trên những con phố, gia đình và bạn bè sẽ bỏ rơi tôi và bị đào thải ra khỏi xã hội. Sau tất cả, tôi lại cô độc và chẳng còn ai đoái hoài gì tới. Và điều tồi tệ nhất: Mọi người rồi sẽ biết và bị cười vào mặt!” Nghe quen chứ ? Thôi hãy cùng nhau đối diện với nó nào! 

Mong Muốn vs. Quyết Định

Có sự khác biệt giữa Muốn và Quyết. Muốn là 1 con đường dài trải đầy hoa hồng. Muốn dễ dàng bị kích thích chỉ qua 1 cái chạm nhẹ dịu dàng, khi mà tương lai còn mơ hồ, chìm đắm trong viễn tưởng người đẹp và danh vọng, chỉ làm mà chẳng cần phải suy nghĩ. Nói luôn cho vuông: Chẳng có gì xấu về Muốn cả, nhưng trừ khi là bạn đang cược liều lĩnh trên vận may, bạn nên tiến thêm một bước xa hơn. 

Còn Quyết thì lại là 1 con thú hoàn toàn khác, và có thể thực sự bẩn tính: Chúng bắt bạn phải ngồi xuống, lập hẳn kế hoạch và, rõ ràng là phần tệ nhất, làm những thứ cần phải làm. Cho dù đó là học thêm kỹ năng mới hay đảm bảo rằng những người khác đang làm việc của họ để được trả lương, rất có thể là bạn phải làm điều gì đó cho bản thân. 

Chướng ngại vật

Đã lâu, tôi xem lập trình như 1 thú vui mà hiển nhiên cho phép tôi có 1 đoạn hội thoại đầy ý nghĩa với các nhà lập trình phần mềm chuyên nghiệp. Cũng không mất quá nhiều thời gian để hiểu ra rằng tôi thực sự tận hưởng nhiều khía cạnh xung quanh việc coding: tư duy phát triển, ta nghĩ về việc gây dựng nên cái gì đó hữu dụng và qua đó làm cho cuộc sống con người dễ dàng hơn, thúc dục tôi học hỏi qua nhiều hiệu ứng trộn lẫn và thay đổi font IDE của tôi thành Source Code Pro (hầu như là vì nó có chữ Pro trong đó). Hơn thế nữa, mạng Internet cam đoan là hoàn toàn có thể trở thành 1 developer tốt ngay cả khi tôi chưa hoàn thành giáo trình “thần đồng máy tính”. 

Và rồi, có thứ gì đó cản tôi lại. Sự thật là tôi vẫn suy nghĩ và đọc về xây dựng phần mềm giá trị nhiều hơn là làm ra nó. Nói cách khác, tôi vẫn còn ở xứ thần tiên và chưa sẵn sàng để tạo nên cú bật. Nó làm tôi mất hơn 2 năm chỉ để từ vết ngứa ngáy đó ban đầu cho tới bài viết trước đó của tôi hay làm những hành động tương ứng. Nghe có vẻ ngắn cho vài người nhưng trên mốc thời gian của riêng mình thì nó như là bất tận vậy.

unknown tweet media content

Bản Draft đầu tiên của tôi khá là kỹ lưỡng về các chi tiết nhưng tôi tin rằng mỗi chúng ta đều có riêng nhiều thứ để sợ hãi. Nếu tôi tóm tắt chuyện riêng mình, hầu hết chúng đã và đang liên quan tới chuyện tôi hoài nghi về khả năng của mình, chi phí tài chính/ cơ hội và liệu tôi có nên tìm mục đích khi làm việc đó vui vẻ thêm vài năm nữa.

  10 kênh Youtube học lập trình không thể bỏ qua dành cho Junior Web Developer / Designer

Đưa ra Quyết Định 

Vài lúc tôi nhận ra rằng sẽ không có ai khác trả lời những câu hỏi này và việc xác định mục tiêu là của riêng mình và tiến bước. Mục đích trước đó của tôi giờ nó dính khá nhiều “bụi” và tôi còn nhớ nó có tên là “Học machine learning”. Không quá lời nhưng tôi cảm thấy mình có thể cất nó vào trong xó được rồi. 

Suốt tầm 1 tuần tôi ngồi xuống vài lần và xác định mục tiêu của mình, làm cách nào để tôi đạt được nó và vượt qua các chướng ngại. Nó quả là 1 bài tập khó khăn vì tôi phải thành thật với chính bản thân và phải bỏ qua khá nhiều thứ mà tôi muốn biết, như cái framework front end sang chảnh hay mỗi cái thư viện machine learning. Bên cạnh đó, nó có nghĩa là tôi phải cho đi bớt vài mục tiêu rõ ràng và tiềm ẩn của mình, ngoài ra còn phải giải thích hướng đi mới này cho bạn bè và gia đình.

Trong lúc làm chuyện đó, tôi nhận ra rằng mình không nhất thiết phải trở thành 1 con người khác. Không cần trong khái niệm như phải cư xử như một người hoàn toàn khác nhưng mà là 1 phiên bản khác của bản thân. Loại người mà có những thói quen nhất định mà tôi chưa có (cho tới hiện tại thôi). Lộ trình quản lý sắp xếp công việc cũng cho tôi vài kỹ năng có giá trị nhưng có một điều chắc chắn là tư duy học vượt (binge-learning) không còn hữu ích nữa. 

Bạn không thể đánh trúng 1 mục tiêu mà bạn không nhìn thấy

Chỉ sau này tôi mới nhận ra 1 quyết định có thể thúc đẩy tôi nhiều thế nào. Hầu hết ai cũng sẽ né tránh việc quá cụ thể, và tôi cũng vậy. Tôi nghĩ rằng nó xuất phát từ một cái gì đó sâu xa hơn nhiều. Bằng việc không cam kết hoặc ràng buộc bản thân sẽ cho bạn được ít nhiều sự thoải mái, cho dù là ngắn ngủi. Nhưng thế giới xung quanh chúng ta vẫn cứ xoay đều và chậm rãi và chắc chắn là cuộc sống vẫn tiếp diễn, dẫn đầu bởi những người tự sở hữu và có trách nhiệm cho chính số phận của họ. Và tôi muốn trở thành 1 trong số đó. 

Procrastination

Có khi nào tôi miễn nhiễm với sợ hãi không? Chắc chắn là không. Phép ẩn dụ tốt nhất mà tôi có được ví von như là: Nó ám tôi như một cái đĩa than dính lấm tấm bụi và khi kim máy hát cứ tiếp tục quay trên cùng 1 làn đường trên mặt đĩa, lặp đi lặp lại hết lần này tới lần khác. Tôi từng nghĩ rằng cái vòng lẩn quẩn đáng sợ này sẽ làm bản thân bị hạn chế cũng như ngăn tôi tiếp cận được những ý tưởng mới thực sự sẽ gây hại cho tôi bằng cách này hay cách khác. Nhưng hi vọng vẫn còn đó và mục tiêu là thứ gì đó rất khác: Giữ tôi ở đúng tốc độ ổn định của mình. Thứ còn quan trọng hơn việc hạ gục nỗi sợ là để thấu hiểu cảm giác đó từ đâu đến rồi học hỏi và lên kế hoạch để chống lại nó.

Tất cả tuỳ thuộc vào bạn!

Tôi bắt đầu viết bài này vì tin rằng nhiều người đang bị nỗi sợ giữ lại phía sau, không còn quan trọng nó là thứ gì cụ thể đi nữa. Nói thì nói thế thôi, đừng xem đây như là 1 kế hoạch, ngồi xuống và tự quyết định với chính mình! Những “cục nhọt” mà tôi đang mô tả là chủ quan và chỉ có tác dụng với tôi thôi. Mình khuyến khích các bạn cho phép bản thân sự xa hoa của việc viết ra những nguyện vọng, thậm chí có thể là công khai như tôi đã làm. Có thể nhiều người sẽ nghĩ bạn thật là ngốc nghếch, nhưng mà liệu họ có đủ quan trọng để bạn quan tâm không?

Ghi chú: Có khá nhiều sách tuyệt vời về chủ đề xây dựng thói quen (riêng tôi rất thích Atomic Habits và 4DX), cho nên tôi cũng không muốn quá dong dài nữa. Nếu bạn đang ở giai đoạn sơ khai và gặp khó khăn để bắt đầu, có 1 quyển khác mà tôi xin được giới thiệu ‘The war of Art’ bởi Steven Pressfield.

Bonus 1: Những nỗi sợ hàng đầu của tôi

Thứ tự giảm dần 

  • Sợ những nỗi sợ chưa từng gặp
  • Tôi không đủ thông minh/ nhanh nhạy
  • Vài lúc tôi sẽ không nắm bắt điều gì (hàm đệ quy là 1 ứng cử viên đáng nói..)
  • Tôi sẽ không còn hạnh phúc như hiện tại nữa
  • Tôi sẽ bị từ chối
  • Tôi sẽ không thể kiếm (đủ) tiền với nó nữa
  • Những người khác đã làm những điều này từ năm 12 tuổi rồi
  • Các giải pháp của tôi sẽ thua kém những người khác

Và tất cả có vẻ buồn cười khi tôi viết ra chúng thế này và tôi còn có hẳn những khái niệm mạnh mẽ về việc chống lại từng nỗi sợ mà tôi đã tạo ra. Nhưng bất kể là gì đi nữa thì đó là những thứ quỷ quái đã ngăn tôi làm được nhiều thứ to tác hơn. Nỗi sợ của bạn là gì?

Bonus 2: Không phải lúc nào những điều này cũng đúng nhưng khi đọc lại bản nháp cuối của mình, tôi cảm thấy như 2 năm ròng rã lăn lộn chỉ dồn vào đúng vài đoạn code, thật khó mà chấp nhận được. Để bổ sung cho những quyển mà tôi đã nhắc đến, có 1 vài câu hỏi mà tôi cảm thấy khá là hữu ích trong lúc chiến đấu với bọn quái mang tên ‘sợ hãi’ mà tôi đã miêu tả như ở trên.

Đọc

  • Bạn có đọc sách không?
  • Bạn hay đọc thể loại gì?
  • Bạn lựa sách dựa trên tiêu chí nào? Bạn tìm thấy chúng hay chúng đã tìm thấy bạn?
  • Những vấn đề nào làm bạn nghĩ ‘thà không tranh luận thì hơn’ với bạn bè hoặc người thân?
  • Những người bên cạnh bạn

Những con người trong cuộc đời bạn 

  • Ai là người giỏi nhất về ….?
  • Bạn có bao giờ hỏi người đó thêm về x chưa? Tại sao chưa? 

Mạng Internet

  • Bạn sử dụng Social Media như thế nào? Bạn tiếp nhận bao nhiêu & cho đi bao nhiêu?
  • Lần cuối cùng bạn cảm ơn ai đó khi gặp được 1 nguồn framework, hướng dẫn hay Tweet hay là khi nào?
  • Tại sao bây giờ bạn lại đọc chủ đề này?

Mục tiêu

  • Hai hay ba mục tiêu nào quan trọng nhất trong cuộc đời mà bạn sẽ không cam kết theo đuổi?
  • Liệu bạn có thể đo được hay đánh giá khách quan những mục tiêu nào quan trọng nhất?
  • Nếu lỡ bạn đang ở dưới vực sâu ngay bây giờ: Bạn sẽ làm gì trong 10 phút tiếp theo để tiến gần hơn đến mục tiêu nào bạn có?

Phần 2 của Fullstack Developer tại:

  Con đường để trở thành một fullstack developer (Phần 2: Xem xét lại các Kế hoạch)
  32 cuốn sách học lập trình bạn nhất định phải đọc

Xem thêm Tuyển dụng Fullstack Developer mới nhất tại TopDev