평범한 코딩 과정에서 개발자가 방해받지 않아야하는 이유를 평신도에게 설명하는 방법은 무엇입니까? [닫은]


92

내 질문의 두 번째 부분 인 "코딩에서 개발자가 방해받지 않아야하는 이유"를 고려한다면, 그것은 똑똑한 사람들에 의해 여러 번 논의되었습니다. SO의 공동 창립자 인 Joel Spolsky도 "영역에 도달하기"와 "영역에 녹아웃"에 대한 블로그 게시물을 작성 했으며 단지에 참여할 때 생산성을 달성하는 데 평균 15 분이 걸리는 이유, 소프트웨어 개발 관련 작업. 그래서 나는 그 이유가 확립되었다고 생각합니다.

내가 관심이있는 것은 Beans에 대해 콩을 모르는 사람에게 모든 것을 설명하는 방법입니다 (khmm 소프트웨어 개발을 의미합니다). "Wazzzzzzup ?!"을 사용하여 30 분마다 Skype에서 핑을 보내는 오랜 친구 나 아내 또는 직장에서 회계 담당자에게 재미있는 사람에게 알리는 방법, 모든 중단이 업무에 더 큰 영향을 미칩니다. 그들이 당신의 시간에서 걸린 명백한 30 초. 공허한 응시 나 우호적 인 학대의 대상이되고 싶지 않다면 "단기 기억에 많은 변수 이름을 저글링해야한다"와 같은 문장으로 설명 할 수 없습니다.

공격적이거나, 엘리트 적이거나 너무 기술적이지 않고 비 개발자에게 명확하게 이해할 수있는 방식으로 모든 것을 설명하고 싶습니다.

편집 : 훌륭한 통찰력을 가진 모든 사람에게 감사합니다. EpsilonVector의 대답 은 그의 원래 비유에 가장 가까운 것으로 받아 들였습니다 . "잠들기"설명은 모욕적이거나 기술적 인 것이 아니며, 거의 모든 사람이 관련 될 수 있으며, 잠들거나 구역에있을 때 방해받는 결과는 매우 유사합니다. 시간.


36
그들이 0부터 시작하여 소리지르는 모습을
Tim Post

8
대부분의 직업과 관련이있는 의사는 중간 흐름을 막으십시오.
ozz

24
직장에서 스카이프를 내리십시오.
Josh

6
"공격하지 않고"어딘가에 캐치가 있음을 알았습니다. :)
biziclop

7
@Josh 직장에서 회사 간 통신에 Skype를 사용합니다. 우리는 그것을 열어야합니다. 별도의 업무용 계정이 있지만 여전히 이러한 문제가 발생합니다.
Matthew Scharley 2019

답변:


124

다음과 같은 유추를 시도해보십시오. 첫 번째 : "잠들기까지 얼마나 걸립니까?" "X 분" "지금 잠들기 시작했을 때 누군가가 들어 와서 당신을 방해 할 때, 지금 잠들기까지 얼마나 걸립니까? 몇 초 남았거나 다시 시작해야한다고 상상해보십시오." "당신이있는 곳으로 가라 앉아?" "다시 시작해야 할 것입니다." "좋아요. 같은 일입니다. 잠들 듯이, 초점 모드로 '싱크'하는 데 시간이 걸리고, 일단 중단되면 다시 돌아 오는 데 시간이 걸립니다. "내가하고있는 일의 절반도 잊어 버린다"

두 번째 : "책을 읽고있을 때 당신이 '침묵에 빠지는'방법을 알고 있습니다. 잠시 후에는 더 이상 단어를 알아 차리지 못하고 주변의 모든 것을 차단하고 정신적 인 이미지에 완전히 몰입합니다. 당신은 참조하십시오. " "예." "도착하는데 얼마나 걸립니까?" "약 X 분" "이제 당신이 책에 몰입했을 때 누군가가 들어 와서 당신을 방해 할 때, 그 책으로 돌아 오는 데 얼마나 오래 걸립니까? 즉시 일어날까요, 아니면 다시 시작해야합니까?" "당신이있는 곳으로 가라 앉아?" "다시 시작해야 할 것입니다." "좋아요. 같은 것입니다. 독서와 마찬가지로 초점 모드에 '싱킹'하는 데 시간이 걸립니다. 누군가 나를 깨뜨릴 때 짜증나게합니다.


14
+1 우수, 우수, 특히 "잠들기". 내가 찾던 설명의 종류.
András Szepesházi

1
도움이되지 않을 수도 있음-평상시 수면으로 다시 넘어 질 수 있음 ...
Armand

1
@Alison 나는 알 수 없지만 읽을 수없는 사람들이 많으므로 두 번째 요점과 관련이 없습니다.
Matthew Scharley

3
떨어지는 잠은 은유를 좋아하지만, 나는 곧 내 아내에게 내 직업을 설명하기 위해 그것을 사용하지 않을 것입니다! ;>
dthorpe

7
프로그래머를 깨우지
Chris Nava

30

나는 Joel이 묘사 한 환상의 상태가 기술적이라고 생각하지 않습니다. 사람들이 정말 좋은 책의 철자에 빠지거나 떨어질 때 경험하는 것과 같은 올바른 두뇌 변화입니다. (Betty Edwards의 "뇌 오른쪽 그림"은 그것을 완벽하게 설명합니다.) 모든 사람들은 당신이 시간의 흐름을 알지 못하는 곳에 집중력을 경험했습니다.

나는 이것이 단지 기술적 인 사람들 만이 이해하는 것, 비 개발자들이 이해하기 위해 그 개념을 멍청하게해야한다는 것을 상상하는 것은 박쥐를 당황스럽게 생각한다고 생각한다. 평범한 언어로 설명하면됩니다.


17
내 경험상 그들은 반드시 그것을 얻지 못합니다. 사실로 받아 들일 수는 있지만 여전히 관련이 없습니다. 내가 아는 대부분의 사람들에게, 일은 단지 일시 중단되거나 계속 될 수있는 일이다.

3
내가 말하는 사람들이 아닙니다. 내 경험상, 썩지 않은 작업을하는 일을하는 모든 사람은 완벽하게 관련 될 수 있습니다. 어리석은 일을하는 사람들과 너무 많은 대화를하고있을 수도 있습니다.
duffymo

3
@duffymo : 흠. 나는 불쾌한 일을하는 고객을 위해 맞춤형 제안을 작성하는 영업 사원을 고려하지 않습니다. 그래도 내가 방해하면 추적 할 때까지 최대 30 분을 잃게됩니다. 그것이 제가 의미 한 바입니다. 대부분의 일자리는 우리보다 훨씬 더 쉽게 중단 / 계속할 수 있습니다. 이모.

5
당신이 잃어버린 상태의 문제입니다. 프로그래머는 코딩하는 동안 전체 프로그램 상태를 머릿속에 유지해야하는 경향이 있지만, 더 많은 글을 쓰는 다른 직업은 작성중인 문서에 상태를 유지합니다. 어떤 상태가 더 쉽게 복원됩니까?
Michael K

2
나는 그 사람이 실제로 자신의 일 (또는 자유 시간) 동안 흐름 상태를 경험하는지 여부에 달려 있다고 생각합니다. 그들이 한 적이 있다면, 우리가 의미하는 바를 더 잘 이해할 것입니다.
Péter Török

23

내부 스레드를 구두 IO로 다시 라우팅합니다. 즉, 방해 할 때 둥글게되고 엉망이되는 코드를 유지하고 포기하고 사라질 때까지 중간 거리를 살펴 봅니다. 그들이 말하면, 더 크게 울려 퍼집니다.


16
LOL 이것은 좋지만 방해자가 아내라면 이혼으로 이어질 것입니다.
András Szepesházi

이것은 확실히 더 빠르고 효과적인 방법입니다! : P
Robin Maben

16

그들에게 코딩 (또는 여기에 다른 고농도 활동을 삽입)은 회전판이 작동 하는 서커스 공연자와 같다고 말한다 .

먼저 막대기에 하나의 접시를 돌려서 시작하고, 그 다음에 가서 두 번째 접시를 돌리기 시작하고, 그게 가고, 첫 번째 접시로 돌아가서 조금 더 회전 시켜서 계속 움직입니다. , 가서 두 번째 판, 작은 여분의 스핀, 첫 번째 판 여분의 스핀, 세 번째 판 여분의 스핀으로 돌아가서 네 번째 회전 등을 시작하십시오.

그런 다음 전화가 울리고 모든 플레이트가 떨어집니다.

흐름 상태가 사라졌습니다. 이제 다시 시작해야합니다. 한 판 회전시키기 ...

나는 각 판을 당신이 머릿속에서 유지해야 할 데이터, 변수, 개념, 상태 등으로 생각합니다.


13

몇 달 전에 코딩 작업을하는 동안 누군가 큐브에 들어가 이어 버드를 꺼내도록했습니다. 내면의 분노와는 별도로, 프로그래머는 종종 논리적 사고에 깊이 빠져 사고에 대한 다른 집중적 접근이 필요하며 갑자기 중단이 사고 과정을 망칠 수 있다고 설명하는 것이 었습니다. 그것은 그 사람에게서 다시는 일어나지 않았으므로 아마도 효과가 있었을 것입니다. 고려해야 할 또 다른 사항은 통화 중 / 무료 표시입니다. 저는 알고리즘을 수행하는 친구가 있는데 한쪽에는 "코딩-방해 금지"라고 말하고 다른쪽에는 "무료 채팅"이라는 양면 사인이 있습니다. 모호성을 제거하는 것이 핵심입니다.


16
"무료 채팅"쪽을 적당한 시간 동안 두십시오. "중단하지 마십시오"쪽이 항상 켜져 있으면 아무 표시도 없을 수 있습니다.
Dean Harding

4
항상 성가신 것처럼 보일 것 같습니다.
아무도

3
사인 대신에 씽킹 캡을 가질 수 있습니다. Thinking Cap을 착용 할 때마다 사람들이 방해하지 않아야합니다.
앤트

3
"채팅 무료"가 (관리자에게) "내가 할 일이 충분하지 않다"는 것을 의미하지 않습니까?
Badgerr

8
직장에서 문서화되지 않은 "영역 내"표시기는 헤드폰의 존재입니다. 사장님은 "당신이 아무 말도 듣지 않더라도 집중하고 있다면 그것들을 착용하십시오. 우리는 당신이 바쁘다는 것을 의미합니다."라고 말했습니다.
JYelton

12

좋아, 나는 내 자신의 대답을 추가하고있다.

최근에 나쁜 시간에 나를 방해 한 사람에게 다음과 같이 말했습니다. "소프트웨어 개발은 ​​인생에서 처음으로 매우 바쁜 길에서 자동차를 운전하는 것과 같습니다. 모든 관심은 바퀴와 페달과 자동차에 중점을 둡니다. 당신의 주위에 돌진하고, 당신은 단순히 멋진 대화에 대한 약간의주의를 기울이지 않습니다. 채팅에 관한 것에 집중하기 시작하면, 당신은 차에 대한 통제력을 상실하게되어 결국에는 사고".

이것은 사람과 관련이 있었지만 좋은 비유와는 거리가 멀다. 중단되면 결과는 사고와 매우 다릅니다. 저는 20 년 동안 소프트웨어 개발을 해왔으므로 이것을 처음으로 수행 한 것과 비교해보십시오. 등등.


1
좋은 비유입니다. '처음'부분을 제거하고 교차로, 신호등, 트럭 자전거가 많은 매우 바쁜 도로임을 강조하십시오. 특히 교차로가 모퉁이 뒤에 차를 부딪 칠 수있는 것을 항상 모른 채 결정을 내리는 것이 좋습니다.
Goran Jovic

나는 이것이 좋은 비유라고 생각하지 않으며, 당신이 그것을 스스로 인정한다고 생각하지만, 개발 시간을 존중하게되면 사용하십시오.
Bernard

나쁘지는 않아.
Marcie

4
당신이 무시하려고 고군분투하고있는 비명을 지르는 아이들이 이미 3 명 있다고 덧붙여 라.
Benjol

7

" 유량의 Mihaly Csikszentmihalyi "는 사람들에게 호소하거나 호소하지 않을 수있는 특정 조건 하에서 실제로 생산적이라는 아이디어에 대해 좋은 TED 강연입니다. 어떤 사람들에게는 설명을 이해하고 싶지 않을 수도 있으므로 죽은 말을 재귀 적으로 무한정 때리는 것과 비슷합니다.



+1 흐름에 대한 좋은 언급과는 별도로, "죽은 말을 재귀 적으로 무한대로 치는"부분은 단순히 재미 있다는 것을 알았습니다.
András Szepesházi

4

나는 그것을 프로그래머 트랜스라고 부릅니다. 여기에 좋은 비유가 많이 있습니다. 그렇다면 또 하나가 무엇입니까? 앞서 언급했듯이 프로그래머는 올바른 논리 흐름이 나타날 때까지 여러 가지 논리 흐름을 정신적으로 탐색합니다. 그런 다음 코드로 작성되어 컴퓨터에 저장됩니다.

따라서 종이 또는 중요한 문서를 작성한다고 가정하십시오. 생각이 컴퓨터로 흘러 들어가고 있지만 아직 변경 사항을 저장하지 않았습니다. 그런 다음 전원이 끊어 지거나 컴퓨터가 충돌합니다. 다시 가져 오는 데 시간이 오래 걸리고 원본과 같을 수 없습니다. (오래된 타이머 중 몇 명이 이런 일이 있었습니까?)

이것이 중단되었을 때 머리에있는 코드에 발생하는 현상입니다. 생각은 연기만큼 연약합니다. 그들이 아직 구원받지 못하고 그들을 방해하기 위해 무언가가 온다면 사라졌습니다.


나는 이것을 가장 좋아한다. 많은 사람들이 그것을 이해하고, 그것을 되 찾는데 15 분이 걸리지 않을 것이라고 충분히 표현했기 때문에 처음보다 오래 걸리고 더 나쁜 결과를 가져올 것이다.,
orbfish

3

친애하는 직원 여러분,보다 효율적으로 노력하기 위해 저의 업무에 초점을 맞추고 있으며 업무 간 순간에 이메일을 통해 질문에 답변하여 귀하와 회사 이름 을 더 잘 제공하기 위해 최소한의 중단을 유지하고 있습니다 _ . 이메일을 보내 주시면 최대한 빨리 연락 드리겠습니다. 감사합니다.


2

음악을 듣는다면

Headphones on? Please do not interrupt.

이것은 누군가가 읽고 헤드폰을 항상 켜두 지 않은 경우에만 효과적 입니다.


나를 위해 그것은 다른 길로 돌아갔습니다. 음악을 듣고 깊이 집중하는 것은 나에게 어울리지 않습니다.
코드 InChaos

2

나는 그것이 내 마음 속에 세워 져야하는 복잡한 연결의 큰 웹, 다양한 비 항상 명백한 방식으로 서로에게 영향을 미치는 연동 관계의 구조라고 생각한다. 코드를 작성할 때 초점을 맞 춥니 다. 이 웹을 구축하는 데는 꽤 익숙한 프로젝트에서 5 분에서 15 분 정도 걸리며, 그보다 몇 배는 덜 친밀합니다.

집중이 중단되면 웹이 무너지기 시작하고 중단이 몇 초 이상 지속 되거나 약간의 복잡한 문제에 대해 생각해야하는 경우 ( "지난 주에 서버가 다운 된 경우 고객에게 말 하시겠습니까? ") 웹이 완전히 무너집니다. 중단이 끝나면 전체 웹을 다시 처음부터 다시 작성해야합니다.

웹을 구축하는 데 10 분이 걸리고 한 시간에 세 번만 2 분 동안 중단되는 경우, 50 분 동안 코딩하는 대신 24 분의 작업 만 수행한다는 것을 이해해야합니다. 이 세 번의 작은 중단으로 인해 생산성이 절반으로 줄었습니다 .


1

닐 포드는 마지막 Devoxx에 대해 말했습니다. 그는 그것에 대해 책을 썼습니다 : 생산적인 프로그래머. 그는 '흐름'차단기에 대한 팁을 설명합니다. 당신이 흐름에 있다면 당신은 가장 높은 농도 지점에 있습니다. 그러나 중단되면 흐름으로 돌아 오는 데 + -20 분이 걸립니다.

당신이 당신의 흐름에서 벗어나면 뇌의 무작위 접근 메모리가 당신의 작업에 대한 데이터를 잃어 버리고 RAM에 데이터를 다시 가져 오기 위해 20 분이 필요하다는 것을 em에게 설명하고 싶을 것입니다.)


랜덤 액세스와 메모리 손실에 대해 말하는 것은 "기술적이지 않다"는 목표를 능가한다고 생각합니다.
András Szepesházi

0

일반적으로 IM 클라이언트에 다음 상태를 표시합니다.

나는 일을하고 있고 멀티 태스킹을 할 수 없기 때문에 귀찮게하지 마십시오.

적어도 그것은 트릭을하는 것처럼 보입니다.

"Wazzzzzzup ?!"으로 Skype에서 30 분마다 핑을 보내는 오랜 친구


1
오프라인으로 전환하거나 IM 클라이언트, Skype 등을 종료 할 수 있다는 것을 알고 있습니다.
Spoike

@Spoike IM이 업무용으로도 사용되는 경우는 아닙니다.
Eric Wilson

1
@EricWilson 직장에서 사용할 다른 계정을 등록하고 "Wazzzzzzup ?!"을 사용하여 30 분마다 Skype에서 핑을 보낸 오랜 친구에게 알리지 마십시오.
Daniel Beck

@EricWilson : 일정 시간 동안 작업에 집중하고 싶다면 작업에 사용하더라도 IM / 이메일을 끄거나 로그 오프 할 수 있습니다. 내가 일했던 곳에서 그렇게 할 수있었습니다.
Spoike

0

설명해 볼 수도 있지만 시도해 볼 수도 있습니다.

당신은 방해 그들이 그것을 읽고 영화를보고, 계산 또는 더 나은 뭔가를 계산되는지 여부, 깊은 농도를 필요로 뭔가를하고있는 동안. 그런 다음 설명해야 할 것은 방해 할 때 와 똑같다는 것입니다 . 트릭을해야합니다. 그들이 운전하는 동안 또는 그런 것을 방해하지 마십시오 :).


누군가는 분명히 문제에 대한 나의 접근 방식을 좋아하지 않지만 때로는 유일한 방법은 예제설명하는 것 입니다. 특히 주제가 설명하기 어려운 사람들에게 모호한 경우.
Goran Jovic

예를 들어 설명하는 것처럼 들리지 않습니다. "복수를 얻는 것"처럼 들립니다.
Marcie

0

나는 설명하지 않습니다. 나는 중단이 단지 계획에 6 주가 더 걸렸다 고 친절하게 알려준다.


4
이 제안은 "무례하고 사람들이 당신을 귀찮게하지 않을 것입니다"와 같은 줄에 있습니다. 효과적 일 수 있지만 팀에서 일하는 좋은 방법은 아닙니다.
Marcie

나는 "팀에서 일하기에 좋은 방법"이 요구 사항으로 지정되었다고 생각하지 않습니다.
Throwback1986

0

내가 사무실에서하는 일은 사무실의 다른 부서에서 핫 데스크 지점 (숨기기 지점)을 찾는 것입니다.이 방법은 아무도 당신이 어디에 있는지 알지 못하고 방해 할 수 없습니다. 그것이 매우 중요하지 않으면 방해하지 마십시오!


0

나머지는 모르지만 Skype의 경우 최소한 "방해 금지"모드를 사용하는 것이 좋습니다. 그리고 직장에서 의사 소통을 위해 사용해야하는 경우 직장에서 방해하고 싶지 않은 사람과 공유하지 않는 두 번째 직장 전용 계정이 있어야합니다. :)


0

복잡 할 필요는 없습니다. "많은 집중력이 필요한 일을하고 있습니다. 이메일로 보내도 되나요? 여기에서 완료하자마자 보겠다고 약속합니다."

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.