Đối phó với sự thất vọng khi mọi thứ không hoạt động [đóng]


62

Bạn đã từng cố gắng thực hiện một cái gì đó đơn giản nhưng vì một số lý do kỳ lạ, nó không hoạt động.

Vì vậy, bạn thử một giải pháp có thể nhưng sau đó một cái gì đó không hoạt động. Bạn tiếp tục thử các cách giải quyết khác nhau nhưng mỗi khi một cái gì đó khác nhau không hoạt động.

Mỗi khi bạn tiến gần hơn một bước, bạn cũng sẽ có được một (hoặc nhiều hơn) bước xa hơn để giải quyết vấn đề này và bây giờ là 3 giờ khi việc này sẽ khiến bạn mất 10 phút. Và nó vẫn chưa được giải quyết.

Không có ai trong công ty của bạn có thể giúp đỡ, và bạn sắp đưa nắm đấm của mình qua màn hình.


Tại thời điểm này bạn rất thất vọng, bạn không còn có thể nghĩ về vấn đề rõ ràng. Bạn nên làm gì vào thời điểm này? Hoặc bạn có thể làm gì để tránh đạt đến điểm này?


3
Tôi nghĩ rằng bạn và tôi vừa có / đang có cùng trải nghiệm.
AndrewKS

19
Đặt nó trên SO và cung cấp một tiền thưởng.
JeffO

4
Nếu chỉ có nó là đơn giản. Một số loại vấn đề này nằm trong số rất nhiều câu hỏi đã chết / chưa được trả lời / không trả lời được.
Aditya P

2
Câu hỏi này dường như lạc đề vì nó thuộc về nơi làm
việc.stackexchange.com

Vấn đề tương tự của tôi và cùng một câu hỏi.
Anwar

Câu trả lời:


69

Mặc dù đây là một vấn đề thực sự, nhưng nó không dành riêng cho lập trình. Tuy nhiên, điều quan trọng là IMHO quan trọng đến mức nó xứng đáng có một vị trí trên diễn đàn này.

Gợi ý của tôi: có một kì nghỉ . Đi dạo, thiền, ngủ, hoạt động thể chất * - làm điều gì đó hoàn toàn khác biệt để cho phép bộ não của bạn thư giãn và thoát khỏi lối mòn tinh thần , trong khi để tiềm thức của bạn giải quyết vấn đề trong hòa bình. Thông thường nó mang lại kết quả nhanh đáng ngạc nhiên - nó chỉ cần cho bạn biết về nó. Nhưng trong khi tâm trí có ý thức của bạn đang lặp đi lặp lại một cách tuyệt vọng cùng một chu kỳ suy nghĩ lặp đi lặp lại, nó sẽ không thể lắng nghe bất cứ điều gì khác.

Bạn có thể làm gì để tránh đạt đến điểm này?

Các kỹ thuật thư giãn và chánh niệm là chìa khóa để vượt qua các phản ứng căng thẳng và cho phép tâm trí của bạn tập trung rõ ràng. Và thực hành những điều này thực sự được đền đáp. Khi ai đó có kinh nghiệm trong những điều này, anh ta có thể nhận thấy mức độ căng thẳng tăng lên trước khi sự thất vọng có thể xảy ra . Sau đó, người ta có thể làm gián đoạn chu kỳ của suy nghĩ, ví dụ bằng cách hít thở sâu hoặc thực hiện vài phút thư giãn. Đây có thể là tất cả những gì cần thiết tại thời điểm đó.

* hôn đối tác của bạn, vuốt ve thú cưng của bạn - gợi ý từ vợ tôi :-)


12
+1, Tâm trí của chúng ta LUÔN LUÔN cố gắng giải quyết vấn đề, chỉ vì chúng ta không cố ý giải quyết nó, tâm trí của chúng ta vẫn đang quay cuồng. Đó là lý do tại sao bạn dường như nhớ một cái tên không rõ ràng, một giờ sau khi không thể nhớ lại nó. Và thức dậy với một vấn đề được giải quyết vào giữa đêm. Một cuốn sách tuyệt vời giải thích điều này là Tư duy và học tập thực dụng: Tái cấu trúc Wetware của bạn
CaffGeek

+1 Không thể nói tốt hơn bản thân mình. Tôi thực sự ra khỏi khối lập phương của mình, rời khỏi văn phòng và đi bộ quanh thị trấn, gọi cho vợ tôi, và sau đó quay trở lại văn phòng. Hoạt động gần như 100% thời gian.
Ông Ant

9
Và đừng làm việc quá 8 giờ một ngày. Càng mệt mỏi, bạn càng dễ nản lòng.
HLGEM

3
Khi tôi nghỉ giải lao, tôi thường giải quyết vấn đề khi tôi trở lại bàn làm việc. Giống như tiềm thức của bạn đang chờ đợi ý thức của bạn im lặng.
barrycarter

1
@junxiong, người ta có thể sử dụng các kỹ thuật này ngay cả khi chịu áp lực thời gian, nhưng điều này đòi hỏi kinh nghiệm. Một người nào đó đã thiền định trong nhiều năm, có thể kiểm soát và trấn tĩnh anh ta chỉ trong vài phút hoặc thậm chí vài giây. Nhưng cố gắng học một cái gì đó mới - và đặc biệt là chánh niệm - dưới áp lực thời gian là rất khó. Nếu vẫn thất bại, hãy coi đây là một bài học quan trọng và khi thời hạn kết thúc, hãy bắt đầu chuẩn bị cho cuộc khủng hoảng tiếp theo bằng cách phân tích hành vi của bạn và thực hành một số kỹ thuật được đề cập ở đây hoặc trong các câu trả lời khác.
Péter Török

35

Bây giờ là 3 giờ khi điều này sẽ khiến bạn mất 10 phút.

Từ ma thuật là nên . Tấn công điều đó từ vốn từ vựng của bạn.

Ai nói cần 10 phút? Ai cụ thể? Cơ sở thực tế cho yêu cầu của họ là gì?

Nếu bạn đã thực hiện 3 lần trước đó và mỗi lần bạn gần 10 phút, bạn có cơ sở hợp lý cho việc nên làm .

Nếu bạn chưa bao giờ làm điều đó trước đây, nói rằng chỉ nên thiết lập cho mình thất bại. Bạn nên ngừng sử dụng nên ngay hôm nay.


2
Tất nhiên, có rất nhiều điều bạn đã làm hàng triệu lần mà một ngày nào đó chỉ dừng hoạt động. Một tệp bị hỏng trong một số mã được tạo tự động có thể khá khó chịu và đôi khi rất khó gỡ lỗi. Tôi đang nghĩ về những lần tôi vô tình đặt tên cho hai thứ cùng tên, sau đó sử dụng một công cụ tái cấu trúc để thay đổi tất cả các trường hợp xảy ra tên. Tôi đã thực hiện động tác xương đầu đó một vài lần với các lớp mâu thuẫn với các lớp tạo ORM của tôi. Làm điều gì đó tương tự, và bạn đã hy vọng tốt hơn về việc đăng ký.
Morgan Herlocker

1
@Prof Plum: "Tôi đã thực hiện động tác xương đầu đó một vài lần". Điểm tuyệt vời. Điều đó có nghĩa là một kỳ vọng phải bao gồm thời gian cho động thái xương đầu đó. Một lần nữa, "nên" bao gồm tất cả các sự kiện, không phải là sự thật "nếu mọi thứ đều đúng" và loại trừ các sự kiện "di chuyển đầu xương".
S.Lott

22

Tìm ai đó để sử dụng như một bảng âm

Ngay cả khi không ai có chuyên môn về chính xác những gì bạn đang làm, thì vẫn nên nói về những điều này thường xuyên. Chỉ cần hành động tuyệt đối của việc sử dụng ai đó như một bảng âm thanh có thể khiến tâm trí bạn bắt đầu quay đầu. Bạn sẽ thấy mình nghĩ về những điều mới để thử. Nó cũng sẽ giảm bớt căng thẳng của bạn để trút giận một chút và có khả năng kết bạn mới. Nhìn chung, nó cũng chỉ tốt cho sức khỏe để nhóm cảm thấy thoải mái khi chia sẻ và tuyên dương với nhau để tạo ra bầu không khí theo định hướng nhóm để giải quyết các loại vấn đề này.


7
Ngay cả khi người đó không có manh mối về những gì bạn đang nói với anh ta, chỉ cần hành động nói ra điều đó sẽ giúp làm rõ mọi chuyện.
Michael Brown

2
@Mike, ngay cả khi "người đó" là một con gấu bông, nó vẫn hoạt động với tỷ lệ lớn đáng ngạc nhiên trong các trường hợp (có một câu chuyện có thật về điều này trong Từ điển Hacker AFAIR)
Péter Török

3
@Mike Brown - xem "gỡ lỗi vịt cao su"
ocodo

1
Vịt cao su gỡ lỗi? pfft. Tôi giữ một Goomba gỡ lỗi trên bàn vì lý do này, vịt tốt hơn cho phía quản lý dự án.
glasnt

Vâng, tôi sẽ tham khảo rằng ... thật quá lười biếng để kéo liên kết: P
Michael Brown

9

Đi bộ một lúc và làm một cái gì đó khác. Ngủ một giấc ngon và trở lại vấn đề vào buổi sáng.

Ngoài ra, đừng tự đánh mình. Ước tính mười phút của bạn rõ ràng là không chính xác, và điều đó xảy ra mọi lúc.


9

Tôi có một vài bước khi tôi đạt đến điểm này. Thông thường tôi có thể tìm ra một giải pháp nếu tôi dành thời gian để lùi lại và suy ngẫm.

Bước 1: Đi ra khỏi vấn đề và xóa đầu của bạn. Quay trở lại khi bạn không nản lòng và có thể nhìn nó với một tâm trí tươi mới.

Bước 2: Quay trở lại mã và xem nếu có bất cứ điều gì bạn bỏ lỡ. Có ai đó đến và là một đôi mắt thứ hai nếu bạn không thể làm cho đầu hoặc đuôi của nó.

Bước 3: Loại bỏ mã khỏi phương trình. Vấn đề bạn đang cố gắng giải quyết là gì? Viết nó ra trên một tờ giấy hoặc bảng trắng. Nói chuyện vấn đề với ai đó để có ý kiến ​​của họ về vấn đề và giải pháp.

Bước 4: Tiếp cận cộng đồng để xem họ có giải pháp hay không nếu có ai đó đã từng đâm vào cùng một bức tường.

Về cơ bản, những điều này có thể được tóm tắt là 'Dừng hack và tránh xa mã'.


Tôi sử dụng bảng trắng mọi lúc. Rất hữu ích để hình dung trong khi gỡ lỗi.
Michael K

Bước 3 được gọi là thay đổi miền của vấn đề để xem liệu thành công song song có thể được sử dụng lại hay không. Nó cũng được gọi là sử dụng một phép ẩn dụ.
Kurucu

2

Tôi sẽ hỏi một câu hỏi ở đây và nhờ cộng đồng giúp bạn giải quyết nó. Ít căng thẳng theo cách đó.


6
Đôi khi chỉ cần viết câu hỏi sẽ dẫn đến giải pháp
JoelFan

1

Tôi có một loại giải pháp khác - TUYỆT VỜI !!

Khi bạn thất vọng với một vấn đề, bạn không thể dễ dàng thoát khỏi nó. Vì vậy, sẽ tốt hơn nếu bạn trở nên mệt mỏi khi cố gắng giải quyết vấn đề và sau đó ngủ thiếp đi.

Khi bạn thức dậy, bạn sẽ có một cảm giác mới mẻ và một lần nữa bạn có thể suy nghĩ rõ ràng với vấn đề. Tôi làm điều đó đôi khi.


Không phải là nitpicky, nhưng giải pháp "khác biệt" này đã được đề cập trong ít nhất hai câu trả lời trước đó.
Péter Török

1
ý tôi là -> không chỉ nghỉ ngơi, đi bộ hay ngủ mà trở nên mệt mỏi khi cố gắng giải quyết vấn đề và sau đó ngủ. bởi vì khi bạn gặp vấn đề trong bạn, bạn có thể không thoát ra khỏi nó một cách dễ dàng
ruben 2/211

1

Tìm một cái gì đó để giúp xây dựng lại một số sự tự tin là những gì tôi có xu hướng làm khi tôi đạt đến điểm này. Điều này có thể là giải một câu đố Sudoku hoặc Kenken, thực hiện một số nhiệm vụ hành chính đơn giản như điền vào bảng chấm công của tôi hoặc ra ngoài đi dạo. Chìa khóa ở đây là để tôi có cảm giác đạt được bất cứ điều gì làm mất tập trung bên này là giúp tôi đủ sức để trở lại con ngựa và cưỡi lên chiếc yonder màu xanh hoang dã, để trộn một vài phép ẩn dụ ở đó.

Để tránh điều tồi tệ này, tôi có thể khuyên bạn nên có một số chiến lược về công cụ đấm bốc thời gian để nếu bạn tin rằng phải mất 10 phút và đột nhiên một giờ sau đó không có nhiều tiến triển, tôi sẽ dừng lại và có nghỉ ngơi một chút thay vì cố gắng đập đầu tôi vào tường.


1

Tôi có một cái tên đặc biệt cho loại tình huống này: trận chiến lập trình sử thi .

Nếu tôi chưa có ít nhất một trận chiến lập trình hoành tráng với một ngôn ngữ hoặc công cụ lập trình cụ thể và giải quyết vấn đề, tôi không thể tự nói với mình rằng tôi có thể sử dụng ngôn ngữ hoặc công cụ lập trình đó.

Vì vậy, có giải pháp của tôi: tinh thần hóa nó như một cuộc chiến và một bài kiểm tra về lòng can đảm và sức chịu đựng . Nếu tôi không thể giải quyết vấn đề, thì tôi " sống để chiến đấu vào một ngày khác ".

Nghe có vẻ hơi nực cười, nhưng, sẽ vui hơn và hài lòng hơn khi nghĩ về điều này (giống như đó là một trò chơi nào đó bạn phải thắng) thay vì phải chịu đựng tất cả vì bạn phải đối mặt với sự thật rằng bạn không biết tất cả mọi thứ .


0

Chà ... tôi nghĩ bạn cần một nghề nghiệp mới hoặc một loạt các kỳ vọng hoàn toàn mới. Mặc dù chắc chắn không thường xuyên, nhưng mất 3, 4, 8, 10 hoặc 40 giờ để làm những gì bạn nghĩ ban đầu sẽ là một công việc 10 phút chắc chắn không phải là hiếm trong kinh doanh phần mềm. Tôi chắc chắn rằng hầu hết các nhà phát triển làm việc trên bất kỳ thứ gì có độ phức tạp vừa phải đều có các nhiệm vụ 2 ngày biến thành các nhiệm vụ 1 tháng một khi họ đào sâu vào nó và hiểu vấn đề.

Một phần của việc trở thành một nhà phát triển giỏi liên quan đến việc kiên nhẫn, nếu không máy tính sẽ chiến thắng và cuối cùng bạn sẽ kết hợp một số bản sửa lỗi nhanh mà chỉ xuất hiện để hoạt động nhưng chắc chắn sẽ phá vỡ thứ mà bạn không nghĩ tới. Nếu sự chậm trễ nhỏ gây cho bạn nhiều căng thẳng thì có lẽ bạn không nên tham gia vào công việc này.


0

Hai gợi ý:

  1. Người thông minh nhất mà tôi biết, người có hai bằng tiến sĩ và có chức danh "Nghiên cứu viên", tại một công ty tư nhân nhỏ, nói điều này

    Nếu bạn nghĩ về nó trong 15 phút và bạn không có câu trả lời, bạn đã làm sai.

    Ngừng suy nghĩ về nó.

    Có một giấc ngủ ngắn. (đi dạo hay gì đó)

    Câu trả lời sẽ có khi bạn thức dậy.

  2. Nhận cuốn sách "Gỡ lỗi" của David J Agan . Nó có thể sẽ dạy bạn nhiều hơn về gỡ lỗi để khi mọi thứ không hoạt động, bạn có thể gỡ lỗi nhanh chóng.


0

Khi tôi phải đối mặt với điều gì đó không hiệu quả, tôi luôn nhớ câu nói này:

Khi bạn ở trong địa ngục, hãy tiếp tục đi bộ vì đó là điều tốt nhất có thể được thực hiện tại thời điểm đó.

Nghỉ ngơi, cố gắng làm mới bản thân và tập trung vào vấn đề với mức năng lượng mới.


0

lặp lại khuyến nghị của người khác:

  • tình huống này hầu như luôn luôn là một cái gì đó tầm thường mà bạn không nhìn thấy ; nghỉ ngơi một lát
  • một cặp mắt khác hoặc thậm chí chỉ giải thích vấn đề cho con mèo của bạn có thể giúp

và thêm:

  • kiểm tra lại các giả định của bạn, đặc biệt là những người không nói; rất có thể bạn đã sủa sai cây
  • đảo ngược tình huống: giả sử hành vi hiện tại là kết quả mong muốn, vậy bạn sẽ phải làm gì với mã để thực hiện điều đó?
  • viết một số mã kiểm tra (xác nhận hoặc ghi nhật ký hoặc các điểm dừng có điều kiện - giữ cho nó đơn giản) để xác minh các giả định của bạn dọc theo đường dẫn thực hiện

0

Đôi khi, tốt nhất là không chỉ cố gắng hack một cách thông qua một vấn đề. Hãy dành chút thời gian và viết ra mã giả những gì bạn cần làm. Tôi biết có áp lực để hoàn thành công việc nhanh nhất có thể, nhưng từ những gì tôi đã thấy, phong cách mã hóa đó dẫn đến loại tình huống mà bạn mô tả. Nếu ai đó viết mã sẽ chỉ hoạt động với một tập hợp các điều kiện nhỏ và tập hợp đó thay đổi, mã sẽ bị hỏng hoặc làm những điều không mong muốn.

Ngoài ra (tôi ghét thừa nhận các giáo sư của tôi đã đúng về điều này ...), tài liệu và kiểm tra đơn vị giúp. Điều này sẽ giúp dễ dàng hơn để biết phần nào của mã sẽ được đưa ra với tập hợp đầu vào. Sau đó, sẽ dễ dàng hơn để xem ảnh hưởng của sự thay đổi trong phần đầu vào đó sẽ gây ra.


0

Mệt mỏi hoặc thiếu ngủ không bao giờ là vấn đề với tôi. Tôi thất vọng hơn với sự thiếu tổ chức trong toàn ngành, và nói chung các tiêu chuẩn thấp mà chúng tôi đặt ra cho chính mình. Đây là năm điều làm tôi thất vọng:

  1. API rất phức tạp trong thiết kế. Nó giống như học một ngôn ngữ lập trình hoàn toàn mới. Trên thực tế, một số API khó học hơn nhiều so với học ngôn ngữ lập trình mới. Tôi ngưỡng mộ trí thông minh của bạn, nhưng bạn có thể đã tiết kiệm thời gian cho tôi bằng cách đưa vào tài liệu rằng tôi cần một tiến sĩ về công nghệ phần mềm hoặc khoa học máy tính để hiểu nó.

  2. Thiếu tài liệu tốt. Tôi không bao giờ có thể vượt qua thực tế là rất nhiều nhà thiết kế API đã dành rất nhiều thời gian để tạo ra một API chỉ để phát hành nó với tài liệu tối thiểu. Cảm ơn, nhưng làm thế nào để tôi sử dụng này? Làm gì trong tình huống này? Vân vân.

  3. Thực hiện độc quyền. Một số thực hiện độc quyền là ok, nhưng nếu các tiêu chuẩn tồn tại, vì lợi ích của loài người, hãy làm theo các tiêu chuẩn đó. Không có gì bực bội hơn việc dành thời gian tự hỏi tại sao một cái gì đó không hoạt động chỉ để khám phá việc thực hiện không tuân theo các tiêu chuẩn thông thường.

  4. Môi trường hộp cát / Hạn chế. Ok, có thể điều này giúp loại bỏ những người xấu, nhưng theo tôi, những hạn chế đối với những gì một lập trình viên có thể làm chỉ hạn chế sự sáng tạo và tiến bộ công nghệ. Nhiều ý tưởng tuyệt vời mà tôi đã bị vứt bỏ sau khi phát hiện ra rằng tôi không được phép làm điều gì đó. Ngành công nghiệp lập trình thực sự được tạo ra để tạo ra các ứng dụng hàng ngày, không phải là phần mềm đột phá sáng tạo. Vì vậy, nếu bạn quyết định trở thành một lập trình viên, bạn thực sự chọn trở thành một người cằn nhằn thời hiện đại, trừ khi bạn muốn trở thành một học giả cô đơn.

  5. Các cuộc thảo luận hiện đại. Mọi người ngày nay vẫn tranh luận về sự xấu xí của dấu ngoặc đơn Lisp, hoặc công đức của sự sạch sẽ của Pythons, hoặc làm thế nào một số ngôn ngữ như Cobol hoặc Fortran bị tuyệt chủng, v.v. Đây là những gì chúng ta tranh luận về? Hãy nói về sự song song, hoặc cách tốt hơn để thiết kế các hệ thống an toàn hơn hoặc cách lập trình logic có thể cải thiện cuộc sống của chúng ta. Hãy ngừng suy nghĩ như các lập trình viên và bắt đầu suy nghĩ như các nhà thiết kế của thế giới ngày mai.

Vì vậy, cá nhân tôi không lập trình nhiều như vậy nữa do những thất vọng này. Cho đến khi ngành công nghiệp quyết định họ muốn làm nhiều hơn là chỉ tạo Facebook tiếp theo hoặc phát minh lại trình xử lý văn bản mà tôi đã thiết lập xong. Tôi sẽ để nó cho các bạn. Thành thật không có ý xúc phạm, đó là tiền tốt.

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.