Làm thế nào để bạn chống lại mệt mỏi lập trình? [đóng cửa]


48

Không mệt mỏi như trong 'Tôi cần ngủ' mà là mệt mỏi như trong 'Tôi không thể bị làm phiền nữa', điều này thường xảy ra khi bạn gặp những trở ngại trong bất kỳ dự án nào bạn đang làm, nói chung là bạn càng đến gần thời hạn.

Nó có thể là trong các dự án công việc hoặc dự án cá nhân, nhưng đó là thứ tôi liên tục gặp phải nhiều hơn gần đây. Tôi sẽ có một ý tưởng, bắt tay vào thực hiện nó, có một vài ngày thực sự tốt và đạt được tiến bộ, sau đó chỉ một số điều rắc rối sẽ làm tôi bực mình, tôi không thể làm mọi thứ theo cách bạn muốn, tôi đã gặp phải những hạn chế trong khuôn khổ, tôi gặp vấn đề tôi không thể tìm thấy tài liệu, v.v. và nó trở nên quá bực bội.

Hay tôi cô đơn trong chuyện này?


4
Là tiến bộ của bạn có thể đo lường được trong các dự án của bạn ngay cả khi bạn gặp những trở ngại? Nếu không, hãy xem xét làm cho nó có thể đo lường được. Tầm nhìn của sự tiến bộ ổn định là điều tốt nhất mà tôi biết.

7
Điều này làm tôi nhớ đến Mort (Terry Pratchett) - nơi mà Mort đang dọn phân trong chuồng ngựa. "Hãy xem, anh ấy nghĩ, tôi đã thực hiện được gần một phần tư, hãy gọi nó là một phần ba, vì vậy khi tôi thực hiện góc đó bằng đống cỏ khô, nó sẽ hơn một nửa, gọi nó là năm phần tám, nghĩa là thêm ba phần tám Xe cút kít tải ... Nó không chứng minh được gì nhiều ngoại trừ sự huy hoàng tuyệt vời của vũ trụ sẽ dễ đối phó hơn nhiều nếu bạn nghĩ về nó như một loạt các khối nhỏ. "
Steve314

@ Steve314: +1 đá Pratchett.
Orble

Hãy thử hiệu ứng Catfish .
rwong

@rwong: Hầu hết các dự án của tôi là các dự án solo (hoặc các nhóm rất nhỏ). Nó có vẻ như là một ý tưởng thú vị, mặc dù.
Sevenseacat

Câu trả lời:


42

Chần chừ

Những gì bạn mô tả có lẽ là sự trì hoãn . Đó là một hiện tượng rất phổ biến. Nhấp vào liên kết và đọc về Lý thuyết Động lực Tạm thời .

Để đánh bại sự trì hoãn, tôi làm danh sách. Khi tôi cảm thấy mình đang chần chừ, tôi mở danh sách và buộc tôi làm việc với mục đầu tiên. Sau vài phút, tôi vào khu vực hoặc dòng chảy theo mô tả của nhà tâm lý học Mihály Csíkszentmihályi .

Bạn sẽ nhận ra bạn trong hình ảnh này:

văn bản thay thế


2
+1 để ép buộc bản thân. Tôi đã tìm thấy điều tương tự là đúng với tôi; chỉ bắt đầu là phần khó nhất.
Michael K

2
Bạn không tìm thấy khi năm tháng trôi qua mà tất cả các dự án đi xuống trên trục tung. Có xu hướng chuyển động theo chiều ngang quá.
Orble

Tôi đã trì hoãn cả ngày hôm nay thay vì mã hóa dự án nguồn mở của mình. Chết tiệt.
gruszczy

1
+1 để đóng đinh vấn đề này.
Conor

2
Tôi thấy rằng nếu danh sách chỉ có các nhiệm vụ khó chịu ở đầu thì có thể bên cạnh không thể buộc bản thân phải làm điều đó ...
Roman Starkov

10

Điều làm việc cho tôi là bước ra khỏi vấn đề đang đặt ra rào cản. Điều này có thể có nghĩa là những người khác đã đề nghị làm việc trên một phần khác của cơ sở mã. Nó có thể có nghĩa là chạy. Tôi đã thấy rằng đập đầu vào một hàng rào chỉ làm tăng thêm rào cản. Thay đổi sự tập trung của bạn thành một cái gì đó không liên quan sẽ cho phép tiềm thức của bạn khắc phục vấn đề. Tôi đã nhiều lần ngạc nhiên khi tìm ra giải pháp khi đang tắm, v.v.


4
Vòi sen chắc chắn là nơi tốt để sửa lỗi.
Orble

Đó là một điểm thực sự tốt về việc chỉ tăng cường rào cản. Tôi nghĩ đó là những gì tôi cần làm, chia các dự án thành các phần khác nhau để khi bộ não của tôi có đủ cái này, chuyển sang cái khác, sử dụng phần khác của bộ não.
Sevenseacat

8

Một lập trình viên phải có một ổ đĩa lớn hơn Green Lantern . Đó là một chút ngứa mà chúng ta có khi một cái gì đó không hoạt động, chúng ta cố gắng đào sâu hơn và tìm hiểu lý do tại sao, cho dù đó là bằng cách đặt câu hỏi hoặc đọc một cuốn sách.

Những gì bạn có thể làm để ngăn chặn sự mệt mỏi đó là bước ra khỏi vấn đề một chút và làm việc trên một khía cạnh khác của nhiệm vụ mà bạn được giao.

Đối với tôi, các tác vụ lập trình giúp tôi thư giãn như một đứa trẻ đang làm việc trên GUI. Nó dễ chết và cho phép tôi tắt não. Nó cũng mang lại cho bộ não của tôi hiệu ứng giả dược mà tôi đang hoàn thành một cái gì đó.


Vì vậy, về cơ bản, hãy đắm chìm trong dự án, nhưng trong công việc bận rộn? Và vâng, đó là cảm giác tồi tệ nhất - khi bạn đã dành tất cả thời gian này vào một thứ gì đó, và vẫn cảm thấy như bạn chưa hoàn thành bất cứ điều gì.
Sevenseacat

3
@Karpie Bạn vẫn đang hoàn thành một cái gì đó. Thực hiện một số 'công việc bận rộn' cho phép bạn tiếp tục làm việc gì đó cần phải hoàn thành, nhưng đó không phải là việc đòi hỏi não bạn phải bắn vào tất cả các xi-lanh.

Tôi không biết - Công việc GUI dường như luôn luôn chạy theo tôi. Làm cho nó hoạt động chính xác và có thể sử dụng được là niềm vui và thách thức, nhưng để nó trông đẹp là điều rất khó đối với tôi.
Michael K

Khi tôi bước đi một lúc như thế này, khoảng 50% thời gian tôi không bao giờ quay lại ...: /
Roman Starkov

6

Tôi có xu hướng rơi vào khu vực này, gần như mọi lúc.

Bắt đầu một dự án là dễ dàng, mọi thứ đều mới, những thứ cần nghiên cứu và tìm hiểu, các nguyên mẫu để xây dựng, tất cả đều vui vẻ. Nhưng khi thử thách mất dần, vì vậy mối quan tâm của tôi sẽ giảm dần. Nhận các phiên bản sản xuất của phần mềm xây dựng, loại bỏ các lỗi nhỏ vô lý tồn tại do các vấn đề tối nghĩa với một số nền tảng bạn phải sử dụng.

Nó đủ để làm bạn chán đến chết.

Tôi chưa bao giờ thấy bất cứ điều gì hữu ích với điều này, tôi chỉ làm việc hoặc chơi với một thứ hoàn toàn khác (stackoverflow là tốt cho việc này), cho đến khi tôi cảm thấy nhàm chán với những thứ khác và bắt đầu cảm thấy có lỗi. Sau đó nhận được một chút công việc nhàm chán được thực hiện. Năng suất giảm xuống còn khoảng 20%, nhưng đó là gánh nặng của mã hóa buồn tẻ.

Có một giải pháp, lập trình nhóm, rất khó để đứng yên khi những người khác trực tiếp tham gia.


1
+1, xây dựng đội ngũ làm việc tuyệt vời. Thật không may, rất khó để khiến người khác quan tâm đến các dự án cá nhân của riêng bạn.
dan_waterworth

@dan_waterworth: Đúng, mặc dù đã được một số năm rất lớn kể từ khi tôi lập trình cho riêng mình. 60-80 giờ một tuần, với kỳ nghỉ nhỏ quý giá trong nhiều năm thay vì loại bỏ mong muốn.
Orble

2
+1 cho sự trung thực: "... cho đến khi tôi cảm thấy nhàm chán với những thứ khác và bắt đầu cảm thấy có lỗi ... Năng suất giảm xuống còn khoảng 20% ​​..."
Kavka

Bạn có thể cung cấp thêm chi tiết trong lập trình nhóm?
Esqarrouth

6

Lập trình cặp

Tôi thấy lập trình cặp thực sự có ích trong những trường hợp này. Tìm ai đó mà bạn kết hợp tốt và tấn công các vấn đề, không có gì tốt hơn ý kiến ​​khác hoặc bảng âm thanh để vượt qua các khối đường. Một khi bạn bắt đầu tiến bộ một lần nữa, sự nhiệt tình có xu hướng quay trở lại.

Thật không may, điều này được tán thành trong công ty của chúng tôi, vì vậy tôi có xu hướng chỉ làm điều này khi tôi thực sự có thể cảm thấy các vấn đề ảnh hưởng đến năng suất của tôi.


+1, vì đó là điều duy nhất tôi đề xuất trong câu trả lời của mình, mặc dù được gọi là lập trình nhóm, vì hơn hai là tốt. ;-)
Orble

3

Học một ngôn ngữ mới. Không có gì giống như học một ngôn ngữ mới để thu hút sự quan tâm của bạn. Tôi muốn đề nghị Haskell.


1
+1 Đối với ngôn ngữ mới, +1 cho Haskell. Các toán học bỏ phiếu dường như để thực hiện 1 + 1 = 1tuy nhiên.
Orble

1
@ Hoặc, đó là vì1 | 1 = 1
dan_waterworth

Tôi nghĩ rằng 1 & 1 = 1sẽ gần hơn với ý định của tôi. ;-)
Orble

1
@Cách, làm thế nào P(vote) = S((1 + 1)/t), S(x)chức năng sigmoid ở đâu? (Bạn có thể chọn nhiệt độ của hệ thống).
dan_waterworth

Đó là những gì tôi đã thử với dự án mới nhất của mình, tôi đã thử học Ruby và Rails! Đó là phần về tài liệu không có ở đó, heh ...
Sevenseacat

2

Tôi bắt đầu đánh các khu vực khác trong một giờ hoặc đến. Tôi sử dụng Eclipse tại nơi làm việc và Eclipse cho phép bạn đặt // TODO:mã vào và sau đó đối chiếu tất cả chúng trong một cửa sổ cho bạn. Nếu tôi thấy một cái gì đó tôi muốn thay đổi hoặc sửa chữa trong khi tôi đang làm việc với một cái gì đó khác, tôi đặt một TODO để tôi không phá vỡ động lực của mình. Khi tôi bị kẹt quá lâu, (hơn một hoặc hai giờ) tôi sẽ bắt đầu làm việc thông qua danh sách. Nó cung cấp một sự thay đổi cảnh quan và hầu hết thời gian thay đổi là khá đơn giản, giúp tôi thư giãn. Thường thì câu trả lời sẽ bật ra, trong khi vẫn cho tôi cảm giác rằng mình đang hoàn thành một điều gì đó.

Lưu ý: Tôi thích tái cấu trúc và làm cho một nhóm mã ngày càng tốt hơn. Số dặm của bạn có thể thay đổi.


1
+1 Đây là điều tôi luôn làm, đặc biệt hữu ích trong việc đảm bảo dòng mã trôi chảy. Tất nhiên, nếu tuân theo các học thuyết mã hóa thông thường, mã giả đầy đủ lên phía trước là một ý tưởng tốt, từ từ để làm việc với mã thực.
Orble
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.