프로그래밍 피로를 어떻게 극복합니까? [닫은]


48

'잠이 필요합니다'와 같은 피로가 아니라 '더 이상 귀찮게 할 수 없습니다'와 같은 피로는 일반적으로 작업중 인 프로젝트에서로드 블록을 칠 때 일반적으로 마감 시간에 가까워집니다.

작업 프로젝트 나 개인 프로젝트에있을 수 있지만 최근에 점점 더 많이 타격을 받고 있습니다. 아이디어를 얻고, 작업을 시작하고, 정말로 좋은 날을 보내고, 진전을 이룬 다음, 약간의 끔찍한 일이 저를 트립 할 것입니다. 나는 원하는 방식으로 일을 할 수 없습니다. 프레임 워크에서 문서 등을 찾을 수없는 문제가 있으며 너무 실망 스럽습니다.

아니면 내가 혼자입니까?


4
로드 블록을 쳤을 때 프로젝트에서 진행 상황을 측정 할 수 있습니까? 그렇지 않은 경우 측정 가능하게 만드십시오. 꾸준한 발전의 가시성은 내가 아는 가장 좋은 것입니다.

7
이것은 Mort (Terry Pratchett)를 떠올리게합니다. "내가했던 때의 제 3 호출하자, 나는 거의 분기 짓을했는지, 그가 생각 보자 어떤 세 이상을 의미 5/8, 그것을 호출합니다 hayrack에 의해 코너가 절반 이상있을거야 외바퀴 손수레 ... 우주의 굉장한 화려 함을 일련의 작은 덩어리로 생각하면 다루기가 훨씬 쉽다는 것 외에는 아무 것도 증명할 수 없습니다. "
Steve314

@ Steve314 : +1 Pratchett 바위.
Orbling

메기 효과를 보십시오 .
rwong

@ rwong : 내 프로젝트의 대부분은 솔로 프로젝트 (또는 매우 작은 팀)입니다. 그러나 흥미로운 아이디어처럼 들립니다.
sevenseacat

답변:


42

지연

당신이 설명하는 것은 아마도 미루는 것 입니다. 매우 일반적인 현상입니다. 링크를 클릭하고 시간 동기 이론 에 대해 읽으십시오 .

지연을 이기기 위해 목록을 작성합니다. 내가 미쳤다고 느낄 때, 나는 목록을 열고 첫 번째 항목을 다루도록 강요한다. 몇 분 후 , 심리학자 Mihály Csíkszentmihályi의 설명대로 구역 이나 흐름에 들어 갑니다.

이 이미지에서 당신을 인식해야합니다 :

대체 텍스트


2
자신을 강요 한 +1 나는 나에게도 똑같은 것을 발견했다. 시작은 가장 어려운 부분입니다.
Michael K

2
모든 프로젝트가 수직 축에서 하강한다는 점을 알 수 없습니다. 수평에서도 움직임이있는 경향이 있습니다.
Orbling

오픈 소스 프로젝트를 코딩하는 대신 오늘 하루 종일 미루 었습니다. 젠장.
gruszczy

1
이 문제를 해결하기 위해 +1.
Conor

2
나는 그 목록에 맨 위의 불쾌한 일들 만 있다면 스스로를 강요하는 것이 불가능할 수도 있다는 것을
알았다

10

나를 위해 일하는 것은 장벽을 제기하는 문제에서 벗어나는 것입니다. 이는 다른 사람들이 코드베이스의 다른 부분에서 작업 할 것을 제안한 것을 의미합니다. 달리기를 의미 할 수도 있습니다. 나는 장벽에 대항하여 머리를 두드리는 것만이 장벽을 강화시키는 것으로 나타났습니다. 관계가없는 것으로 초점을 바꾸면 잠재 의식이 문제를 해결할 수 있습니다. 샤워 등에서 솔루션을 찾음으로써 여러 번 놀랐습니다.


4
샤워는 버그 수정을위한 좋은 장소입니다.
Orbling

그것은 단지 장벽을 강화하는 것에 대한 정말 좋은 지적입니다. 나는 그것이 내가해야 할 일이라고 생각합니다. 프로젝트를 다른 부분으로 나누십시오. 그래서 뇌가 충분할 때 다른 것으로 바꾸고 다른 부분을 사용하십시오.
sevenseacat

8

프로그래머는 그린 랜턴 보다 큰 드라이브를 가져야합니다 . 무언가가 작동하지 않을 때 우리가 가진 가려움증입니다. 우리는 더 깊이 파고 들어가서 질문을하거나 책을 읽음으로써 그 이유를 알아 내려고 노력합니다.

그 피로를 막기 위해 할 수있는 일은 약간의 문제를 피하고 주어진 과제의 다른 측면을 연구하는 것입니다.

나를 위해, 내가 아이처럼 편하게 만드는 프로그래밍 작업은 GUI에서 작업하고 있습니다. 쉽게 죽었고 뇌를 차단할 수 있습니다. 그것은 또한 뇌에 내가 무언가를 이루고있는 위약 효과를줍니다.


기본적으로 프로젝트에 몰입하지만 바쁜 일에 빠져 있습니까? 그리고 네, 이것이 최악의 느낌입니다. 당신이이 모든 것을 무언가에 넣었을 때, 아직 아무것도하지 않은 것처럼 느껴집니다.
sevenseacat

3
@Karpie 당신은 여전히 ​​무언가를 성취하고 있습니다. 'busywork'의 일부를 수행하면 수행해야하는 작업을 계속 수행 할 수 있지만 모든 실린더에서 뇌를 발사해야하는 것은 아닙니다.

나는 몰라-GUI 작업은 항상 나에게 실행되고있는 것 같습니다. 그것이 올바르게 작동하고 유용하게 만드는 것은 재미 있고 도전적이지만, 멋지게 보이게하는 것은 매우 어렵습니다.
Michael K

나는이 같은 잠시 동안 떨어져 단계 때, 시간의 약 50 %는 내가 다시 오지 않을 ... /
로마 Starkov

6

나는 거의 항상이 지역에 빠지는 경향이 있습니다.

프로젝트를 시작하는 것은 쉽고, 모든 것이 새롭고, 연구하고 찾아야 할 것들, 제작할 프로토 타입, 모두 재미 있습니다. 그러나 도전이 사라지면서 관심이 사라집니다. 사용중인 일부 플랫폼의 모호한 문제로 인해 발생하는 우스운 작은 버그를 해결하여 소프트웨어 빌드 버전을 구축합니다.

당신을 죽이는 것으로 충분합니다.

나는 이것에 지나치게 도움이되는 것을 찾지 못했습니다. 다른 일에 지루해하고 죄책감을 느끼기 전까지는 완전히 다른 무언가 (스택 오버 플로우가 좋습니다)로 일하거나 노는 것입니다. 그런 다음 약간 지루한 작업을 수행하십시오. 생산성은 약 20 %로 감소하지만 둔한 코딩의 부담이 있습니다.

하나의 솔루션, 팀 프로그래밍이 있으며, 다른 사람들이 직접 관여 할 때 정지하기가 매우 어렵습니다.


1
+1, 팀 빌딩이 훌륭합니다. 불행히도 다른 사람들이 자신의 개인 프로젝트에 관심을 갖기는 매우 어렵습니다.
dan_waterworth

@dan_waterworth : 사실, 내 자신을 위해 프로그래밍 한 지 아주 수년이 지났습니다. 60-80 시간 주, 몇 년 동안 귀중한 작은 휴가는 오히려 욕망을 제거합니다.
Orbling

2
정직을위한 +1 : "... 다른 일에 지루해지고 죄책감을 느끼기 시작할 때까지 ... 생산성은 약 20 %로 줄어 듭니다 ..."
Kavka

팀 프로그래밍에 대해 더 구체적으로 설명 할 수 있습니까?
Esqarrouth

6

페어 프로그래밍

이 경우 페어 프로그래밍이 실제로 도움이된다는 것을 알았습니다. 당신이 잘 어울리는 사람을 찾아 문제를 공격하십시오. 다른 의견이나 발판이 장애물을 통과하는 것보다 낫지 않습니다. 다시 진전을 시작하면 열정이 저절로 돌아 오는 경향이 있습니다.

불행히도 이것은 회사에서 눈살을 찌푸 리기 때문에 생산성에 영향을 미치는 문제를 실제로 느낄 수있을 때만 그렇게하는 경향이 있습니다.


+1, 그것이 내 대답에서 제안한 유일한 것이 었으므로 팀 프로그래밍이라고 불렀지 만 둘 이상이 좋았습니다. ;-)
Orbling

3

새로운 언어를 배우십시오. 관심을 끌기 위해 새로운 언어를 배우는 것만 큼 좋은 것은 없습니다. 하스켈을 제안합니다.


1
새 언어의 경우 +1, Haskell의 경우 +1 그러나 투표 수학은 만든 것처럼 보입니다 1 + 1 = 1.
Orbling

1
@Orbling, it is1 | 1 = 1
dan_waterworth

1 & 1 = 1내 의도에 더 가깝다고 생각 합니다. ;-)
Orbling

1
@Orbling, 어떻 습니까? 시그 모이 드 함수는 P(vote) = S((1 + 1)/t)어디에 S(x)있습니까? (시스템 온도를 선택할 수 있습니다).
dan_waterworth

그것이 최신 프로젝트로 시도한 것입니다. Ruby and Rails를 배우려고 노력했습니다! 그것은 문서가 모두 존재하지 않는 것에 대한 부분이었다.
sevenseacat

2

한 시간 동안 또는 다른 지역을 때리기 시작합니다. 나는 직장에서 이클립스를 사용한다. 이클립스를 사용하면 // TODO:코드에 코드를 넣은 다음 창에 모두 모아 넣을 수있다. 다른 작업을하고있는 동안 변경하거나 수정하고 싶은 것이 있으면 TODO를 넣어 운동량을 줄이지 않습니다. 너무 오래 (1 ~ 2 시간 이상) 붙어 있으면 목록을 살펴보기 시작합니다. 그것은 풍경의 변화를 제공하며 대부분의 경우 변화가 매우 간단하여 긴장을 푸는 데 도움이됩니다. 종종 내가 무언가를 성취하고 있다고 느끼게하면서 대답이 튀어 나옵니다.

참고 : 나는 리팩토링을 좋아하고 코드 조각을 더 좋고 나아지게합니다. 귀하의 마일리지가 다를 수 있습니다.


1
+1 이것은 항상하는 일이며, 특히 코드의 원활한 흐름을 보장하는 데 도움이됩니다. 물론, 일반적인 코딩 교리를 따르면, 전체 의사 코드를 미리 작성하는 것이 좋은 생각이며 천천히 실제 코드로 해결해야합니다.
Orbling
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.