Huy's Blog Theo dõi blog này

Vài điều linh tinh về Github

Có lẽ đối với dân developer thì không ai lạ gì Github. Có lẽ ngoài StackOverflow ra thì đây là một trang web có tần suất truy cập thường xuyên nhất của một developer chân chính :troll:

Github là cái gì?

Dành cho các bạn chưa biết, thì Github là một dịch vụ lưu trữ mã nguồn phổ biến nhất hiện nay, bên cạnh các dịch vụ đình đám khác như là Bitbucket hoặc Gitlab.

Trước đây thì là vậy, cho đến giờ chức năng chính của Github thì vẫn là trung tâm lưu trữ bài giải... à nhầm, mã nguồn lớn nhất hành tinh. Cơ mà nó còn có một chức năng khác mà khá ít người không biết đó là: Mạng xã hội.

Mạng xã hội Github????

Vâng, các bạn không đọc nhầm đâu, mạng xã hội. Tuy nhiên nó không giống như những mạng xã hội đại trà như Facebook hay Google+ (Twitter hết được liệt kê là mạng xã hội rồi) mà nó là nơi dành riêng cho các developers so tài cao thấp.

Vậy so tài như thế nào? Tại sao nó lại là mạng xã hội dành cho developer?

Nút star trên Github

Nhắc đến Github phải nhắc đến nút star. Thường thì khi nào các bạn sẽ bấm nút star?

Nút star có lẽ được nhiều người dùng như là một công cụ đánh dấu, nếu thấy project đó hay thì sẽ đánh dấu cái project đó lại bằng cách star nó một phát. Có lẽ đọc đến đây bạn sẽ thấy nó giống với Facebook, ai thích thì like một phát. Nhưng bản chất về cách sử dụng của nút Star là khác so với Like.

Và project nào có càng nhiều star, chứng tỏ càng nhiều người thấy nó hay ho. Vậy nên từ đó, xuất hiện một vài thành phần thanh niên sống ảo bằng số lượng star trên Github =))

Nói chơi thôi, việc kiếm star trên Github cũng không đến nỗi phù phiếm như vậy đâu =))

Tham gia contribute trên Github

Bên cạnh việc star để bày tỏ sự quan tâm hay khích lệ tinh thần một developer nào đó trên Github. Bạn còn có thể tự mình trực tiếp tham gia vào project đó nếu cảm thấy mình đủ khả năng.

Việc đóng góp này là hoàn toàn tự nguyện, và không hề vụ lợi (cả 2 bên, người đóng góp và người nhận được sự đóng góp).

Vậy nếu thế thì có ích lợi gì?

Thứ nhất bạn sẽ được tham gia vào một project thực tế và được cộng tác với hàng trăm ngàn developer giỏi đến từ khắp nơi trên thế giới. Trong quá trình cộng tác này chắc chắn bạn sẽ học hỏi được rất nhiều thứ từ họ.

Thứ hai, tên tuổi của bạn cũng sẽ được gắn liền với project mà bạn tham gia đóng góp. Và nếu đó là một project lớn, nổi tiếng như vim, homebrew hay thậm chí là linux kernel thì bạn quả thực là một developer xuất sắc. Đó là trong trường hợp đóng góp của bạn góp phần đáng kể vào project. Có nhiều người vì danh lợi nên chỉ lên đóng góp vào các công việc kiểu như sửa lỗi chính tả trong README.md hay giỏi hơn một tí là sửa vài kí tự trong source code, cốt chỉ để cho tên của mình xuất hiện trên bảng phong thần collaborators. :))))

Chi tiết về cách tham gia contribute trên Github mình sẽ nói rõ hơn ở một bài viết khác.

Giới thiệu dự án của mình với cộng đồng

Nếu bạn cảm thấy mình có khả năng, hoặc có ý tưởng nhưng không đủ sức để thực hiện nó một mình, hoặc đơn giản là bạn chỉ muốn khoe với thế giới rằng bản thân bạn cũng có thể làm được cái gì đó. Thì bạn nên tạo một project trên Github và giới thiệu nó với cộng đồng.

Khi project của bạn đạt được một lượng star nhất định trong một thời điểm, ví dụ hơn 50 stars trong một ngày, rất có thể bạn sẽ được liệt kê trên bảng Github Trending, đây là một bảng xếp hạng các project hấp dẫn dựa trên số lượng star đạt được trong ngày/tuần/tháng.

Rất nhiều người theo dõi các bảng xếp hạng này hằng ngày, vì thế một khi bạn có project được liệt kê trên này thì tỉ lệ nổi tiếng của bạn rất cao =))) tuy nhiên rất cao không có nghĩa là chắc chắn bạn sẽ nổi tiếng. Có vô số project chỉ nổi lên trong vòng một ngày rồi lặn mất tăm.

Và một khi project của bạn thu hút được nhiều người, sẽ có một vài người quan tâm và xắn tay áo lên cùng tham gia với bạn để hoàn thiện nó. Như vậy không phải là rất có lợi sao? :D

Như vậy, ngoài vấn đề danh tiếng (cơ hội được nổi tiếng :)))), và cơ hội học hỏi, giao lưu với các developer trên khắp thế giới, còn lý do nào khác để bạn sử dụng Github nữa không? Câu trả lời là: Còn.

Một tài khoản Github hoạt động tích cực

Có rất nhiều công ty lớn trên thế giới xem đây là một yêu cầu trong quy trình tuyển dụng của họ. Nếu bạn có nhiều đóng góp cho cộng đồng hoặc có nhiều sản phẩm trên Github, sẽ là một lợi thế rất lớn so với các ứng viên khác. Vì bằng cách đăng tải các project của mình lên đây, bạn đã tạo cho mình một profile cá nhân vô cùng đáng tin cậy, vì khi nhìn vào đó, nhà tuyển dụng sẽ biết được ngay thế mạnh của bạn là gì, và khả năng coding của bạn thế nào. Tất nhiên là nếu bạn code tốt thôi, còn nếu code tệ mà vẫn cứ thích đưa lên thì đừng hỏi tại sao không ai thèm tuyển :v


Trên đây là một vài ghi chép linh tinh của mình về Github, và lý do tại sao nên bắt đầu sử dụng Github một cách nghiêm túc: đó là đóng góp cho cộng đồng và giới thiệu project cá nhân, thay vì suốt ngày chỉ lên đây để copy & paste các đoạn code do người ta viết sẵn đem về sử dụng mà không đem lại được ích lợi hay sự phát triển nào cho bản thân cả.

Cuối cùng thì cho phép mình được khoe tài khoản Github của mình một tí :))) https://github.com/huytd

Gõ xong nhấn Ctrl + Enter để gửi.