Vì sao Developer nên có ít nhất một Side Project?

Chắc hẳn bạn đã ít nhất một lần nghe qua cụm từ Side Project và phần nào có thể hiểu được những lợi ích khi phát triển một Side Project. Bài viết này sẽ giúp các Developer làm rõ xem Side Projects là gì và có nên lựa chọn nó như một cách để nâng cao trình độ, tích lũy kinh nghiệm trong sự nghiệp phát triển phần mềm. Bên cạnh đó là hướng dẫn và lưu ý nếu bạn muốn bắt đầu một Side Projects hiệu quả!

Side Project là gì? Vì sao Developer nên có ít nhất một Side Project?
Side Project là gì? Vì sao Developer nên có ít nhất một Side Project?

Side Projects là gì?

Side Projects tạm dịch là những dự án phụ. Đó có ý nghĩa là những dự án được thực hiện nhưng không thuộc trong công việc chính thức của một người - trong bài viết này là Developer tại nơi làm việc, mà là những dự án mang tính cá nhân không chính thức.

Các dự án đó có thể là Developer tự nghĩ ra và thực hiện hoặc có thể tham gia vào một nhóm dự án khác không nằm trong công việc chính thức toàn thời gian.

Hiện nay có rất nhiều Developer cũng như những lập trình viên mới bắt đầu tham gia vào thị trường lao động với một công việc chính thức trong vài năm, nhưng bên cạnh đó họ đã sở hữu cho mình một vài Side Projects nho nhỏ và thú vị. Câu hỏi đặt ra là có lợi ích nào từ việc này mang lạilàm thế nào để bắt đầu một Side Project cho mình, cùng tiếp tục tìm hiểu qua những nội dung dưới đây nhé! 

Những đặc điểm chung của những Developer có làm Side project?

Trong nhiều thống kê của thị trường nhân lực IT cho thấy rằng số người có kinh nghiệm ở cấp độ Junior chiếm đa số 40% trên tổng số các lập trình viên. 

Tuy nhiên cũng cần phải nói thêm rằng số năm làm việc và cấp độ kinh nghiệm không tỉ lệ thuận với nhau. Tức là có những developer có ít năm làm việc nhưng trình độ chuyên môn cao và ngược lại cũng có những developer với nhiều năm làm việc nhưng trình độ chuyên môn chỉ được đánh giá ở mức Junior và Middle. Vậy sự khác biệt của 2 nhóm developer này nằm ở cách họ tận dụng thời gian của mình.

Bên cạnh những công việc dev chính được công ty giao cho, các developer cũng cần chủ động tìm kiếm thêm cho mình những cơ hội được thực hành và tích lũy kinh nghiệm và Side Project là một lựa chọn đáng cân nhắc.

Nói chung, khi so sánh các Developer có cùng kinh nghiệm tính theo số năm và tháng, người ta nhận thấy rằng các Developer có làm việc nhiều trên các Side Project sẽ các đặc điểm như sau:

  • Code của họ tối ưu hơn và họ cung cấp các giải pháp làm việc nhanh hơn.
  • Họ biết khi nào cần giúp đỡ những người khác và khi nào họ cần giúp đỡ, thường biết chi tiết cụ thể về vấn đề của mình hơn là chỉ biết bị mắc kẹt trong đó.
  • Họ háo hức học hỏi những điều mới hoặc tiên phong đề xuất các công nghệ và quy trình mới vào quá trình phát triển phần mềm trong công việc chính thức
  • Họ nắm rõ về các xu hướng công nghệ kỹ thuật, các lĩnh vực đang phát triển và có thói quen theo dõi, khám phá những tools mới thường xuyên hơn.

Bài viết cố ý sử dụng từ “đặc điểm” vì những điều này không phải lúc nào cũng tốt. Năng lượng của một Developer mới phải được tập trung để những thay đổi về đặc điểm này chuyển hóa thành lợi ích cho công việc chính thức của họ, chứ mục đích không phải là làm thật hoàn hảo các Side Project.

Ví dụ: đặc điểm tốc độ làm việc nhanh hơn có thể là một lợi ích lớn, nhưng không chú ý đến chi tiết hoặc bức tranh lớn hơn, nó cũng có thể dẫn đến nhiều bugs hơn. Hoặc thật tuyệt khi có một developer háo hức muốn thử công nghệ mới nhưng cũng thật khó để thành công khi liên tục đổi mới chính mình.

Kết hợp hai ý này với nhau ta hiểu được rằng Side Project là một lựa chọn thú vị và mang lại những lợi ích chính cho cá nhân developer và nhưng cũng cần phải mang lại giá trị cho công việc chính thức mà họ tham gia, vì đây sẽ là nơi đánh giá chính thức những tiến bộ trong năng lực của họ và thể hiện tinh thần trách nhiệm trong tố chất của họ.

Lợi ích của việc làm một Side Project đối với Developer 

Hiện thực hóa những ý tưởng mà bạn là tác giả: 

Trong công việc chính thức của bạn đôi khi không thể phân bố cho bạn cơ hội lập trình và phát triển các dự án mà bạn thực sự hứng thú, những điều bạn được giao cho tất cả phải phụ thuộc vào công ty. Như vậy không có nghĩa là bạn phải chuyển việc liên tục cho đến khi tim được công ty có những dự án hợp gu bạn, trên thực tế điều này là không thể.

Vậy nên Side Project là lựa chọn giải pháp cho những mong ước của bạn, để bạn có thể sống và làm việc với niềm yêu thích của mình.
Tự mình làm ra một phần mềm hoặc ứng dụng sẽ khiến bạn cảm thấy công việc của mình thật ý nghĩa! Từ đó bạn sẽ nuôi dưỡng được lửa đam mê với nghề phát triển phần mềm và với lĩnh vực IT

Đam mê là điều quan trọng, ảnh hưởng rất lớn trong sự thắng tiến của bạn, nhưng không hề đơn giản để duy trì sau nhiều năm làm việc. Vậy tại sao không bắt đầu với những dự án của riêng mình!

Tăng khả năng Leadership và giải quyết vấn đề

Các Side Projects, đặc biệt là các solo Side Projects, buộc các developer phải nỗ lực hơn để cố gắng giải quyết vấn đề thay vì ngay lập tức yêu cầu trợ giúp. Có rất nhiều nguồn tài nguyên tuyệt vời để bạn có thể tự điều tra các vấn đề (gaps) — chẳng hạn như Stack Overflow, nhưng cũng đừng quá phụ thuộc vào nó. 

Thiếu đi một sự hỗ trợ tức thời là một thách thức nhưng cũng là một cơ hội để Developer vận dụng những điều mình biết đồng thời tự giác nghiên cứu thêm. Một khi họ có thể tự mình giải quyết các vấn đề một cách nhất quán thì kinh nghiệm giải quyết vấn đề đó sẽ trở thành "vốn liếng" giá trị của riêng họ. 

Hơn nữa khi Developer mang những gì họ học được từ trải nghiệm trong Side Project vào các dự án chính thức, họ sẽ nhanh chóng trở nên linh hoạt hơn trong các loại vấn đề mà họ có thể giải quyết vì họ có kinh nghiệm tư duy để giải quyết vấn đề một cách logic.

Bên cạnh đó việc này còn giúp họ tăng khả năng tự làm chủ công việc (Một phần của kỹ năng Leadership).

Học được thêm nhiều kỹ năng kỹ thuật mới

Làm Side Projects giúp Devloper học được thêm nhiều kỹ năng kỹ thuật mới!
Làm Side Projects giúp Devloper học được thêm nhiều kỹ năng kỹ thuật mới!

Cho dù là solo hoặc là thành viên trong một Side Project thì đây đều là thiên đường để khám phá — để học các ngôn ngữ lập trình và framework mới

Lầm tưởng về Side Projects:

Nhiều lầm tưởng cho rằng tất cả kết quả của Side Project phải là một sản phẩm phần mềm và ứng dụng thì mới gọi là làm Side Project, nhưng thực tế có rất nhiều hình thức Project (dự án) khác nhau, không chỉ là dự án sản xuất, chế tạo ra một sản phẩm mà còn là một dự án nghiên cứu về một kỹ thuật mới nào đó, thì đây cũng được xem là một Side Project, miễn là Developer thu được một kết quả và giá trị cụ thể đúng như mục tiêu ban đầu.

Chính vì điều này, các Developer vẫn có thể tạo cho mình một Side Project theo dạng một dự án nghiên cứu giải pháp (quy mô nhỏ và nhanh chóng) khi họ cần giải quyết một vấn đề khó. Cách làm này có thể gia tăng thêm động lực giải quyết và hoàn thành dự án chính thức

Ngoài ra, nếu có một ngôn ngữ hoặc công cụ mới thú vị mà team phát triển trong công ty đã nói đến nhưng chưa khám phá, thì Side Project có thể là một không gian tuyệt vời để tạo ra những kiến thức và kinh nghiệm về khái niệm mới này, sau đó sẽ chia sẻ nó với các thành viên trong nhóm bằng hình thức Seminar chẳng hạn!

Làm phong phú và tăng giá trị profile của bạn

Bạn là một Developer làm việc chăm chỉ và là người luôn hướng đến các cơ hội mới cho mình nếu phù hợp và mang lại lợi ích cho sự nghiệp cũng như cuộc sống của bạn, dù đó là các cơ hội công việc chính thức hay các dự án cần thêm "tay" của Freelancer.

Vậy câu hỏi đặt ra là làm cách nào để thể hiện sự chăm chỉ và nỗ lực của bạn trước các cơ hội mới, hay nói cách khác là làm thế nào để bạn chứng minh mình là một lựa chọn đáng giá cho các cơ hội này.

Ngoài các thành tích, bằng cấp, chứng nhận và tuyên dương làm việc hiệu quả tại các công ty trước đến hiện tại thì Side Projects sẽ cho bạn thêm một bằng chứng giá trị và rõ ràng hơn về các kỹ năng kinh nghiệm của mình!

Nếu bạn đã có các Side Projects thì hãy nhanh chóng cập nhật chúng vào Portfolio trên Profile và trong CV của mình để tiếp cận các cơ hội sự nghiệp phù hợp, thậm chí là tốt hơn cho bạn. Hành trình nắm được cơ hội này cũng sẽ dễ dàng hơn.

Làm phong phú và tăng giá trị profile của bạn
Làm phong phú và tăng giá trị profile của bạn trong CV trước các cơ hội việc làm mới

Phù hợp với nhịp độ của bạn

Bạn có thể bắt đầu Side Project bất cứ khi nào bạn muốn mà không có áp lực cao về deadline để hoàn thành chúng, mọi thứ phụ thuộc hoàn toàn vào nhịp độ và mong muốn của bạn.

Hơn nữa bạn có thể toàn quyền điều chỉnh, thay đổi và thêm thắt bất cứ điều gì cho Side Project khi bạn "solo".

Với sự ưu tiên cho các công việc và dự án chính thức thì Side Project của riêng bạn sẽ đáp ứng sự ưu tiên này, không khiến bạn căng thẳng vì phải chạy đua cho quá nhiều công việc bắt buộc hoàn thành.

Những điều cần lưu ý để bắt đầu một Side Project?

1. Xác định những điều bạn muốn học được thông qua Side Project

Trước khi bạn bắt đầu xây dựng một cái gì đó, hãy nghĩ về những gì bạn muốn đạt được từ dự án. Bạn muốn học gì? Bạn muốn thực hành những gì?

Nên chỉ đặt một điều bạn muốn đạt được thay vì muốn nhiều điều khác nữa. Chắc chắn, bạn cũng có thể đạt được những thứ khác, nhưng trước tiên hãy tập trung vào một điều.

Việc đặt một mục tiêu duy nhất sẽ giúp bạn ra quyết định đúng đắn trong quá trình phát triển dự án.

Ví dụ, bạn có nên viết các test case không? Nếu mục tiêu chính của bạn là thực hành để tối ưu hóa code của mình thì có thể việc dành nhiều thời gian và công sức để lập test case có vẻ sẽ không phù hợp lắm!

Hãy tận dụng tối đa thời gian ngắn nhất có thể để chú ý đến những gì nằm trong mục đích của bạn và bỏ qua những khâu không liên quan và không quan trọng trong suốt thời gian làm dự án

2. Chọn một ý tưởng hữu dụng với bạn

Tiếp theo, bạn cần quyết định những gì bạn muốn phát triển. Có rất nhiều lựa chọn và gợi ý dành cho các ý tưởng Side Project mà bạn có thể tham khảo và lướt qua chúng sau đó kết hợp với mục tiêu bạn muốn đạt được để quyết định mình nên làm Side Project gì? Kết quả sẽ là gì?

Điều quan trọng là bạn hãy chọn một ý tưởng mà bạn yêu thích và hữu dụng, vì:

  • Sẽ có những thăng trầm trong quá trình phát triển. Ngoài những ngày cực kỳ hào hứng với dự án (nhất là lúc mới bắt đầu), nhưng sẽ có lúc bạn cần tìm năng lượng sửa một số bugs xa lạ trong side project của mình. Nếu bạn không thực sự yêu thích dự án, bạn sẽ rất khó để gắn bó với nó.
  • Hầu hết thời gian bạn sẽ tự làm một mình. Bạn không có người quản lý giám sát để cho bạn biết bạn phải làm gì. Bạn sẽ cần phải tự lập kế hoạch  những việc cần làm và cách tốt nhất để làm điều đó.

3. Không quá khó nhưng cũng không quá dễ

Bây giờ, khi nói đến việc phát triển một Side Projects, điều quan trọng là phải nhắm đến đúng cấp độ. Nói cách khác, đừng phát triển thứ gì đó quá khó đối với bạn - nhưng nó cũng không nên quá dễ.

Bằng cách đó, bạn sẽ luôn có động lực trong suốt dự án. Bất cứ khi nào vượt qua một thử thách, bạn sẽ cảm thấy mình đạt được thành tựu.

4. Chia dự án thành các phần nhỏ

Trước khi bắt tay vào công việc, bạn nên lên kế hoạch.

Nghe có vẻ nhàm chán và tẻ nhạt nhưng việc xây dựng một lộ trình sơ bộ cho dự án phụ sẽ giúp ích cho bạn sau này. Lộ trình bạn xác định không nên chỉ bao gồm các mốc quan trọng, mà phải có các điểm kiểm soát chi tiết, đó là những mốc nhỏ mà bạn đạt được một sự tiến triển đo lường được của dự án, những mốc này gọi là “sprint” (mỗi “sprint” thường kéo dài trong một tuần hoặc lâu hơn một chút).

5. Biến nó thành một thói quen

Tính nhất quán là cốt lõi của một quá trình. Việc phát triển một Side Project cũng vậy, bạn cần có lộ trình phân bố thời gian đều đặn, nếu cố dành suốt 12 tiếng liên tục để làm rồi những ngày tiếp theo không thể động tay vào dù chỉ một chút thì sẽ bào mòn hứng thú và dự án của bạn chẳng đi đến đâu.

Đó là lý do tại sao, việc biến hoạt động này thành thói quen sẽ rất có lợi. Ban đầu có thể mọi thứ sẽ khó khăn để thiết lập thói quen với mốc thời gian phát triển cố định, nhưng hãy lập ra nguyên tắc cho mình và ghi nhận hằng ngày xem mình có tuân thủ không và nếu không thì lý do là gì, có thể khắc phục không!

Bằng cách đó, thói quen làm việc cho dự án Side Project sẽ được thiết lập, bạn sẽ không phải nghĩ quá nhiều trước mỗi lần bắt đầu vào việc. Nỗ lực của bạn sẽ được tận dụng tập trung cho quá trình phát triển.

6. Sự hoàn hảo có thể là kẻ thù

Quỹ thời gian cho bạn là có hạn và bất cứ hành trình nào cũng cần phải đến một vạch đích nhất định. Khi bạn quá cầu toàn mà sa đà vào các công việc không quan trọng như dành nhiều giờ để chọn phông chữ cho giao diện sẽ khiến bạn lạc ra khỏi mục đích và mục tiêu ban đầu của mình.

Thế nên hãy luôn nhắc nhở về mục tiêu ban đầu của bạn, trước khi ra quyết định làm bất cứ điều gì trong dự án, cần xem xét nó có quan trọng không và nên dành bao nhiêu nỗ lực cho việc đó.

Không có Side Project thì có sao không?

Với những lợi ích mà các Side Project mang lại cho Developer có thể sẽ khiến bạn muốn bắt tay vào làm ngay cho mình một dự án.

Tuy nhiên, bạn cũng cần xem xét rất nhiều yếu tố để quyết định xem có nên bắt đầu không hãy tự hỏi một vài câu hỏi sau:

  1. Bạn có thời gian đủ để dành cho Side Project?
  2. Trình độ hiện tại của bạn đã đủ để bắt đầu phát triển một Side Project cơ bản?
  3. Liệu còn có cơ hội nào trong công việc chính thức có thể giúp bạn phát triển mà bạn chưa tìm kiếm?

Sau khi trả lời ba câu hỏi trên, có thể một số Developer sẽ phát hiện ra vốn trong công việc hiện tại với họ là đã có đủ các cơ hội mà họ có thể tận dụng để nâng cao các kỹ năng kỹ thuật và kỹ năng làm việc mong muốn, cũng như không có một quỹ thời gian vừa đủ để dành cho Side Project.

Chính vì vậy nếu bạn chưa có Side Project thì cũng không phải là vấn đề gì quá to tát, chỉ cần bạn xác định được đúng năng lực hiện tại của mình, các cơ hội sẵn có, và mục tiêu sự nghiệp cụ thể của mình thì Side Project sẽ trở thành một trong các lựa chọn trong các giai đoạn tiếp theo.

Kết luận

Hi vọng rằng bài viết này đã cung cấp cho bạn những thông tin giá trị về Side Project là gì và có ý nghĩa như thế nào đối với một Developer. Giờ đây bạn đã có thêm một lựa chọn để phát triển và làm phong phú thêm sự nghiệp của mình. Chúc các bạn thành công
 


Tin tức liên quan

Lộ trình học Java Developer dành cho mọi lứa tuổi

News|2024-10-20
Bạn muốn theo học ngành lập trình Java? Bạn chưa biết học và phát triển bản thân như thế nào? Hãy tham khảo lộ trình học Java Developer từ chuyên gia sau đây để tìm thấy hướng đi tốt nhất cho bản thân.

Tương lai ngành lập trình game liệu còn đủ tốt để theo đuổi?

News|2024-10-18
Tương lai ngành lập trình game như thế nào? Liệu có mạo hiểm khi chọn ngành này? Làm sao để trở thành một Game Developer giỏi? Tất cả câu trả lời chính xác sẽ có trong thông tin sau đây.

Phân biệt nghề nghiệp: AI Developer và AI Engineer

News|2024-10-17
AI Developer và AI Engineer là gì? Chúng có sự khác nhau như thế nào? Làm sao để chọn đúng ngành khi lựa chọn giữa AI Developer và Engineer? Thông tin sau sẽ giúp bạn hiểu rõ về 2 lĩnh vực này.

Machine Learning Engineer Là Gì? Tiềm năng và thách thức của ML Engineer

News|2024-10-14
Machine Learning Engineer là gì? Làm sao để phát triển đối với công việc ML Engineer? Tất cả thông tin chi tiết và cách thành công khi định hướng Machine Learning Engineer sẽ có trong chia sẻ sau đây.

IT start-up là gì? những ví dụ và lời khuyên để startup thành công?

News|2024-10-11
IT Start-up là gì? Làm sao để khởi nghiệp thành công với ngành IT? Những thông tin và kinh nghiệm sau đây sẽ giúp bạn hiểu rõ về IT Start-up.

IT Manager là gì? Cách để bạn trở thành một IT Manager giỏi

News|2024-09-29
IT Manager là gì? Làm công việc này cần những kỹ năng nào? Làm sao để trở thành một IT Manager giỏi? Hãy tham khảo thông tin sau đây từ chuyên gia và bạn sẽ nhanh chóng trở thành người quản lý IT xuất sắc.