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

Công Nghệ
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ể...

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 contentunknown 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.

Đư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ố đó. 

ProcrastinationProcrastination

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:

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

Bài viết liên quan

Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bài viết được sự cho phép của tác giả Chung Nguyễn Hôm nay, nhóm Laravel đã phát hành một phiên bản chính mới của “ laravel/installer ” bao gồm hỗ trợ khởi động nhanh các dự án Jetstream. Với phiên bản mới này khi bạn chạy laravel new project-name , bạn sẽ nhận được các tùy chọn Jetstream. Ví dụ: API Authentication trong Laravel-Vue SPA sử dụng Jwt-auth Cách sử dụng Laravel với Socket.IO laravel new foo --jet --dev Sau đó, nó sẽ hỏi bạn thích stack Jetstream nào hơn: Which Jetstream stack do you prefer? [0] Livewire [1] inertia > livewire Will your application use teams? (yes/no) [no]: ... Nếu bạn đã cài bộ Laravel Installer, để nâng cấp lên phiên bản mới bạn chạy lệnh: composer global update Một số trường hợp cập nhật bị thất bại, bạn hãy thử, gỡ đi và cài đặt lại nha composer global remove laravel/installer composer global require laravel/installer Bài viết gốc được đăng tải tại chungnguyen.xyz Có thể bạn quan tâm: Cài đặt Laravel Làm thế nào để chạy Sql Server Installation Center sau khi đã cài đặt xong Sql Server? Quản lý các Laravel route gọn hơn và dễ dàng hơn Xem thêm Tuyển dụng lập trình Laravel hấp dẫn trên Station D

By stationd
Principle thiết kế của các sản phẩm nổi tiếng

Principle thiết kế của các sản phẩm nổi tiếng

Tác giả: Lưu Bình An Phù hợp cho các bạn thiết kế nào ko muốn làm code dạo, design dạo nữa, bạn muốn cái gì đó cao hơn ở tầng khái niệm Nếu lập trình chúng ta có các nguyên tắc chung khi viết code như KISS , DRY , thì trong thiết kế cũng có những nguyên tắc chính khi làm việc. Những nguyên tắc này sẽ là kim chỉ nam, nếu có tranh cãi giữa các member trong team, thì cứ đè nguyên tắc này ra mà giải quyết (nghe hơi có mùi cứng nhắc, mình thì thích tùy cơ ứng biến hơn) Tìm các vị trí tuyển dụng designer lương cao cho bạn Nguyên tắc thiết kế của GOV.UK Đây là danh sách của trang GOV.UK Bắt đầu với thứ user cần Làm ít hơn Thiết kế với dữ liệu Làm mọi thứ thật dễ dàng Lặp. Rồi lặp lại lần nữa Dành cho tất cả mọi người Hiểu ngữ cảnh hiện tại Làm dịch vụ digital, không phải làm website Nhất quán, nhưng không hòa tan (phải có chất riêng với thằng khác) Cởi mở, mọi thứ tốt hơn Bao trừu tượng luôn các bạn, trang Gov.uk này cũng có câu tổng quát rất hay Thiết kế tốt là thiết kế có thể sử dụng. Phục vụ cho nhiều đối tượng sử dụng, dễ đọc nhất nhất có thể. Nếu phải từ bỏ đẹp tinh tế – thì cứ bỏ luôn . Chúng ta tạo sản phẩm cho nhu cầu sử dụng, không phải cho người hâm mộ . Chúng ta thiết kế để cả nước sử dụng, không phải những người đã từng sử dụng web. Những người cần dịch vụ của chúng ta nhất là những người đang cảm thấy khó sử dụng dịch...

By stationd
Hiểu về trình duyệt – How browsers work

Hiểu về trình duyệt – How browsers work

Bài viết được sự cho phép của vntesters.com Khi nhìn từ bên ngoài, trình duyệt web giống như một ứng dụng hiển thị những thông tin và tài nguyên từ server lên màn hình người sử dụng, nhưng để làm được công việc hiển thị đó đòi hỏi trình duyệt phải xử lý rất nhiều thông tin và nhiều tầng phía bên dưới. Việc chúng ta (Developers, Testers) tìm hiểu càng sâu tầng bên dưới để nắm được nguyên tắc hoạt động và xử lý của trình duyệt sẽ rất hữu ích trong công việc viết code, sử dụng các tài nguyên cũng như kiểm thử ứng dụng của mình. Cách để npm packages chạy trong browser Câu hỏi phỏng vấn mẹo về React: Component hay element được render trong browser? Khi hiểu được cách thức hoạt động của trình duyệt chúng ta có thể trả lời được rất nhiều câu hỏi như: Tại sao cùng một trang web lại hiển thị khác nhau trên hai trình duyệt? Tại sao chức năng này đang chạy tốt trên trình duyệt Firefox nhưng qua trình duyệt khác lại bị lỗi? Làm sao để trang web hiển thị nội dung nhanh và tối ưu hơn một chút?… Hy vọng sau bài này sẽ giúp các bạn có một cái nhìn rõ hơn cũng như giúp ích được trong công việc hiện tại. 1. Cấu trúc của một trình duyệt Trước tiên chúng ta đi qua cấu trúc, thành phần chung và cơ bản nhất của một trình duyệt web hiện đại, nó sẽ gồm các thành phần (tầng) như sau: Thành phần nằm phía trên là những thành phần gần với tương tác của người dùng, càng phía dưới thì càng sâu và nặng về xử lý dữ liệu hơn tương tác. Nhiệm...

By stationd
Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Lĩnh vực EdTech (ứng dụng công nghệ vào các sản phẩm giáo dục) trên toàn cầu hiện nay đã tương đối phong phú với nhiều tên tuổi lớn phân phối đều trên các hạng mục như Broad Online Learning Platforms (nền tảng cung cấp khóa học online đại chúng – tiêu biểu như Coursera, Udemy, KhanAcademy,…) Learning Management Systems (hệ thống quản lý lớp học – tiêu biểu như Schoology, Edmodo, ClassDojo,…) Next-Gen Study Tools (công cụ hỗ trợ học tập – tiểu biểu như Kahoot!, Lumosity, Curriculet,…) Tech Learning (đào tạo công nghệ – tiêu biểu như Udacity, Codecademy, PluralSight,…), Enterprise Learning (đào tạo trong doanh nghiệp – tiêu biểu như Edcast, ExecOnline, Grovo,..),… Hiện nay thị trường EdTech tại Việt Nam đã đón nhận khoảng đầu tư khoảng 55 triệu đô cho lĩnh vực này nhiều đơn vị nước ngoài đang quan tâm mạnh đến thị trường này ngày càng nhiều hơn. Là một trong những xu hướng phát triển tốt, và có doanh nghiệp đã hoạt động khá lâu trong ngành nêu tại infographic như Topica, nhưng EdTech vẫn chỉ đang trong giai đoạn sơ khai tại Việt Nam. Tại Việt Nam, hệ sinh thái EdTech trong nước vẫn còn rất non trẻ và thiếu vắng nhiều tên tuổi trong các hạng mục như Enterprise Learning (mới chỉ có MANA), School Administration (hệ thống quản lý trường học) hay Search (tìm kiếm, so sánh trường và khóa học),… Với chỉ dưới 5% số dân công sở có sử dụng một trong các dịch vụ giáo dục online, EdTech cho thấy vẫn còn một thị trường rộng lớn đang chờ được khai phá. *** Vừa qua Station D đã công bố Báo cáo Vietnam IT Landscape 2019 đem đến cái nhìn toàn cảnh về các ứng dụng công...

By stationd