Hướng dẫn tránh bẫy và thực hành xuất bản sách hiệu quả cho programmer
Lời giới thiệu: Giới thiệu chi tiết một số vấn đề thường gặp khi programmer xuất bản sách, đặc biệt khuyến nghị những bạn có ý định xuất bản sách nên đọc bài này.
Địa chỉ bài gốc: https://www.cnblogs.com/JavaArchitect/p/14128202.html
Người xưa có ba điều bất hủ, đó là lập đức, lập công và lập ngôn. Programmer viết một cuốn sách của riêng mình, nếu nói là lập ngôn thì có thể hơi quá cao sang, nhưng cuối cùng vẫn là một việc tao nhã.
Thực ra xuất bản sách không kiếm được nhiều tiền, hơn nữa chu kỳ từ lúc viết đến khi cuối cùng nhận được tiền cũng không ngắn. Nhưng nếu programmer có một cuốn sách kỹ thuật của riêng mình thì ít nhất điều đó có thể chứng minh tốt năng lực của bạn trong phỏng vấn, đồng thời dần tích lũy danh tiếng trong ngành, giúp bạn tự tin hơn khi phỏng vấn và làm những việc khác. Trong bài viết này, tôi sẽ dựa trên kinh nghiệm của bản thân và những vấn đề từng gặp để trao đổi với mọi người về chuyện programmer xuất bản sách.
1. Thu nhập nhuận bút và thời gian cần thiết để xuất bản sách
Trước tiên hãy nói về thu nhập và cái giá phải trả khi xuất bản sách. Ở đây tạm thời chưa bàn đến “tài sản vô hình do xuất bản sách mang lại”, mà chỉ nói về khoản nhuận bút thực tế.
Nếu liên hệ trực tiếp với nhà xuất bản, nhuận bút thường là tiền bản quyền, bằng 8% giá sách nhân với số lượng in (hoặc số lượng bán thực tế). Nếu bạn là chuyên gia nổi tiếng thì còn có thể thương lượng tăng thêm, nhưng thông thường tiền bản quyền ước tính chỉ khoảng 10% đến 12%. Lưu ý rằng giá ở đây là giá bìa đầy đủ của sách, không phải giá sau khi giảm.
Ví dụ, một cuốn sách có giá bìa đầy đủ là 70 tệ, được bán với giá 70% tại JD.com và các nơi khác, thì tiền bản quyền là 8% của 70 tệ, tức là tác giả nhận được 5,6 tệ cho mỗi cuốn bán ra. Tất nhiên, sau khi thực nhận còn phải khấu trừ thuế.
Đồng thời, hãy chú ý xem hợp đồng quy định phương thức trả nhuận bút theo số lượng in hay số lượng bán thực tế. Khi trao đổi với nhà xuất bản, tôi thường thỏa thuận theo số lượng in. Khác biệt là gì? Hiện nay sách về máy tính thường in lần đầu 2.500 bản, vậy số tiền thực nhận là 70*8%*2500, tất nhiên vẫn phải khấu trừ thuế. Nhưng nếu tính theo số lượng bán thực tế, giả sử lần in đầu chỉ bán được 1.800 bản, thì tiền sẽ được tính theo số lượng này.
Hiện nay một cuốn sách 300 trang thường có giá khoảng 70 tệ. Nếu tính theo tiền bản quyền 8% và 2.500 bản, thu nhập trước thuế là 14.000 tệ, sau thuế ước tính còn khoảng 12.000 tệ. Với tác giả mới, một cuốn sách 300 trang ít nhất cần 8 tháng để viết. Như vậy mọi người có thể tính thu nhập trung bình mỗi tháng, thực ra chỉ khoảng 1.500 tệ, không nhiều.
Tôi không dám nói về trường hợp của người khác, nhưng sau khi xuất bản sách, ngoài nhuận bút, tôi còn có những thu nhập nào khác?
- Khi phỏng vấn ở công ty hiện tại và các công ty trước đây, sau khi nói với interviewer rằng tôi từng xuất bản sách về lĩnh vực liên quan, interviewer sẽ trực tiếp cho rằng tôi rất giàu kinh nghiệm, giúp tôi tiết kiệm không ít công sức.
- Tôi cũng đang tổ chức training offline, nên trực tiếp dùng cuốn sách Python mới xuất bản làm giáo trình, khỏi phải soạn bài lại.
- Khi trao đổi dự án với người khác, tôi có thể dùng sách của mình để chứng minh năng lực kỹ thuật. Nếu đó là lần đầu làm việc với nhau, cách chứng minh này có hiệu quả ngay.
Đặc biệt là điểm đầu tiên. Với một số công ty nhỏ hoặc vị trí development phái cử, nếu ứng viên từng xuất bản sách về lĩnh vực này thì thậm chí có thể được nhận trực tiếp mà không cần phỏng vấn. Trước đây tôi từng phỏng vấn một vị trí development phái cử ở một công ty lớn và đã nhận được đãi ngộ như vậy.
2. Thời điểm trả nhuận bút và thu nhập sau khi tái bản
Tôi liên hệ trực tiếp với nhà xuất bản để xuất bản sách. Thời điểm trả nhuận bút thường là trong vòng 3 tháng sau lần in đầu, nhận một phần nhuận bút của lần in đầu (cụ thể là 50% đến 90%), sau đó một năm kể từ khi sách xuất bản mới nhận phần nhuận bút còn lại. Hiện nay có không ít sách bán hết được số lượng in đầu đã là tốt, nhưng cũng có nhiều sách được tái bản, thậm chí xuất bản lần hai và lần ba. Nhuận bút của số lượng tái bản thường được thanh toán hết trong vòng nửa năm đến một năm sau khi tái bản.
Xét về thời điểm trả nhuận bút, tác giả quả thực phải chịu độ trễ. Hơn nữa, nhuận bút cũng không cao so với công sức tác giả bỏ ra, nên xuất bản sách thực sự không phải việc để kiếm tiền, mà chu kỳ nhận tiền còn dài. Nếu nhân viên của một công ty sách vừa không hỗ trợ tác giả trong giai đoạn xuất bản, vừa kiếm thêm phần chênh lệch ở giữa, thì quả thực có phần xem nhẹ công sức của tác giả.
3. Những điều mắt thấy tai nghe khi làm việc với công ty sách
Trước khi trao đổi với biên tập viên nhà xuất bản, tôi cũng từng trao đổi với nhân viên công ty sách. Nhiều nhân viên khá tôn trọng tôi, cuộc trao đổi tuy không sâu nhưng vẫn lịch sự. Tuy nhiên, sau khi so sánh với các điều kiện như mức nhuận bút do nhà xuất bản đưa ra, tôi vẫn không xuất bản sách thông qua công ty sách, đây cũng là một điều đáng tiếc. Dưới đây là một số trải nghiệm cụ thể.
- Tôi thường nhận được lời nhắn của nhân viên công ty sách tại Blog Garden và những nơi khác, hỏi tôi có muốn xuất bản sách không. Thông thường nếu tôi không hỏi thì họ sẽ không nói mình là biên tập viên nhà xuất bản hay nhân viên công ty sách. Một số nhân viên công ty sách sẽ nói với tác giả, đặc biệt là tác giả mới, những câu như “biên tập viên nhà xuất bản thường không liên hệ trực tiếp với tác giả” và “xuất bản sách thường phải thông qua công ty sách”. Thực ra những lời này không hẳn sai. Ví dụ, nếu bạn không liên hệ với biên tập viên nhà xuất bản thì đối phương đương nhiên sẽ không trực tiếp liên hệ với bạn. Nhưng ngược lại, nếu tác giả trực tiếp liên hệ với biên tập viên nhà xuất bản thì thứ nhất không khó, thứ hai có thể trực tiếp hơn.
- Khi tôi trao đổi outline với biên tập viên nhà xuất bản, dù outline còn thiếu sót, họ vẫn có thể đưa ra góp ý sửa đổi cụ thể, chẳng hạn chương nào nên viết gì, outline của mục nào nên viết thế nào. Nhưng khi từng trao đổi outline với một số nhân viên công ty sách, phần lớn phản hồi nhận được là “phải viết lại”. Viết lại thế nào? Những nhân viên này có thể chỉ đưa ra ý kiến trừu tượng, còn mọi thứ đều phải tự tôi suy nghĩ. Trong bài viết trước đây Programmer xuất bản một cuốn sách kỹ thuật như thế nào, tôi đã đưa ra trải nghiệm cụ thể.
- Vì trao đổi không sâu nên tôi chưa từng ký thỏa thuận xuất bản sách với công ty sách. Nhưng tôi biết chỉ nhà xuất bản mới có thể xuất bản sách. Vì chưa từng trải qua nên tôi cũng không biết trong hợp đồng công ty sách có điều khoản tránh rủi ro hay không. Tuy nhiên, tôi từng thấy một nhân viên công ty sách đưa ra một số trường hợp bị từ chối bản thảo và thấp thoáng ý trách móc tác giả. Suy nghĩ kỹ thì thấy không ổn: nhân viên phụ trách, thứ nhất không thể kịp thời phát hiện và phản hồi cho tác giả ngay khi vấn đề phát sinh; thứ hai không thể phối hợp xử lý khi vấn đề xảy ra, cuối cùng dẫn đến việc bản thảo bị từ chối; thứ ba sau khi bản thảo bị từ chối, trong khi tác giả đã bỏ công sức, công ty sách không những không phải chịu bất kỳ rủi ro nào mà còn có thể chỉ trích tác giả. Về việc bản thảo bị từ chối, tác giả quả nhiên cũng có phần trách nhiệm, nhưng tôi cũng là một tác giả nên không khỏi chạnh lòng vì cùng cảnh ngộ. Khi xuất bản sách qua nhà xuất bản, đôi lúc biên tập viên còn chủ động quan tâm, chủ động cung cấp tài liệu; nếu có vấn đề cũng sẽ sửa ngay, nên hầu như không xảy ra tình trạng phải sửa bản thảo trên diện rộng.
- Nói thêm về nhuận bút công ty sách trả cho tác giả. Tôi từng thấy trường hợp trả tiền theo trang, chẳng hạn 30 đến 50 tệ một trang, đồng thời mua đứt bản quyền, tức là sau khi sách được tái bản tác giả cũng không thể nhận thêm nhuận bút. Nếu trả theo tiền bản quyền, tôi cũng từng thấy mức 6%. Còn công ty sách có thể trả 8% hoặc cao hơn hay không thì tôi chưa thấy, nên không biết và cũng không dám tự đoán.
Số nhân viên công ty sách tôi từng trao đổi không nhiều, cuộc trao đổi cũng không sâu, vì hiện tại tôi chủ yếu trao đổi với biên tập viên nhà xuất bản. Do đó, trên đây chỉ là cảm nhận của tôi về một số biên tập viên công ty sách, tôi không có ý lấy một trường hợp để khái quát tất cả. Một số nhân viên công ty sách từng trao đổi với tôi ít nhất cũng rất tôn trọng tôi về mặt thái độ. Vì vậy, mọi người có thể thử so sánh các cách hợp tác khác nhau với công ty sách và nhà xuất bản. Dù thế nào, trước khi viết sách, thậm chí trước khi ký thỏa thuận xuất bản, bạn cần hỏi rõ những vấn đề dưới đây, đồng thời đối phương có nghĩa vụ để bạn hiểu các sự thật sau.
- Bạn phải hỏi rõ thân phận của đối phương là biên tập viên nhà xuất bản hay nhân viên công ty sách. Đây thực ra là điều đối phương phải chủ động thông báo.
- Sách của bạn sẽ được xuất bản ở nhà xuất bản nào? Điều này cần được nêu rõ trong thỏa thuận xuất bản, không thể đợi đến khi hoàn thành bản thảo mới quyết định nhà xuất bản. Hơn nữa, đơn vị cuối cùng có thể xuất bản sách nhất định phải là nhà xuất bản, không phải công ty sách.
- Phương thức trả nhuận bút. Dù công ty sách có thể kiếm phần chênh lệch ở giữa, ít nhất bạn phải biết nhà xuất bản có thể trả bao nhiêu nhuận bút. Nếu bạn xuất bản sách thông qua công ty sách, bất kể công ty sách trao đổi với bạn thế nào, số tiền nhà xuất bản trả cho công ty sách sẽ không ít đi một phần nào; phần ở giữa hẳn là lợi nhuận của công ty sách.
- Cuối cùng bên ký hợp đồng xuất bản với bạn là công ty sách hay nhà xuất bản, nhất định phải làm rõ trước khi ký. Dù cuối cùng bạn ký thỏa thuận với công ty sách, ít nhất cũng phải biết mình còn có thể ký thỏa thuận trực tiếp với nhà xuất bản.
- Bạn không thể nghĩ rằng “yêu cầu xuất bản qua công ty sách thấp hơn”, càng không nên nghĩ rằng “năng lực của tôi bình thường nên chỉ có thể xuất bản qua công ty sách”. Công ty sách không có tư cách tự xuất bản sách, nên họ cũng sẽ giao bản thảo cho nhà xuất bản; các yêu cầu cần có sẽ không hề thấp hơn. Nếu outline của bạn không được biên tập viên nhà xuất bản thông qua, thì cũng sẽ không được nhân viên công ty sách thông qua. Dù mức nhuận bút bạn yêu cầu thấp hơn, yêu cầu tương ứng từ phía công ty sách chắc chắn cũng không giảm.
Nếu bạn biết rõ “sự khác biệt giữa công ty sách và nhà xuất bản” mà vẫn hợp tác với công ty sách thì đó là sự tự nguyện của cả hai bên. Nhưng nếu đối phương “không chủ động thông báo”, còn bạn hợp tác với công ty sách khi chưa hiểu sự khác biệt giữa hai bên, thì cũng không thể trách đối phương. Tuy nhiên, nghe nhiều phía sẽ sáng suốt hơn; nếu muốn xuất bản sách, mọi người có thể làm việc với cả nhà xuất bản lẫn công ty sách để so sánh.
4. Cách liên hệ trực tiếp với biên tập viên của các nhà xuất bản sách máy tính nổi tiếng trong nước
Tôi từng xuất bản sách tại Nhà xuất bản Đại học Thanh Hoa, Nhà xuất bản Công nghiệp Cơ khí, Nhà xuất bản Đại học Bắc Kinh và Nhà xuất bản Công nghiệp Điện tử. Quy trình xuất bản khá thuận lợi, việc làm việc với biên tập viên cũng khá vui vẻ. Cá nhân tôi không có ý phân hạng các nhà xuất bản trong nước, nhưng trong ngành máy tính, các nhà xuất bản tương đối nổi tiếng gồm Thanh Hoa, Cơ khí, Công nghiệp Điện tử và Nhân dân Bưu điện; tất nhiên các nhà xuất bản khác cũng từng xuất bản những cuốn sách chất lượng về máy tính.
Làm thế nào để làm việc trực tiếp với biên tập viên của các nhà xuất bản nổi tiếng này?
- Truy cập trực tiếp website chính thức; thông thường website có sẵn thông tin liên hệ.
- Khi bạn đăng bài tại Blog Garden và những nơi khác, sẽ có người tìm bạn để mời xuất bản sách. Trong số đó, ngoài nhân viên công ty sách còn có biên tập viên nhà xuất bản. Thông thường biên tập viên nhà xuất bản sẽ nói rõ thân phận, chẳng hạn “tôi là xx, biên tập viên của nhà xuất bản xx”.
- Tôi cũng từng liên hệ với một số biên tập viên nhà xuất bản; nếu mọi người cần thì tôi có thể cung cấp thông tin.
Vậy tìm nhân viên công ty sách thế nào? Thông thường không cần chủ động tìm. Sau khi bạn đăng một số bài blog, họ sẽ chủ động liên hệ. Nếu bạn hỏi kỹ “anh/chị là biên tập viên nhà xuất bản hay biên tập viên công ty sách?”, họ sẽ cho biết thân phận. Nếu hỏi tiếp, họ có thể đứng trên lập trường công ty sách để giải thích sự khác biệt giữa nhà xuất bản và công ty sách.
Qua đó mọi người có thể thấy, bất kể cuối cùng bạn có viết thành sách hay không, việc tìm biên tập viên của nhà xuất bản nổi tiếng không hề khó. Hơn nữa, sau khi tìm được, họ còn tiếp tục trao đổi với bạn về chủ đề sách.
5. Xác định chủ đề và quy trình xuất bản sách
Dưới đây là quy trình tôi trao đổi, hợp tác với biên tập viên nhà xuất bản và cuối cùng xuất bản sách.
Thứ nhất, sau khi liên hệ được với biên tập viên nhà xuất bản, trước tiên hãy thảo luận chủ đề. Bạn có thể chọn một hướng mình khá quen thuộc hoặc muốn chuyên sâu. Hướng này có thể là các thành phần distributed của Java, Spring Cloud, microservice, hoặc phân tích dữ liệu Python, machine learning hay deep learning. Nếu có kinh nghiệm dự án vững chắc trong lĩnh vực này thì càng tốt. Nếu hiện tại tuy chưa quen thuộc nhưng có đủ kiên trì để học có hệ thống trong thời gian ngắn, bảo đảm nội dung viết ra có tính hệ thống hoặc giúp ích cho người khác, thì bạn cũng có thể xuất bản sách về lĩnh vực đó.
Thứ hai, sau khi xác định hướng chủ đề, bạn có thể lập outline trước. Ví dụ với phân tích dữ liệu Python, bạn có thể chia thành 12 chương: chương đầu nói về cú pháp, chương hai nói về thư viện numpy, v.v. Khi lập outline, bạn có thể tham khảo mục lục sách của người khác để xây dựng nội dung viết. Sau khi hoàn thành outline, bạn có thể trao đổi với biên tập viên. Khi biên tập viên cũng đồng ý với outline, hai bên có thể xác định thỏa thuận xuất bản.
Với tác giả thông thường, thỏa thuận xuất bản thực ra khá giống nhau: nhuận bút thường là 8%, thời gian viết do hai bên thương lượng với nhà xuất bản, chu kỳ thanh toán có thể cũng tương tự, sau đó nhà xuất bản sẽ mua đứt bản quyền electronic và các dạng văn bản khác của cuốn sách. Nhưng nếu tác giả là chuyên gia nổi tiếng thì có thể thương lượng các chi tiết này với nhà xuất bản.
Sau đó là viết sách. Việc này rất khô khan, đặc biệt khi viết những chương cuối. Thông thường tôi dành nửa tiếng mỗi ngày trong các ngày làm việc, và 4 đến 5 giờ trong hai ngày cuối tuần để viết. Như vậy thường có thể hoàn thành một cuốn sách 300 trang trong nửa năm. Các kỹ thuật viết sách hiệu quả sẽ được đề cập chi tiết ở phần sau.
Khi viết sách, thông thường nên giao cho biên tập viên review sau mỗi chương hoàn thành, như vậy sẽ không dẫn đến vấn đề quá lớn. Hơn nữa, nếu là tác giả mới, cách dùng từ và kỹ năng viết lúc đầu đều cần tích lũy, nên biên tập viên nhà xuất bản có thể kịp thời hỗ trợ tác giả ngay từ giai đoạn đầu.
Sau khi viết xong và giao bản thảo cho biên tập viên, có thể sẽ trải qua ba vòng proofread và ba vòng review. Trong quá trình đó, biên tập viên hợp tác với tôi sẽ giúp sửa các vấn đề như ngữ pháp và lỗi chính tả, sau đó đưa ra danh sách góp ý sửa đổi để tôi xác nhận và chỉnh sửa. Theo những gì tôi biết, nếu xuất bản sách qua công ty sách thì rủi ro bị từ chối bản thảo thường phát sinh ở giai đoạn này, vì công ty sách có thể gửi toàn bộ bản thảo cho nhà xuất bản một lần. Nhưng vì tôi gửi trực tiếp từng chương cho biên tập viên nhà xuất bản review, nên ngay cả khi có vấn đề lớn thì cũng đã bộc lộ và được sửa trong vài chương đầu. Vì vậy, danh sách góp ý sửa đổi cuối cùng thường không dài. Nói cách khác, nếu trao đổi trực tiếp với nhà xuất bản thì khối lượng công việc ở giai đoạn ba vòng proofread và ba vòng review có thể không lớn. Thông thường sau khi gửi xong một cuốn sách, tôi để biên tập viên xử lý việc này, còn mình tiếp tục lên kế hoạch và bắt đầu viết cuốn tiếp theo.
Cuối cùng là nhận nhuận bút. Như đã nói, tác giả thực ra không nên kỳ vọng quá nhiều vào nhuận bút, có còn hơn không. Nhưng nếu vô tình viết được một cuốn sách bán chạy với doanh số khoảng 5.000 đến 10.000 bản, thì trong một năm có thể có thêm khoảng 50.000 tệ thu nhập, đồng thời tích lũy được chút danh tiếng trong ngành.
6. Viết sách theo case nhanh hơn viết sách kinh nghiệm
Với một số tác giả, đặc biệt là tác giả mới, xuất bản sách không dễ. Thường lúc đầu họ tràn đầy hứng khởi trong vài chương đầu, sau đó phát hiện vấn đề ngày càng nhiều, lại thêm công việc bận rộn nên bỏ dở, hoặc phải mất hơn 1 năm mới hoàn thành một cuốn sách. Theo cảm nhận của tôi, chu kỳ viết một cuốn sách 300 đến 400 trang dài nhất là 8 tháng. Để có thể hoàn thành một cuốn sách trong khoảng thời gian này, tôi đưa ra đề xuất tương ứng: tác giả mới nên viết sách theo case, đừng bắt đầu bằng sách giới thiệu kinh nghiệm.
Sách theo case là gì? Ví dụ, một cuốn sách dùng một case lớn xuyên suốt để giới thiệu có hệ thống một điểm kiến thức, chẳng hạn phát triển mini program hoặc phát triển full-stack. Hoặc mỗi chương của một cuốn sách trình bày một case, đưa ra khoảng 10 case về deep learning bằng Python trong một cuốn sách. Còn sách kinh nghiệm là gì? Ví dụ, sách giới thiệu kinh nghiệm phỏng vấn thuộc loại này; một số chuyên gia kỹ thuật viết sách giới thiệu kinh nghiệm phát triển distributed và high-concurrency cũng là sách kinh nghiệm.
Xin lưu ý, ở đây không phân biệt sự khác nhau giữa hai loại sách, mà chỉ muốn nói rằng với tác giả mới, sách theo case dễ viết hơn. Vì trong đó, phần lớn là nhìn hình rồi diễn giải: trước tiên đưa ra case (chẳng hạn case nhận diện hình ảnh trong deep learning bằng Python), sau đó giới thiệu cách sử dụng API thông qua case (chẳng hạn cách sử dụng thư viện tương ứng của Python), cũng như các điểm kỹ thuật tổng hợp (chẳng hạn cách dùng thư viện Python để triển khai tổng hợp chức năng nhận diện hình ảnh). Hơn nữa, sách theo case có ít phần cần tác giả tự phát huy hơn; tác giả không cần dùng lời của mình để hệ thống hóa kinh nghiệm liên quan. Với tác giả mới, khi tổ chức phần mô tả kinh nghiệm bằng văn bản, có thể xuất hiện cảm giác mình hiểu nhưng không biết diễn đạt thế nào. Một mặt, điều này khiến hiệu quả không đạt như kỳ vọng; mặt khác, việc không thể diễn đạt hiệu quả còn có thể làm chậm tiến độ.
Ngược lại, với sách theo case: thứ nhất, case thường có thể tham khảo từ người khác; thứ hai, giới thiệu công nghệ hiện có thường dễ hơn giới thiệu kinh nghiệm của bản thân; thứ ba, thường có sách cùng loại để tác giả tham khảo. Vì vậy tác giả không cần cân nhắc câu chữ quá nhiều, tác giả mới có thể hoàn thành một cuốn sách trong nửa năm đến tám tháng. Sau khi tích lũy được một số kinh nghiệm qua việc viết vài cuốn sách, tác giả có thể thử thách sách kinh nghiệm. Trong trường hợp đó, sách kinh nghiệm viết ra có thể bán chạy.
Vậy cụ thể làm thế nào để xuất bản một cuốn sách theo case hiệu quả?
- Với cả cuốn sách, trước tiên dùng một số ít chương để giới thiệu nội dung cài đặt môi trường và cú pháp cơ bản dùng chung.
- Khi viết case trong từng chương, hãy dùng cấu trúc tổng thể - phân tích - tổng kết: trước tiên giới thiệu khái quát nhu cầu, chức năng và các điểm kỹ thuật cần dùng của case; sau đó lần lượt giới thiệu cách triển khai code của từng chức năng; cuối cùng tổng kết các điểm cần lưu ý khi sử dụng những chức năng này.
- Khi giới thiệu code cụ thể trong case, cũng có thể dùng cấu trúc tổng thể - phân tích - tổng kết: trước tiên giới thiệu khái quát cấu trúc đoạn code; sau đó lần lượt giải thích code then chốt; cuối cùng đưa ra hiệu quả chạy và tổng kết các điểm triển khai kỹ thuật trong đó.
Như vậy, ban đầu có thể viết mỗi tháng một chương; sau khi thành thạo hơn, ước tính mỗi tháng có thể viết hai chương. Hoàn thành một cuốn sách trong 8 tháng khi đó cũng không còn là điều bất khả thi.
7. Cách tránh vấn đề bản quyền khi tham khảo nội dung hiện có
Khi viết sách, ít nhiều đều cần tham khảo code và sách hiện có, nhưng điều này hoàn toàn không phải lao động lặp lại. Ví dụ, một tác giả tổng hợp nhiều case từ các website khác nhau rồi trình bày có hệ thống về phân tích dữ liệu Python. Dù tài liệu có sẵn, độc giả vẫn có thể học một cách trọn vẹn tại một nơi. Tương tự, trong lĩnh vực neural network Python, 2 đến 3 cuốn sách hiện có lần lượt đưa ra một số case như nhận diện khuôn mặt. Nếu bạn tổng hợp chúng một cách hiệu quả, đồng thời bổ sung chức năng của mình trên nền tảng của người khác, thì điều đó cũng có giá trị với độc giả.
Điều này liên quan đến vấn đề bản quyền. Trước hết phải nói rõ, tác giả không được nuôi bất kỳ ảo tưởng nào. Nếu xảy ra vấn đề bản quyền, chưa xuất bản sách thì còn đỡ; nếu sách đã xuất bản, tác giả không những phải bồi thường mà còn mang tiếng xấu trong ngành, có thể nói là mất cả danh dự lẫn sự nghiệp. Tuy nhiên, tránh vấn đề bản quyền thực ra không khó.
- Không được đạo văn nội dung hiện có trên Internet, dù chỉ một câu cũng không được. Tác giả có thể viết lại dựa trên việc hiểu ý nghĩa câu chữ của người khác. Không được sao chép mục lục có sẵn trong sách của người khác, càng không được sao chép lời văn trong sách của người khác; cùng một câu cũng không được. Cách giải quyết tương tự là viết lại trên cơ sở đã hiểu.
- Không được sao chép code của người khác trên GitHub hay bất kỳ đâu, dù code đó là open source. Bạn có thể hiểu code của đối phương rồi chạy thử cho thông suốt, sau đó nhất định phải tự tạo một project mới, tham khảo code của người khác trong project của mình để triển khai chức năng. Trong quá trình này không được copy-paste những đoạn lớn. Nói cách khác, code của bạn và code của người khác không được giống nhau ở comment, cách đặt tên biến, tên class và tên method; tất nhiên bạn cũng có thể bổ sung chức năng của riêng mình.
- Khi viết phần giới thiệu kỹ thuật và case, bạn có thể dùng lời của chính mình, như vậy cũng không phát sinh vấn đề bản quyền.
Sau khi áp dụng các cách trên, tác giả có thể dựa trên tài liệu hiện có, bổ sung đầy đủ chức năng của riêng mình, viết ra cách hiểu độc đáo của bản thân, từ đó xuất bản sách của riêng mình một cách hiệu quả.
8. Những vấn đề tác giả mới cần đặc biệt tránh
Phần trên đã trình bày chi tiết quy trình xuất bản sách, đồng thời đưa ra phương pháp thực hành cụ thể qua sách theo case. Ở đây, tôi sẽ tập trung vào tác giả mới và đưa ra một số điểm thực hành cần lưu ý.
- Sách kỹ thuật khác sách văn học. Trước hết phải bảo đảm giải thích rõ các điểm kiến thức kỹ năng, sau đó mới có thể thêm một số cách diễn đạt sinh động, thú vị phù hợp. Vì vậy, với tác giả mới, thậm chí có thể trực tiếp dùng câu chữ giản dị để giới thiệu kỹ thuật trong case, không cần quá chú trọng sự sinh động trong cách viết.
- Nội dung cần hướng đến người mới bắt đầu. Khi giới thiệu kỹ thuật, hãy bắt đầu từ những kiến thức cơ bản nhất, đừng trình bày quá sâu. Lấy machine learning bằng Python làm ví dụ, có thể bắt đầu từ machine learning là gì và Python triển khai machine learning thế nào. Nhưng nếu ngay từ đầu đã trình bày kinh nghiệm thực hành trong machine learning thì chưa chắc người mới bắt đầu có thể học được.
- Tác giả mới chỉ muốn viết hết mọi điều mình biết. Thái độ này rất tốt, nhưng cần cân nhắc năng lực tiếp nhận khách quan của độc giả. Vì vậy, trước khi viết sách cần đặt ra hiệu quả kỳ vọng, chẳng hạn người phát triển Python chưa có nền tảng sau khi đọc sách của tôi ít nhất có thể bắt tay làm việc. Hiệu quả kỳ vọng không được bất khả thi, ví dụ không thể là “người phát triển Python chưa có nền tảng sau khi đọc sách của tôi có thể đạt trình độ development 3 năm”. Như vậy, bạn có thể xây dựng nội dung viết theo hiệu quả đã định trước, tập trung hơn vào kiến thức cơ bản trong sách để độc giả thực sự thu được điều gì đó.
Tuy nhiên, nói đi cũng phải nói lại, nếu tác giả mới trực tiếp liên hệ với biên tập viên nhà xuất bản, tìm một hướng đang được quan tâm và giải thích kỹ thuật dựa trên case, thì thậm chí có khả năng viết được một cuốn sách bán chạy với doanh số hơn 10.000 bản.
9. Tổng kết: xuất bản sách tại nhà xuất bản nổi tiếng trong nước thực ra là việc cần sức bền
Có thể hiện nay viết cho tài khoản công khai và quay video mang lại thu nhập cao hơn xuất bản sách. Nhưng có thể nói rằng vận hành tài khoản công khai và quay video cũng là việc lâu dài; trong thời gian ngắn chưa chắc đã có thu nhập, nếu không đăng nội dung có hệ thống thì thậm chí có thể không có thu nhập. Vì vậy, xuất bản sách có thể là một công việc chuẩn bị ban đầu rất tốt. Bạn tích lũy tài liệu có hệ thống qua việc xuất bản sách, tích hợp hệ thống kiến thức của mình qua việc xuất bản sách, rồi trên nền tảng đó kiếm tiền từ tài khoản công khai hoặc quay video có thể đạt hiệu quả gấp đôi với cùng công sức.
Qua phần trên, mọi người có thể thấy ở giai đoạn đầu của việc xuất bản sách, liên hệ với biên tập viên nhà xuất bản và xác định chủ đề không khó. Nếu viết sách theo case, thì trên cơ sở tham khảo nội dung của người khác, hoàn thành một cuốn sách thông thường có lẽ cũng không phải việc quá sức. Thậm chí có thể nói xuất bản sách là việc cần sức bền; chỉ cần kiên trì thì xuất bản một cuốn sách không khó, vấn đề chỉ là bạn có muốn tiếp tục hay không. Nhưng một khi có cuốn sách kỹ thuật của riêng mình, khi tìm việc bạn có thể tự tin nói với interviewer rằng mình là chuyên gia trong lĩnh vực này; trong video, tài khoản công khai và các bài viết của mình, bạn cũng có thể đường đường chính chính nói rằng mình là tác giả sách máy tính. Quan trọng hơn, cũng như kinh nghiệm ở trường danh tiếng và công ty lớn, cuốn sách kỹ thuật thuộc về bạn cũng là bằng chứng quan trọng chứng minh năng lực của programmer. Sau khi tích hợp hiệu quả hệ thống kiến thức liên quan qua việc xuất bản sách, thì trong lĩnh vực này, dù là tìm việc, nhận việc ngoài hay nhận dự án, bạn đều có thể tự tin nói với người khác: Tôi làm được!
Lời cuối
Nếu nội dung hữu ích với bạn, hãy tiện tay tặng JavaGuide một Star miễn phí để ủng hộ: GitHub | Gitee.
JavaGuide đã được duy trì gần bảy năm, tích lũy 6100+ commit, với sự chung tay hoàn thiện của 620+ contributor. Star, phản hồi và PR của bạn đều là động lực để dự án tiếp tục cập nhật.
Nếu bạn đang chuẩn bị phỏng vấn backend / phát triển ứng dụng AI, có thể tham khảo Knowledge Planet của tôi, bao gồm các project thực tế về backend và AI, tối ưu CV, hỏi đáp 1-1 và tài liệu về các trọng điểm thường gặp, đã được duy trì liên tục sáu năm.
