Làm thế nào để bạn có động lực cho các dự án sở thích? [đóng cửa]


43

Tôi bắt đầu lập trình nghiêm túc với tư cách là một người hiền lành, sinh viên và sau đó thực tập khoảng 4 năm trước và tôi luôn thực hiện các dự án nhỏ ở bên cạnh như một bài tập học tập. Các trường học bây giờ mặc dù, và tôi dành thời gian của mình để làm việc như một nhà phát triển phần mềm. Tôi vẫn thích thực hiện các dự án ở bên cạnh để tìm hiểu về các lĩnh vực trong khoa học máy tính mà tôi không tiếp xúc với công việc, nhưng tôi nhận thấy rằng sau 8 giờ tham gia vào một IDE, nó rất khó để thoát ra. Bất cứ khi nào tôi thức dậy để làm việc gì đó trong vài giờ gần đây, nó sẽ bị bỏ lại bên đường.

Bất cứ ai cũng có lời khuyên cho việc gắn bó với các dự án phụ khi bạn dành phần lớn thời gian trong ngày để viết mã?



Được coi là có sở thích không lập trình?

Không phải vấn đề phổ biến hơn là làm thế nào để duy trì động lực cho các dự án công việc ?
dan04

Bạn có chơi game không? Bạn luôn có thể trở nên tiện dụng với một trò chơi có cộng đồng hoạt động được thiết lập. Bằng cách đó, bạn có thể thực hiện một số thay đổi và sau đó tận hưởng những thay đổi với những người khác trong hình dung đầy đủ. Hãy thử SpringRTS làm ví dụ.
Pithikos

Câu trả lời:


57

Một mẹo - đảm bảo dự án sở thích của bạn không có gì để làm với công việc hàng ngày của bạn. Nếu bạn sử dụng C ++ tại nơi làm việc, hãy sử dụng một cái gì đó khác trong các dự án sở thích của bạn. Điều này sẽ giúp bạn tránh được một số kiệt sức vì ít nhất bạn đang chuyển sang một bộ IDE và / hoặc bộ kỹ năng khác.

Nhưng, một sở thích là một sở thích ... vì vậy đừng băn khoăn. Nó được cho là để thư giãn, không căng thẳng.


+1 ... nhưng, vấn đề duy nhất với điều này là tôi cảm thấy thất vọng khi tôi có một IDE đầy đủ tính năng cho công việc thực tế và trình soạn thảo văn bản để chơi trong Io, Clojure, bất cứ điều gì. Nó giống như đi xe đạp với bánh xe huấn luyện - rất vui, nhưng tôi muốn đi nhanh!
Steve Jackson

1
"Một trình soạn thảo văn bản để chơi trong ... Clojure" Emacs và Slime! Đó không phải là một chiếc xe đạp với bánh xe đào tạo.
michiakig

31

Cách duy nhất để duy trì động lực là có mục tiêu. Nếu bạn không có mục tiêu, bạn sẽ không nhận được bất cứ nơi nào. Cá nhân tôi thấy chỉ đơn thuần là các dự án học thuật không có nhiều động lực nhưng nếu tôi có mục tiêu tạo ra một sản phẩm, tức là phần mềm chia sẻ, việc giữ động lực lên sẽ dễ dàng hơn nhiều.


7
Ngoài ra, hãy xem xét một danh sách các mục tiêu được ưu tiên, bao gồm một số lịch trình 'phát hành', ngay cả khi đó chỉ là 'sử dụng nó thường xuyên'. Cảm thấy tốt khi thấy sự tiến bộ theo thời gian.
JBRWilkinson

22
  1. Chọn một dự án mà bạn thực sự quan tâm.
  2. Dành một chút thời gian lên phía trước xác định mục tiêu của bạn cho dự án.
  3. Chia dự án thành các giai đoạn nhỏ để không mất nhiều giờ và giờ làm việc để cảm nhận được cảm giác hoàn thành.

1
Tôi đã nhận ra rằng thời gian ít hơn là có, điều quan trọng hơn là tập trung vào những thứ ngay lập tức hữu ích với tôi. Thật đáng tiếc, nhưng đó là như vậy.
LennyProgrammer

13

Lời khuyên tốt nhất tôi có thể đưa ra là đừng cảm thấy tội lỗi khi các dự án sở thích của bạn không nhận được sự chú ý trong một khoảng thời gian đáng kể. Nó được cho là thú vị, và làm việc trên một cái gì đó khi bạn không cảm thấy thích làm việc đó là điều khó giải trí. Tôi có một vài dự án như vậy và một vài trong số họ có khá nhiều người dùng. Mọi người đã quen với tôi thực hiện một bản phát hành mới mỗi năm một lần và dễ tiếp nhận các báo cáo / bản vá lỗi.

Tôi thực sự nhận được nhiều sự ủng hộ khi thấy người khác làm việc với mã của tôi hơn là tôi tự làm việc với nó, trong hầu hết các trường hợp.

Một điều khác tôi khuyên bạn nên sử dụng một cách thận trọng khi quay trở lại một thứ mà bạn chưa từng thấy trong một thời gian, giống như bạn làm trong công việc hàng ngày. Sự thôi thúc xây dựng lại, thiết kế lại, yếu tố lại và như vậy có thể trở nên áp đảo. Điều đó là tốt, miễn là bạn hiểu rằng về cơ bản bạn sẽ tiếp tục kết thúc với điều tương tự mỗi lần. Tôi thấy nó bổ ích hơn nhiều khi làm việc trên các tính năng mới, đặc biệt là một dự án sở thích.

Tuy nhiên, bất cứ điều gì sẽ vui hơn và nhiều động lực hơn khi bạn có một số đối tác để chơi cùng. Đưa dự án của bạn ra trên các trang web như Freshmeat, chắc chắn người khác sẽ nghĩ những gì bạn nghĩ ra là hữu ích và giúp bạn cải thiện nó. Đó là nơi bạn thực sự bắt đầu vui vẻ :)


8

Vâng. Tôi cũng kiệt sức về tiền mã hóa. Tôi yêu thích mã hóa và tạo ra phần mềm, nhưng sau một ngày dài (hoặc tuần hoặc năm) lập trình tại nơi làm việc ... việc khởi động IDE của ol ở nhà ngày càng khó khăn hơn.

Gần đây, chỉ có hai loại dự án phụ mà tôi có thể duy trì hoạt động:

1) Đóng góp cho một vài dự án nguồn mở, nơi có nhiều tương tác với các nhà phát triển và người dùng khác. Thật khó để tìm thấy một dự án mà bạn quan tâm, có các nhà phát triển mà bạn đồng hành, cần các nhà phát triển và bạn có đủ kỹ năng để đóng góp cho ... nhưng một khi bạn đã tìm thấy sự phù hợp thoải mái , nó có thể là bổ ích.

2) Được phép làm việc trên một vài dự án thú cưng tại nơi làm việc. Đối với nhiều người, đây là một người không bắt đầu, nhưng nếu bạn có thể xoay một sự sắp xếp (thậm chí chỉ một lần, hoặc thỉnh thoảng), nó có thể được thỏa mãn. Việc mã hóa trở nên dễ dàng hơn rất nhiều khi phương án thay thế là công việc mài đá thông thường tại nơi làm việc.

Ví dụ trên # 2: trong nhiều năm, công ty của tôi đã sử dụng một hệ thống kiểm soát phiên bản, trong khi ở mức độ tốt nhất, hoàn toàn khủng khiếp về việc hiển thị cho bạn các thư mục con không đảo ngược của bạn trên đĩa. Mọi người đều có những cách riêng để đối phó với vấn đề này. Tôi đã chán ngấy với nó, và yêu cầu thời gian để viết một chút tiện ích để làm cho vấn đề này bớt đau đớn hơn nhiều. Đó không phải là mã thú vị nhất tôi từng viết (mặc dù có một vài bit thử thách / thú vị), nhưng phần thưởng thực sự là nhìn thấy đồng nghiệp của tôi sử dụng và thưởng thức phần mềm, và được cảm ơn vì điều đó.


8

Các dự án sở thích duy nhất tôi từng 'hoàn thành' là những thứ tôi thực sự cần , hoặc làm cho cuộc sống của tôi dễ dàng hơn. Nhược điểm là một khi nó 'đủ tốt', bạn sẽ mất động lực để tiếp tục cải thiện nó (hoặc làm sạch mã, v.v.)


Tôi cũng có cảm giác tương tự với các dự án phụ 'đã hoàn thành'. Tôi vẫn đang sử dụng các dự án phụ mà tôi đã tạo hơn một năm trước và chưa cập nhật cơ sở mã trong nhiều tháng. Nếu nó không bị hỏng, đừng sửa nó.
Thierry Lam

6

Đối với tôi, mọi người làm cho sự khác biệt. Tôi có một số lượng lớn các dự án phụ cầu xin sự chú ý của tôi. Những người có được thời gian "rảnh rỗi" của tôi (một nguồn tài nguyên cực kỳ hữu hạn) là những người tôi làm việc với những người dạy tôi những điều mới, khơi dậy những ý tưởng mới hoặc truyền cảm hứng cho tôi theo một cách nào đó. Tôi thấy khó để duy trì động lực trên những người khác.


4

Cách duy nhất tôi từng có động lực cho bất cứ điều gì là có hứng thú thực sự với nó (Và vâng, đây có thể là một vấn đề trong công việc thương mại khi bạn bị buộc phải làm việc trên những thứ mà bạn không thấy thỏa mãn trong nội bộ, nhưng tôi lạc đề ...).

Tôi đã từng thực hiện các dự án sở thích giả tạo vì mục đích học một ngôn ngữ hoặc khuôn khổ mới. Thường là những ví dụ ngẫu nhiên, khô khan từ sách hoặc trang web. Điều này không bao giờ làm việc ra. Tôi luôn mất động lực và dừng lại sau một vài buổi.

Vì vậy, mẹo cho tôi là đưa ra một số ý tưởng thực sự hữu ích (cho tôi hoặc ai đó tôi biết), và sau đó đặt cho mình nhiệm vụ triển khai nó trong ngôn ngữ / nền tảng đó. Khi đó là một bài tập thực tế trong thế giới thực và là một sản phẩm thực sự hữu ích, tôi có xu hướng duy trì động lực hơn nhiều. Khi đó là một dự án học tập có kế hoạch, thật dễ dàng để mất cốt truyện.


3

Cho rằng bạn đã có một ý tưởng cho dự án sở thích của bạn, tôi sẽ đề nghị

  1. Viết tài liệu tốt
  2. Lên lịch cho dự án sở thích của bạn trong một số ý nghĩa

Trước hết, đó là một dự án sở thích. Bạn chỉ có thể dành 1-2 giờ một ngày, hoặc thậm chí chỉ 1-2 giờ một tuần, cho dự án sở thích của bạn. Thật khó để nhớ tất cả các chi tiết trong phong cách làm việc như vậy và tài liệu tốt giúp bạn nhanh chóng bắt đầu từ tạm dừng trước đó. Một tài liệu tốt nên theo dõi những gì cần làm, những gì đã được thực hiện và tại sao mọi thứ được thực hiện theo cách đó. Tài liệu có thể quan trọng hơn giai đoạn lập trình thực tế của dự án sở thích.

Ngoài ra, sắp xếp thời gian cho dự án trước khiến bạn chuẩn bị tinh thần cho nó. Bằng cách làm như vậy, bạn tự nhủ rằng đây không phải là đêm để chơi game / xem phim / đi chơi / hẹn hò / bất cứ điều gì, mà là cho dự án sở thích của bạn. Sẽ dễ dàng hơn cho bạn để làm cho tâm trí của bạn và ngồi trước máy tính ngay cả sau một ngày làm việc mệt mỏi.

Nếu bạn chưa quyết định làm gì cho dự án sở thích, tôi sẽ thêm vào như sau:

  1. Chọn một dự án có rào cản nhập cảnh tương đối thấp cho bạn.
  2. Chọn một dự án mà bạn thực sự quan tâm, hoặc
  3. Chọn một dự án có thể hỗ trợ công việc hàng ngày của bạn.

Có một số thử thách là tốt, nhưng bạn có thể mất hứng thú và kiên nhẫn một cách nhanh chóng nếu những thách thức đó quá lớn. Trừ khi bạn có một số ưu đãi mạnh mẽ (ví dụ: có mong muốn mạnh mẽ để bắt đầu một con đường sự nghiệp mới), việc chọn một dự án mà bạn đã biết cách hoàn thành có thể giúp giữ đà của bạn.

Ưu đãi mạnh mẽ có thể đến từ các khía cạnh khác. Một dự án thú vị và một dự án tạo điều kiện cho công việc hàng ngày của bạn là một số ví dụ. Có rất nhiều thứ thú vị khác ngoài dự án sở thích của bạn, và bạn cần tìm một lý do chính đáng để bản thân tiếp tục làm việc trong dự án sở thích. Liên quan đến dự án tạo điều kiện cho công việc hàng ngày, nó không phải liên quan trực tiếp. Một chương trình để tự động hóa việc chỉnh sửa các slide thuyết trình của bạn; một chương trình để trực quan hóa dữ liệu. Miễn là nó cung cấp các ưu đãi tốt, nó sẽ là một dự án tốt khiến bạn hài lòng khi làm việc.


Trời ơi, điều này nghe có vẻ như công việc! :)
Stewol

Thật. Nhưng sự khác biệt chính giữa dự án sở thích và công việc là công việc có một ưu đãi rất tốt theo mặc định - tiền lương đáng yêu của bạn
YYC

2

Tôi không luôn luôn có động lực, nhưng tôi thấy rằng khi tôi nói với những người khác về những gì tôi đang làm, tôi thường xuyên dành quá nhiều năng lượng để thảo luận (hay tranh cãi tại sao tôi làm theo cách X chứ không phải theo cách Y giống như người tranh luận nghĩ rằng nó nên được thực hiện) rằng tôi mất hứng thú làm việc trong dự án. Vì vậy, "bí mật" của tôi là không nói về những thứ cho đến khi tôi đã làm đủ để gọi nó là xong.

Mục tiêu của tôi thường là về quy mô "học cách sử dụng M" hoặc "làm thế nào bạn có thể làm N?" do đó, mức độ hoàn thành của mục tiêu thường khác với mức độ hoàn thành của dự án.

Chủ lao động hiện tại của tôi đảm nhận vị trí (trong hợp đồng lao động) rằng tôi không thể làm việc với các công cụ nguồn mở, tôi cũng không nên làm việc ở bên mà không có sự cho phép bằng văn bản từ phía trên. Do đó, tôi không làm việc đối với các dự án hoàn chỉnh.


"Chủ lao động hiện tại của tôi đảm nhận vị trí (trong hợp đồng lao động) mà tôi không thể làm việc trên các công cụ nguồn mở" bạn sống ở quốc gia nào? Điểm này là tà ác ...
Calmarius

@Calmarius, tôi làm việc ở Mỹ. Nhà tuyển dụng, mà tôi đã nghỉ việc vào cuối năm 2010, đã tuyển dụng tôi trở lại vào năm ngoái. Họ lo ngại rằng mã nguồn mở có thể "lây nhiễm" phần mềm mà chúng tôi bán. Thay vì tìm ra giấy phép nào thân thiện với doanh nghiệp, so với giấy phép nào là copyleft thì quá nhiều gánh nặng hành chính. Vì vậy, tất cả đều bị cấm. Một kinh nghiệm cá nhân mà bạn có thể đã đọc là: perlmonks.org/ .
Tangurena

Bây giờ tôi thấy. Tôi phát hành nội dung của mình bằng Calmarius hoặc các biệt danh khác theo giấy phép giống như CC-BY (làm bất cứ điều gì bạn muốn, nhưng đề cập đến tôi). Trừ khi công ty của tôi nghe lén tôi, họ không thể gán mã đó cho tôi ... (tôi chỉ làm điều này ở nhà.) Có lẽ bạn có thể làm theo cách này ...
Calmarius

2

Một câu hỏi hay, đặc biệt là khi tôi dự định tự mình bắt đầu một dự án sở thích (không phải là dự án sở thích đầu tiên, nhưng các dự án trong quá khứ đã có xu hướng ngả mặt khi tôi chán chúng, điều không hài lòng khi nói ít nhất) .

Lời khuyên của tôi, mặc dù:

  1. Phát triển một cái gì đó bạn quan tâm. Khá rõ ràng thực sự, và đã được đề cập một vài lần, nhưng thực sự xứng đáng để nói lại. Nếu bạn đang phát triển chỉ vì lợi ích của nó, cuối cùng bạn sẽ chán.

  2. Hãy đến với một bộ tính năng nhỏ, phát triển cho điều đó và sau đó xây dựng trên nó. Nếu bạn đang viết trình xử lý văn bản, đừng cố gắng đưa mọi tính năng vào Word. Nếu bạn đang làm việc với gói xử lý ảnh, đừng thử đánh bại PhotoShop. Nếu bạn đang nấu một IDE hoặc một số công cụ dev, đừng ... tốt, bạn sẽ hiểu. Khi bạn đã hoàn thành phiên bản đơn giản đó, đó là cột mốc đầu tiên của bạn - một thành tựu, một điều bạn có thể cảm thấy tự hào.

  3. Chọn một cái gì đó bạn có thể phát triển, thử nghiệm, v.v. Đừng dùng một số ứng dụng máy chủ yêu cầu bạn phải chi 3000 bảng cho việc kiểm tra phần cứng (hoặc rất nhiều tiền cho việc lưu trữ).

  4. Viết nó bằng ngôn ngữ bạn muốn học và một ngôn ngữ có các tính năng sẽ giúp bạn, nhưng điều gì đó sẽ cung cấp một thách thức thú vị (! Từ quan trọng!).

  5. Chọn một khoảng trống trên thị trường, để nói và nhìn vào những gì đối thủ tiềm năng của bạn đang làm. Họ không làm gì? Bạn có thể làm điều đó tốt hơn, có thể học hỏi từ những sai lầm của họ?


BTW, một điều có thể thúc đẩy bạn là nhu cầu cập nhật - vài năm trước tôi đã viết một số tác vụ xử lý XML đơn giản cho NAnt và tôi vẫn nhận được phản hồi cho nó. Rõ ràng có nhu cầu cải tiến NAnt, nhưng nó không được cập nhật kể từ thời kỳ đồ đá. Tôi thề, ai đó sẽ phải rẽ nhánh ...
JohnL

0

Những điều khiến tôi có động lực:

  1. Chọn một dự án sở thích mà bạn thực sự quan tâm, và bạn không có cơ hội làm bất cứ điều gì như thế trong công việc. Bắt đầu một trò chơi, một trình biên dịch, hoặc bất cứ điều gì khác mà bạn quan tâm. Đừng chọn thứ gì đó chỉ vì bạn nghĩ bạn nên làm điều này để giúp ích cho sự nghiệp của mình. Chọn một cái gì đó bạn chỉ muốn thử, và có thể không có giá trị cho sự nghiệp của bạn.

  2. Cố gắng để có được một số người khác tham gia quá ở giai đoạn đầu. Điều này có thể đang bắt đầu một dự án nguồn mở và mời các lập trình viên khác. Nhưng điều này có thể đơn giản như nói với bạn bè của bạn dùng thử phần mềm mới mà bạn đang viết. Ngay khi bạn bắt đầu nhận được phản hồi, bạn sẽ cảm thấy cần phải tiếp tục làm cho nó tốt hơn.


0

Để duy trì động lực của một cái gì đó không mang lại tiền cho bạn, bạn phải có ít nhất một trong các yếu tố dưới đây:

  • bạn tự hào về những gì bạn làm (những người khác có thể thấy nó)
  • bạn quan tâm sâu sắc đến đam mê của nó. Thực tế đơn giản là bạn đạt được những điều mang lại cho bạn sự hài lòng cao
  • làm điều đó cho phép bạn tương tác xã hội thú vị

Những gì tôi đã nêu ở trên là ba lý do tại sao mọi người bắt đầu làm việc như một người tình nguyện trong một tổ chức. Đó là những lý do thực sự, không phải là lý do người đó nghĩ.

Hiệu quả nhất nhưng khó lấy nhất là cái đầu tiên.

Nếu bạn đang làm một phần mềm, hãy phát hành nó!


0

Sẽ rất tốt nếu có một nhóm cho một dự án ... tìm một số lập trình viên đồng nghiệp có cùng sở thích với bạn ... Cảm giác thật hấp dẫn khi fella của bạn đã tiến bộ trong dự án đó và bạn thì không. Đây chắc chắn là động lực.


0
  1. Hãy chắc chắn rằng không ai thực hiện những gì bạn đang cố gắng làm ở nhà.
  2. Hãy chắc chắn rằng bạn quan tâm đến những gì sẽ là kết quả của công việc của bạn ở nhà.
  3. Hãy chắc chắn rằng những người khác mà bạn nghĩ rằng họ sẽ thích thú khi thấy kết quả công việc của bạn ở nhà.

  1. là làm cho động lực ban đầu của bạn tăng đủ để khiến bạn bắt đầu dự án.
  2. là để bạn lập kế hoạch và tổ chức theo cách sẽ khiến bạn tránh dừng dự án mỗi khi bạn bị chặn.
  3. là để tăng động lực thường xuyên của bạn về lâu dài.

0

Tôi đồng ý với rất nhiều ý kiến ​​khác, như chọn chủ đề bạn yêu thích và làm việc với các công nghệ không được sử dụng tại nơi làm việc.

Khác với những điều đó, những điều lớn nhất khiến tôi tiếp tục là một bài kiểm tra bị hỏng khi tôi rời đi, vì vậy tôi có một điểm khởi đầu dễ dàng vào lần tới, và nhìn vào một số khía cạnh của dự án hàng ngày, dù chỉ trong vài giây, chỉ trong vài giây, chỉ Vì vậy, dự án vẫn còn tươi trong tâm trí của tôi.


0

Tôi không. Nếu tôi không có động lực để viết mã vào một ngày hoặc tuần hoặc tháng cụ thể, tôi sẽ đi và làm điều gì đó mà tôi có động lực để làm.

Đó là thời gian rảnh rỗi của bạn, bạn không nên ép buộc bản thân làm những việc bạn không muốn làm - đó là công việc dành cho ...


0

Điều đó cũng xảy ra với tôi, mọi lúc. Tôi sẽ nói nếu bạn mất hứng thú với một cái gì đó, hãy để nó đi và bắt đầu một cái gì đó khác. Nếu bạn thực sự, thực sự thích một ý tưởng hoặc một dự án bạn sẽ không mất hứng thú. Nếu bạn mất hứng thú, bạn đã không thực sự thích nó ngay từ đầu. Vì vậy, trong thời gian rảnh rỗi, hãy làm những gì bạn cảm thấy thích làm. Tiếp tục thử các dự án và ý tưởng mới cho đến khi bạn tìm thấy một nơi mà bạn không cần bất kỳ động lực nhân tạo nào. Ngay cả khi phải mất nhiều năm để ý tưởng đó xuất hiện, hãy tiếp tục thử bất cứ điều gì xuất hiện trong tâm trí của bạn.


-1

Đến nơi làm việc của bạn lúc 8 giờ sáng, chỉ dành 2 giờ làm việc cho dự án của bạn trong quán ăn ở tầng dưới (sau đó đi làm). :) Bộ não mới sẽ giữ năng suất của bạn ổn định, và dòng động lực không bị suy giảm.


-1

Hãy cố gắng kiếm tiền với nó. Ngay cả khi bạn không kiếm được nhiều tiền, hy vọng nó sẽ đủ để trợ cấp chi phí cho sở thích của bạn.


1
Mặc dù liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi.
Jalayn

@Jalayn thật sao? Điều này đã gần 2 tuổi và có rất nhiều, rất nhiều câu trả lời tốt hơn ở trên nó.
Stephen Furlani

1
Này Stephen, xin lỗi đã làm phiền bạn. thông báo này được in tự động khi tôi "đánh giá" (kiểm tra hệ thống đánh giá "beta" mới ") chất lượng thấp (vài từ). Không có gì cá nhân. Tôi chỉ chọn chỉ ra câu trả lời này nên được chỉnh sửa hoặc xóa. Tôi có thể xóa nếu bạn muốn.
Jalayn

@Jalayn Không, nó thật tuyệt. Tôi mở rộng nó khi tôi nhận ra đó là một câu trả lời kém.
Stephen Furlani
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.