Rảnh rỗi không biết code gì, sao không làm pet project?

Hôm trước, sau khi post bài viết “Lập trình viên lúc rãnh rỗi thì làm gì?”, mình nhận được một câu hỏi từ nhiều bạn: “Anh ơi, lúc rảnh em thích code cơ! Nhưng mà em không biết phải code gì?”.

Mình viết bài này để trả lời tường tận hơn câu hỏi của các bạn. Lời khuyên của mình là: Nếu không biết code gì, hãy tìm pet project và code. Pet project ở đây là một dự án ngắn ngắn, nho nhỏ do chúng ta tự nghĩ ra.

Vậy code pet project thì được gì? Làm sao nghĩ ra ý tưởng và giới thiệu pet project tới mọi người? Đọc bài viết để biết nhé!

Làm Pet Project thì được lợi ích gì?

Lợi ích đầu tiên là nâng cao trình độ. Muốn code giỏi thì phải … code nhiều. Với pet project, tự nghĩ requirement, không có áp lực về deadline, ta có thể code một cách thoải mái, đúng chuẩn mà không lo bị PM “thúc đít”.

Khi đi làm, do yêu cầu công việc, đôi khi bạn phải bảo trì ứng dụng cũ, sử dụng các công nghệ cũ. Với pet project, bạn có thể thoải mái nghịch ngợm các ngôn ngữ/framework mới và các API linh tinh. Điều này giữ cho kiến thức của bạn không bị lỗi thời. Nếu công việc không yêu cầu code nhiều nhưng bạn vẫn còn đam mê, code pet project cũng giúp bạn đỡ bị… xuống tay nghề.

Quan trọng hơn, có vài pet project trong tài khoản github hoặc CV sẽ chứng tỏ cho nhà tuyển dụng thấy bạn là người đam mê công nghệ, luôn tìm tòi học hỏi cái mới (Ví dụ). Hai ứng viên có cùng trình độ, người có pet project đương nhiên sẽ được đánh giá cao hơn.

Ngoài ra, nếu may mắn, pet project của bạn có thể có nhiều người biết đến và sử dụng, hoặc có thể phát triển lên thành startup, như Flappy Bird của bác Hà Đông chẳng hạn. (Cách đây vài tuần mình cũng có release cái Nhận Diện Idol cơ mà do nhiều người dùng quá nên nó toi rồi).

screen-shot-2016-12-18-at-1-09-45-am
Trafic của “Nhận diện idol” sau 3 ngày công bố

Lấy ý tưởng ở đâu?

Vấn đề nhiều bạn gặp phải khi muốn làm một pet project là: Không nghĩ ra ý tưởng để code. Đây là một số gợi ý cho các bạn:

  • Phát triển từ tutorial: Khi học công nghệ, các bạn thường được hướng dẫn làm theo demo. Hãy nghĩ ra chức năng mới, mở rộng thêm tính năng của bản demo này để biến nó thành pet project.
  • Chôm ý tưởng: Nhiều bạn startup cứ giữ kín ý tưởng, sợ bị Sơn Tùng chôm mất. Thật ra, ý tưởng thường chỉ đáng giá vài cốc trà đá thôi. Các bạn có thể vào ideaswatch để “chôm” ý tưởng. Trong này các ý tưởng được đăng công khai, thoải mái cho bạn chọn.
  • Copy cái có sẵn: Viết một chương trình tương tự Facebook, Instagram nhưng nhỏ hơn. Chức năng mẫu có cả rồi, bạn chỉ việc chọn lựa tính năng vừa sức và code thôi.
  • Giải quyết vấn đề của bản thân, người quen: Bạn hay dậy muộn, hãy viết app báo thức. Bạn thích đi nhà nghỉ, hãy viết app tìm nhả nghỉ quanh bạn. Ông của bạn thích đánh đề, hãy viết chương trình … dự đoán kết quả lô đề. Từ feedback của người dùng, bạn có thể phát triển thêm dự án.

head-10-things-to-consider-when-choosing-project-management-software

Đưa pet project ra ánh sáng

Hoàn thành pet project rồi, nhưng nếu bạn để nó nằm im trong xó thì nó sẽ trở nên vô dụng. Nhiều bạn có thói quen code được nửa chừng rồi… bỏ. Điều nay rất lãng phí thời gian và công sức.

pet-project

Thay vì vậy, hãy cố gắng hoàn thành pet project (dù nhỏ) của mình, sau đó đưa nó ra ngoài ánh sáng. Một số lựa chọn để deploy project:

  • Hiện tại, có vô số service cho phép host ứng dụng miễn phí như Heroku, OpenShift RedHat. Cả AzureAWS đều có phiên bản miễn phí trong 1 năm, dư sức cho bạn host ứng dụng. Giai đoạn đầu bạn sẽ gặp chút khó khăn khi deploy (host, database), bù lại bạn sẽ tự học được khá nhiều.
  • Nếu là ứng dụng di động Android, hãy compile lại thành file APK rồi up lên đâu đó, dụ bạn bè cài đặt (iOS thì chịu rồi).
  • Hiện tại mình sử dụng serverless architecture, sử dụng RestfulAPI có sẵn, trong 1 số trường hợp thì tự viết API. Front-end là file HTML tĩnh, chỉ việc upload lên Github Pages, link vừa đẹp vừa dễ nhớ.

Bài viết đến đây là hết rồi. Nếu có câu hỏi hay thắc mắc gì, các bạn cứ đăng trong phầm comment nhé.

Dưới đây là một số pet project từ trước đến giờ của mình (source code open trên github):

24 thoughts on “Rảnh rỗi không biết code gì, sao không làm pet project?”

  1. Game nhận diện girl và ladybody của anh Hoàng lừa tềnh nhá. Cùng 1 hình mà lúc thì girl đúng, lúc thì ladybody đúng. Nhưng em vẫn thắng 100% 😀

    Like

      1. Girl đúng, nhưng cùng là 1 hình nhưng xuất hiện ở 2 vòng khác nhau thì chưa chắc chọn lại hình đó đã đúng 😀

        Like

  2. a Hoàng khi nào livestream hướng dẫn làm project đi, thí dụ như hướng dẫn làm full 1 cái project = java, hay php, hay wordpress, hay ứng dụng windown form chả hạn.

    Like

Leave a reply to anphawolf Cancel reply