it-swarm-vi.com

Xử lý sự thất vọng khi mọi thứ không hoạt động

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?

63
JD Isaacks

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, 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: nghỉ ngơi. Đi dạo, thiền, ngủ, hoạt động thể chất * - làm điều gì đó hoàn toàn khác với 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 ấy đã có thể chú ý 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 hành thư giãn vài phút. Đâ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 :-)

70
Péter Török

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 một nên.

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

35
S.Lott

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í của bạn bắt đầu chuyển hướng. 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.

22
Doug T.

Đ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
jprete

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 thứ này có thể được tóm tắt là 'Dừng hack và bước ra khỏi mã'.

9
Tyanna

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 đó.

2
Bernard

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 sử thi 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à thử thách 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 thực tế đó bạn không biết tất cả mọi thứ.

1
dukeofgaming

Tôi có một loại giải pháp khác - NGỦ !!

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.

1
ruben

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
JB King

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 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 ra 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
Dunk

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 sách của David J Agan "Gỡ lỗi". Nó có thể sẽ dạy cho 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
Tim Williscroft

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
Rachel

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 chỉ 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
Steven A. Lowe

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 là 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 giá trị 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 vì 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 bộ xử lý Word 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.

0
annoying_squid

Đô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
John