Jou Lập trình được tạo ra, không chỉ bởi vì tôi có trái tim màu hồng, mà còn bởi vì tôi và để cho tôi.
Câu hỏi này có thể sẽ rất đơn giản và dễ đoán với mọi người, bởi theo lẽ thường, những người sáng lập ra các gì đó đều dùng mọi lời hoa mỹ để nói về đứa con cưng của họ, và với Jou Lập trình, một cộng đồng phi lợi nhuận và chỉ thấy toàn cống hiến và sẽ chia thì càng dễ dàng đưa nó lên mây hơn nữa.
Tôi viết bài này nhằm đánh dấu hơn bảy tháng trưởng thành của Jou Lập trình (http://d.jou.vn) và cũng nhằm chia sẽ với mọi người về mục đích và niềm mong mỏi của tôi ở Jou Lập trình, ở tôi và ở mọi người.
Trước tiên, ai cũng có thể khẳng định rằng tôi là người yêu lập trình, thích chia sẻ và mong muốn mang tri thức đến cùng mọi người. Nhưng như thế cũng chưa đủ để tôi xây dựng một hệ thống hơi phức tạp (3 websites riêng biệt) và lại xây dựng từ đầu, không sử dụng bất cứ một phần mềm mã nguồn mở nào.
TIếp đó là câu hỏi tại sao ta không chia sẻ với nhau tri thức bằng tiếng Anh để hòa giọng với toàn thế giới mà lại là tiếng Việt? Tại sao tôi và hai học trò của tôi phải bỏ tiền túi để duy trì và phát triển cộng đồng này, tại sao tôi hàng đêm phải code và viết bài cho nó, thay vì đó, nếu tôi chịu đi dạy ở một số trung tâm, hoặc chịu khó làm free lancer tôi sẽ kiếm được cũng không ít tiền, chứ không phải ở tình cảnh có đồng nào xào đồng đó như bây giờ?
Đó là bởi vì..
Tôi vốn xuất thân là một giảng viên, tôi ngờ nghệch với cuộc sống, tôi đã từng hoang mang lo lắng vì không biết mỗi ngày nên làm những gì, tôi thấy việc theo đuổi địa vị, chức quyền và các mối quan hệ chính trị là vô nghĩa đối với tôi. Thực sự tôi không có niềm vui ở con đường quan chức, tôi cũng chả vui với cái danh giảng viên đại học hão và bằng cấp các loại. Tôi chán ngấy với tôi, với cái hình ảnh của con bò nhai lại, mỗi ngày lên trường và giảng dạy những thứ đã rất cũ, nhàm chán và không được cho phép đổi mới dù một xiu. Tôi không đủ kiên nhẫn để chờ đợi đến khi nền giáo dục thay đổi, tôi không đủ sức để tự mình phát triển trong một môi trường chỉ toàn cạnh tranh chức tước, và đôi khi chỉ vì miếng cơm manh áo mà người ta sẵn sàng hãm hại lẫn nhau. Tôi bỏ nghề đi dạy và chọn sự nghiệp lập trình viên, nhưng tính tới giờ thời gian tôi chính thức được gọi là lập trình viên chỉ là chín tháng. Thời gian đó quả không dài trong hơn sáu năm đi làm, đúng không các bạn.
Hồi đó tôi từng đọc những cuốn sách một, từ các cuốn của Phạm Hữu Khang để lấy kiến thức và vốn từ chuyên môn bằng tiếng Việt và ánh xạ chúng qua tiếng Anh, rồi đọc hết các cuốn sách tiếng Anh để có tư duy lập trình. Tôi đã phải đọc hàng trăm bài blog để tự học ASP.NET MVC khi nó mới ở bảng Preview 3 (2008), và hàng tá các cuốn sách về lập trình khác để tự xây dựng kỹ năng cho mình. Đến giờ thì tôi đã có thể làm được nhiều thứ, hiểu được nhiều hơn..
Nói những điều ở trên là bởi vì tôi hiểu, có nhiều người như tôi không muốn phải dày vò mình trong những điều họ không muốn, họ chỉ muốn được học hỏi, làm công việc kỹ thuật và cứ thế tiến lên.
Nói như trên là bởi vì tôi hiểu, một lập trình viên nói tiếng Việt phải bỏ ra rất nhiều công sức để học hỏi mới mong nganh bằng được với mọi người trên toàn thế giới. Bởi mọi ngôn ngữ lập trình đều tựa tiếng Anh, phần lớn các nguồn tài nguyên về lập trình đều là tiếng Anh. Để là lập trình viên giỏi, việc đầu tiên bạn phải giỏi tiếng Anh. Để làm team leader giỏi, việc đầu tiên bạn phải giỏi tiếng anh để giao tiếp khách hàng. Để là Software Architect giỏi, đầu tiên bạn phải giỏi tiếng Anh để có thể viết được proposal, vẽ được high-level architecture của ứng dụng, nói cho khách hàng hiểu…
Nghĩa là, để trở thành một lập trình viên giỏi, bạn phải đi một con đường chông gai gấp hai ba lần so với người Anh, người Mỹ học lập trình. Bạn sẽ khó khăn nuốt từng dòng trong sách lập trình viết bằng tiếng Anh, bạn sẽ chỉ đọc mã ví dụ và lướt qua những đoạn viết dông dài (nhưng quan trọng vì nó giải thích mọi lẽ) để học cách viết code. Bạn trở thành một tay thợ hạng bét, chỉ biết rập khuôn làm theo thứ mình thấy mà chả cần phải hiểu tại sao như vậy. Bạn phải gác giấc mơ lập trình giỏi để học tiếng Anh giỏi cái đã. Bạn khốn đốn vì không tìm ra được những nguồn lập trình tốt bằng tiếng Việt. Bạn hỏi mọi người và ai cũng chỉ trả lời bạn qua loa, bởi với một số lập trình viên Việt, biết được một chút đã quý bằng kho vàng, và chẳng dại gì đem ra cho khi vàng đó có thể tạo ra tiền cho mình.
Đó là lý do tôi muốn viết bài thật đàng hoàng, chia sẻ tri thức được tuyển chọn và xây dựng một cách kỹ lưỡng, là cầu nối cho các bạn giữa vị thế của người Việt ít biết tiếng Anh nhưng muốn học lập trình. Bạn sẽ muốn đọc những bài viết chất lượng, giải thích rõ ràng, mã nguồn đúng chuẩn. Bạn sẽ muốn có bước đệm trước khi bạn có thể đọc sách lập trình bằng tiếng Anh dễ như ăn cháo. Jou Lập trình sẽ mang lại cho bạn bước đệm đó, Jou Lập trình sẽ là chiếc cầu thang giúp bạn đi nhanh hơn. Bởi tôi nghĩ, để vượt rào cản đôi khi không phải là phá cái rào đó, mà hãy bắt thang trèo qua (việc đó dễ hơn), và để học lập trình, bạn không nhất thiết phải đợi đến lúc bạn là người nói tiếng Anh rất lưu loát, đọc và hiểu tất cả, Jou Lập trình với hệ thống bài viết của mình còn giúp bạn học được tiếng Anh lập trình đấy bạn ạ.
Lý do thứ hai là vì từ lâu tôi đã nhận ra được ý nghĩa của sự buông bỏ, ý nghĩa của việc chia sẻ tri thức. Tri thức nhân loại quá lớn, có thể học cả đời không hết, việc giữ lại tri thức chỉ càng làm cho mình trở nên dốt nát và thiếu cầu tiến hơn, phải biết rằng những thứ mình học và đọc được chưa là gì cả, để rồi học tiếp, đọc tiếp để có thể học được những thứ hữu ích hơn nữa, để xây dựng được những phần mềm thực sự đẹp. Để thể hiện rằng, phía trước vẫn còn những tri thức đẹp hơn, giá trị hơn, tôi và bạn phải sẵn sàng buông bỏ cái mình đang có bằng cách chia sẻ. Và nói sên sến một chút, đó là làm cho tri thức mình thu thập được có giá trị hơn khi mang lại cho mọi người và giúp họ cùng sử dụng tri thức đó một cách hữu ích. Tri thức có mà không xài thì cũng chỉ là đồ bỏ.
Lý do thứ ba, đó là bởi vì tôi muốn tiếp tục luyện tập kỹ năng lập trình bằng cách xây dựng Jou Lập trình, trước đây tôi đã cùng nhóm của mình xây dựng http://geeksship.com để chia sẻ tri thức với toàn thế giới, nay tôi duy trì nó làm kỷ niệm, bởi tầm vóc giấc mơ dành cho Geeksship.com quá lớn, sức tôi không đủ để làm. Còn với Jou Lập trình là ước mơ nhỏ hơn, vừa sức hơn, và tôi có thể cập nhật tính năng cho nó hằng ngày, áp dụng kiến trúc đẹp cho nó và làm cho nó tốt hơn mỗi ngày.
Lý do thứ tư, đó là tôi muốn có cộng đồng, tôi muốn đóng tàu lớn để mọi người cùng đi ra biển, tôi muốn được nói tiếng mẹ đẻ của mình, chia sẻ suy nghĩ bằng tiếng mẹ đẻ của mình, bởi ngày nào tôi cũng ra rả với các bạn nước ngoài, và tôi thật là khổ khi phải tự làm máy phiên dịch cho mình mọi lúc mọi nơi.
Thực sự, tôi muốn kích thích tôi và các bạn để có thể tạo ra được các sổ tay lập trình của mình, và sau đó sẽ tạo ra một kho tri thức lập trình lớn cho cộng đồng người Việt. Những khóa học lập trình mà mọi người trên cả nước, từ học sinh cấp 2 cũng có thể học và lập trình được.
Mơ ước của tôi là đến tháng 09 năm 2013, con tàu Jou Lập trình sẽ chở được hàng ngàn lập trình viên Việt ra biển lớn, để học tập và sẻ chia, để có thể tạo ra một thế hệ lập trình viên có tri thức và hiểu biết về lập trình hơn là những con kiến thợ chăm chỉ như bây giờ. Lập trình là niềm vui, xây dựng ứng dụng có kiến trúc tốt là một nghệ thuật, và tôi đang học tập một cách riết ráo để có thể thiết kế được những phần mềm không chỉ cho cá nhân, cộng đồng mà còn cho môi trường doanh nghiệp. Tôi sẽ phải học nhiều hơn nữa, và tôi sẽ chia sẻ hết lên Jou Lập trình.
Để tôi tiến bộ hơn!