Làm chủ lập trình bằng cách tự xây dựng công cụ của riêng bạn

Đừng chỉ dừng lại ở việc sử dụng API. Hãy bắt đầu tự xây dựng chính các công cụ đó.

Hầu hết các lập trình viên đều biết cách sử dụng các framework và thư viện. Nhưng rất ít người biết cách chúng hoạt động thực sự bên dưới lớp vỏ. Phương pháp "build-your-own-x" sẽ thay đổi điều này. Bạn chọn một công nghệ mà mình sử dụng hàng ngày và tái tạo lại một phiên bản đơn giản của nó.

Cách tiếp cận này giúp bạn phát triển theo nhiều hướng:

  • Hiểu biết sâu sắc: Bạn học được các cấu trúc dữ liệu và thuật toán đằng sau công cụ đó.
  • Giải quyết vấn đề tốt hơn: Bạn biết cách chia nhỏ các hệ thống phức tạp thành các phần nhỏ.
  • Tự do về ngôn ngữ: Bạn học được các khái niệm có thể áp dụng trong bất kỳ ngôn ngữ lập trình nào.
  • Debug tốt hơn: Bạn biết chính xác lỗi xảy ra ở đâu vì chính bạn là người xây dựng chúng.
  • Hồ sơ năng lực mạnh mẽ hơn: Nhà tuyển dụng sẽ thấy được kỹ năng kỹ thuật chuyên sâu của bạn.
  • Lựa chọn công cụ thông minh hơn: Bạn hiểu được sự đánh đổi của các công cụ mà mình chọn.

Cách bắt đầu mà không bị bế tắc:

  1. Chọn một dự án nhỏ. Đừng bắt đầu bằng việc xây dựng một hệ điều hành. Hãy thử những thứ này:
  • Một HTTP server đơn giản
  • Một công cụ dòng lệnh như grep
  • Một trình quản lý tác vụ cơ bản
  • Một trình phân tích cú pháp markdown (markdown parser)
  • Một máy tính (calculator)
  1. Chọn thứ gì đó bạn đang sử dụng. Động lực sẽ luôn cao khi dự án đó có ý nghĩa với bạn.

  2. Xác định phiên bản tối thiểu. Đối với một trình soạn thảo văn bản, hãy tập trung vào việc mở, chỉnh sửa và lưu tệp. Hãy bỏ qua các tính năng cầu kỳ như làm nổi bật cú pháp (syntax highlighting) trong giai đoạn đầu.

  3. Nghiên cứu các kiến thức cơ bản. Đọc tài liệu chính thức hoặc xem mã nguồn mở. Hãy tìm hiểu các nguyên tắc cốt lõi trước khi bắt đầu viết code.

  4. Xây dựng theo từng giai đoạn. Đừng cố gắng xây dựng toàn bộ hệ thống cùng một lúc. Hãy bắt đầu với một chức năng cốt lõi và thêm dần các chức năng khác sau đó. Hãy viết test trong quá trình thực hiện.

Hãy chọn một ngôn ngữ bạn đã biết hoặc một ngôn ngữ bạn muốn học. Sử dụng nó để biến lý thuyết thành thực hành.

Nguồn: https://dev.to/kelvin_kariuki_20f4bec616/how-to-use-build-your-own-x-master-programming-by-recreating-your-favorite-technologies-from-1pmi