Lập trình là công việc có quá trình và kết quả. Tuy dễ cho thấy được kết quả nhưng lại khó để giải thích quá trình. Có những người, đặc biệt những nhà phỏng vấn muốn biết ứng viên đã làm ra được thành phẩm như thế nào. Vì họ cần hiểu xem khi lập trình bạn giải quyết các vấn đề như yếu tố thời gian, gặp rắc rối ở đâu hay giải quyết những khó khăn bằng cách nào mới quyết định tuyển dụng. Blog lập trình là một cửa sổ nơi bạn có thể bao gồm những nội dung như vậy ngoài thông tin cá nhân hay portfolio. Vì thế trong bài viết này chúng ta sẽ tìm hiểu những lợi thế của việc tạo blog về lập trình.
Lý do không nên viết một cách buồn chán
Thông tin của bạn nên viết ngắn gọn và chỉ chứa những điều cần thiết. Như vậy việc đọc mới thuận tiện hơn. Trái lại, blog về lập trình có dài cũng không sao. Khi viết lại quá trình phát triển nếu cần thiết kể cả viết ra nhiều trang vẫn được. Nhưng, đừng vì buồn chán.
Như thế nào là lời văn chán? Đọc những câu văn viết quá khó hoặc không có tính đặc sắc là nhàm chán. Nếu bạn đọc dòng này và hỏi ‘Việc phát triển một chức năng tôi còn không có đủ thời gian để nghĩ còn phải nghĩ đến cả sự hay ho của câu văn ư? Thì câu trả lời rõ ràng sẽ là ‘Đúng vậy’. Để truyền đạt rằng ‘Tôi là ai và tại sao tôi lại làm ra điều gì đó’ thì trước tiên bạn phải khiến độc giả đọc được đến dòng cuối cùng.
Vì vậy, phải tránh đăng ‘TIL’ đơn giản (Today I learned – những gì tôi đã học ngày hôm nay) trên blog. Bạn có thể sắp xếp những gì bạn học mỗi ngày theo quan niệm cá nhân của bạn. Tất nhiên, khi bạn viết trên blog của mình trong tương lai có thể hữu ích cho ai đó. Nhưng nếu chỉ chỉnh sửa các nội dung học tập thì sẽ khó mang tính đặc sắc.
Bài đăng thông thường trên blog lập trình bao gồm phần mở đầu, phần thân và phần kết luận gọi là article. Đương nhiên nếu bạn thêm sự thú vị trong suy nghĩ cá nhân vào thông tin, nó sẽ cung cấp những hiểu biết hay cho độc giả tình cờ tìm đến với blog.
Tại sao các bài viết lại thú vị
Article là bài có chủ đề và cấu trúc rõ ràng. Lập trình và những suy nghĩ liên quan có thể trở thành chủ đề, quan điểm suy nghĩ nêu ra để giải quyết được đưa vào phần mở đầu và kết luận. Ngay cả cùng một vấn đề đặt ra nhưng mỗi người lại có những suy nghĩ và cách giải quyết khác nhau nên cá tính của người viết bài sẽ bộc lộ rõ.
Một chủ đề rõ ràng sẽ càng tăng tính hấp dẫn cho bài viết. Nó cũng khơi dậy sự tò mò muốn tìm hiểu về các giải pháp và có sức lôi cuốn khiến độc giả muốn tiếp tục đọc. Bài viết nhiều lượt truy cập nhất trong số các article hầu hết là các bài với quan điểm giải quyết các lỗi gặp phải khi lập trình theo suy nghĩ cá nhân. Câu chuyện sẽ trở nên thú vị khi bạn giải quyết vấn đề gặp phải theo cách của riêng mình.

Lộ trình viết article
Article là một bài viết dài nên bạn cần phải có một kế hoạch viết để không bị lạc giữa chừng. Vì vậy, làm thế nào để bạn có kế hoạch viết tốt?
Trước hết, nên chọn một công nghệ dạo gần đây mà bạn quan tâm nhất và tập trung làm chủ đề. Trước khi bạn nghiên cứu một công nghệ sẽ phổ biến trong tương lai, bạn có thể viết về công nghệ hiện giờ như là chủ đề đầu tiên cũng sẽ giúp bạn phát triển hơn. Hoặc, bạn có thể tạo một chủ đề về một kỹ thuật mà bạn đã khám phá trong quá trình xử lý bug. Hơn hết, chủ đề càng cụ thể càng tốt. Ví dụ: ‘React Re-render’ là một chủ đề có thể được viết cụ thể hơn ‘React’.
Nếu đã chọn chủ đề, bạn phải nắm được cảm giác viết (câu chuyện tạo nên lời văn). Dù sao thì càng cụ thể càng tốt. Ví dụ: React đã đặt khoảng 4 điều kiện tự nhiên để re-rendering xảy ra và re-rendering từ trên hướng xuống dưới được coi là ‘tự nhiên’. Re-rendering ngược không được khuyến nghị và nếu cố gắng cưỡng chế thực thi thì cảnh báo hoặc lỗi sẽ xảy ra. Quy tắc này giúp ứng dụng dễ dự đoán hơn. Thông qua update một chiều trong các quy tắc giới hạn, có thể cập nhật nhanh phần mình muốn và giảm xác suất update xảy ra một cách rõ rệt. Nói cách khác, công nghệ React Re-rendering là kỹ thuật mang ưu điểm tăng đồng thời hiệu suất của ứng dụng và chức năng dự đoán.
Bây giờ chúng ta phải nghĩ về phần cơ bản hơn. Tiếp tục ví dụ trên, khi thay đổi cấu trúc DOM bằng JavaScript nhóm lập trình React đã nghĩ đến việc cải thiện tính kém hiệu quả của việc vẽ lại toàn bộ page. Kết quả là các kỹ thuật ‘Virtual Dom’ và ‘Rendering’’ đã được tạo ra. Đây là kỹ thuật so sánh giữa Dom ảo đã được thay đổi với Dom thật rồi chỉ vẽ lại phần nơi đã thay đổi.
Đến thời điểm này, chúng ta đã tìm hiểu về React Re-rendering. Tuy nhiên, khi thực sự viết thì khái niệm vẫn chưa rõ ràng lắm. Bản chất khái niệm này bạn có thấy lạ lẫm không? Hay bạn cần biết những khái niệm liên quan khác để hiểu chúng nhưng chưa hiểu thật sự? Ở trường hợp là vế trước, dù có đọc nhiều lần thì chỉ khi bạn hiểu hoàn toàn bạn mới viết tốt được. Còn trường hợp vế sau, sau khi nghiên cứu kỹ lưỡng các khái niệm liên quan trong phạm vi có thể rồi viết sẽ tạo thêm chiều sâu cho bài viết của bạn. Lúc việc chỉnh lý đã hoàn tất, còn lại là thời gian để bạn bắt đầu viết một cách nghiêm túc.
Sẽ tốt hơn khi bạn bắt đầu viết bằng cách đặt một câu hỏi nghi vấn vào tiêu đề. ‘Khi sử dụng React Rendering, lý do cần tối ưu hóa tính năng’ hoặc ‘Có thể re-render mà props, state không thay đổi được không?’ Nếu bạn không thể nghĩ ra vấn đề bạn cũng có thể đồng cảm mình giống như người lần đầu tiên lập trình. Chẳng hạn như câu ‘Tại sao React có Virtual Dom?’
Sau khi bài viết được hoàn thành ở một mức độ nhất định, bạn nên ở vị trí độc giả đọc nhiều lần cho đến khi thấy bài viết được trôi chảy. Như thế vừa hoàn thiện bài viết tốt hơn trong khi vẫn giữ được cá tính của bạn. Đặc biệt, là cách viết bài về lập trình mà ngay cả người không biết gì cũng có thể hiểu được. (Tất nhiên đây là việc rất khó) Đôi khi để dễ giải thích có những câu không cần thiết và mà mang tính trừu tượng được kèm theo, nhưng giải thích này nên được bỏ qua ở một mức độ nào đó. Ít nhất nên có những nỗ lực như thế này để hoàn thành một bài viết tốt trên blog lập trình.
Tạo code snippet
Các bài viết lập trình thường cần snippet. Điều này là do nó thuận tiện khi hiển thị code cho cả người viết và người đọc hơn là giải thích dài dòng. Đặc biệt, khi tạo một snippet nếu đó là một ví dụ giúp hiểu hơn thì nên lược bỏ một phần nhất định và không viết quá dài.
Gần đây, rất nhiều nền tảng blog đã xuất hiện và cung cấp tính năng tạo snippet cho các nhà lập trình. Nếu nền tảng bạn đang sử dụng không có chức năng snippet bạn có thể sử dụng ‘Github Gist’. Bạn có thể nhúng Gist đã viết (đoạn code ngắn) dưới dạng link và nếu chức năng xem trước được cung cấp một snippet gọn sẽ có ở link cuối.

Vận hành blog liên tục
Phải mất rất nhiều thời gian để viết một article theo cách như ở trên. Người kinh nghiệm cũng có những khi mất hơn một tuần để viết một article. Lý do mất nhiều thời gian như vậy thông thường vì bạn luôn nghĩ về các vấn đề ‘tại sao’ ‘như thế nào’. Quá trình lựa chọn một kỹ thuật, đánh giá cách sử dụng nó và viết code là việc nhanh chóng. Nhưng nếu bạn cố gắng viết lại quá trình này sẽ tốn nhiều thời gian vì bạn phải quay ngược lại từ dòng suy nghĩ cuối. Khi bạn theo suy nghĩ của mình một cách từ từ, bạn có thể hiểu chính xác hơn về kiến thức mà bạn đã quen thuộc.
Tuy nhiên, khi mất một thời gian dài như vậy để viết, chu kỳ đăng bài sẽ trở nên dài hơn. Nếu thế thì rất khó để tiếp tục viết blog. Vì vậy, bạn nên viết xen kẽ TIL và article. Ngoài ra còn có một phương pháp đăng TIL trong một một chu kỳ ngắn và viết một bài dài với một trong số đó làm chủ đề. Điều này sẽ tạo ra sự liên tục giữa các văn bản và bạn có thể nhận được hiệu quả khi xem lại cùng một chủ đề nhiều lần.
Khi viết TIL bạn cũng nên nêu ra một số câu hỏi trong đầu bài viết. Ví dụ, hãy tạo một cột TMI ở cuối bài và dồn tất cả những gì bạn thắc mắc khi học vào đó. Đừng tự mình gặm nhấm sự tò mò và khi bạn viết nó ra ở một nơi dễ thấy như thế này, về sau lúc bạn đọc TIL của mình, bạn có thể sẽ tò mò lại về chủ đề đó và muốn học. Lúc này chính là thời điểm tốt để viết một article.
Nếu bạn là lập trình viên, hãy phát triển thông qua Blog
Blog lập trình là động lực để bạn không ngừng trưởng thành. Khi bạn đọc một bài viết bạn đã viết cách đây rất lâu, sẽ có lúc bạn cảm thấy mới mẻ như đã trưởng thành từ đó và đôi khi cảm thấy khủng hoảng như thể đã quên mất những gì bạn đã biết vào thời điểm đó. Dù thế nào, nó cũng là một động lực chắc chắn và giúp bạn không rơi vào trạng thái buồn bã.
Có một lợi thế nữa của một blog lập trình. Đó là có cảm giác trách nhiệm. Trách nhiệm là cần thiết bởi vì khi đăng trên blog một thông tin sai có thể cung cấp cho người đọc một cách hiểu sai. Điều tất yếu là phải qua nhiều lần tìm hiểu để giải thích cho người đọc và liên tục kiểm tra thông tin sai lệch.
Trước khi viết blog cho người khác xem đó là những dòng bạn ghi lại để trưởng thành. Kinh nghiệm viết nội dung lập trình thành một bài hoàn chỉnh giúp sắp xếp các kiến thức liên quan một cách rõ ràng trong trí nhớ và lưu giữ được lâu. Đó là những bài viết cho sự phát triển của chính bạn, vì vậy bạn hãy thành thật. Có thể sẽ không có ai đọc nó vậy nên đừng ngại ngùng, hãy viết những suy nghĩ và sai sót của bản thân mà không cần thêm bớt gì. Cuối cùng, nó sẽ hữu ích cho bạn với tư cách là người đọc duy nhất.
This article is translated from an IT information site called yozmIT and Metacoders commits not to use this article for any commercial purposes The topic: 개발자가 블로그를 운영하면 좋은 점