비 프로그래머와 공예를 어떻게 공유합니까?


43

때로는 라이브 쇼를 재생할 수없는 음악가처럼 느껴집니다. 프로그래밍은 꽤 멋진 기술이자 매우 넓은 세상이지만 많은 사람들이 머리에서, 사무실에서, 관중과 떨어져 "카메라에서"발생합니다.

물론 다른 프로그래머와의 프로그래밍에 대해 이야기 할 수 있으며 동료 프로그래밍이 있으며 사람들에게 보여줄 수있는 것을 만들 수 있지만 비 프로그래머에게 무엇을하는지 설명하는 방법은 무엇입니까? 직장에서 하루는 까다 롭습니다.

인생에서 프로그래머가 아닌 사람들이 당신이 무엇을하는지 이해하도록 어떻게합니까?

참고 :이 질문은 클라이언트 기대치 관리에 관한 것이기 때문에 프로그래머가 아닌 사람이 개발 프로세스를 이해하도록 반복하는 것은 아닙니다 .


그것이 직업의 본질입니다. 당신이하는 일을 이해하는 유일한 사람이기 때문에 당신의 노력에 대한 실질적인 보상은 거의 없습니다. 그러나 지식은 돈이 대부분을 보상합니다.
아무도


12
보안을 위해 물건을 쓰지 않기를 바랍니다. 보안은 다른 어떤 것보다 훨씬 더 명백합니다. "이것은 이전과 똑같은 일을하고 있지만 지금은 안전합니다 ..."
Shawn D.

2
누군가 나에게이 질문이 프로그래머에
Noname

1
@Dave 메모리가 제대로 작동한다면 사이트가 아직 베타 버전 일 때 게시 된 질문 카테고리에 맞습니다. 당시에는 규칙이 완전히 개선되지 않았습니다.
EpsilonVector

답변:


31

세 단어:

dumb it down

프로그래밍이 복잡합니다. 그것을 이해하려면 많은 노력이 필요합니다. 그리고 프로그래밍의 기쁨은 더욱 미묘합니다.

내가 성공한 것을 다른 사람들 (예 : 가족)에게 알리려면 더 일반적인 수준으로 의사 소통해야합니다. 프로그래밍을 일반적인 실제 상황과 비교하십시오.

(즉, 대시 보드와 좌석이있는 차량에 대한 물체 및 ....)

일반 일상 개념보다 더 복잡한 것을 이해하는 대상을 사용할 수 있기 때문에 청중에 대해 알고있는 것이 더 좋습니다.

예를 들어, 아내는 학교 교사 였으므로 소프트웨어 개발 프로세스 중 일부를 사용해야하는 교육 프로세스와 비교할 수 있습니다. 엄청나게 도움이됩니다.

그러나 결국에는 단순화하고 단순화하고 더 단순화해야합니다. 그럼에도 불구하고, 좋은 단위 테스트를 통해 잘 만들어진 수업이 얼마나 멋진 지 누군가에게 이해시키기 어렵습니다. :)


25
+1 "그리고 심지어 좋은 단위 테스트를 통해 잘 만들어진 클래스가 얼마나 멋진 지 이해하기가 어렵습니다." 일부 프로그래머가 이해하기가 어렵습니다.
CaffGeek

3
나는 난해한 개념을 설명하기 위해 나쁜 유추를 사용하는 팬입니다.
말라기

49

나는 시도조차하지 않습니다. 그들이 프로그래밍에 대한 최소한의 기본 지식을 가질만큼 기술 지향적이지 않다면, 나는 그것들을 세부 사항으로 지루하게 할 것입니다. 보통은 "웹 사이트를 만들거나"또는 "X를 수행하기 위해 컴퓨터 프로그램을 작성합니다"와 같이 매우 높은 수준으로 진행합니다.


13
+1-이 방법을 항상 사용합니다. 내가 하루를 어떻게 보냈는지 정말로 알고 싶다면 그들에게 몇 가지 용어를 던지고 유리 모양이 눈을 사로 잡는 것을 지켜 볼 것입니다. 그런 다음 누군가 주제를 바꿉니다.
Joel Etherton

7
컴퓨터를 언급하자마자 사람들이 주제를 바꾸는 경향이 있다는 것을 알게되었습니다. 또는 컴퓨터에 대해 불평하고 조언을 요청하기 시작합니다. 의사들도 같은 문제가 있다고 생각합니다.
브라이언 오티즈

3
@Brian은 대부분의 의사를 제외하고는 새로운 시스템을 구축하는 대신 문제를 해결합니다.)
Armand

2
예. 가장 쉬운 대답은 "물건을 만듭니다 ...보다 구체적으로, 고 가용성 실시간 클러스터 시스템을 만듭니다 ..."-여기 사라졌습니다 ...
Sorantis

이것이 제가하는 것입니다. 그런 다음 5 초 동안 침묵을 기다렸다가 "대화가 중단되었습니다. 어떻게해야합니까?"
pdr

12

나는 문제를 해결하는 관점에서 그것을 설명하려고 노력합니다. 컴퓨터 프로그램을 사용하여 문제를 해결하기로 선택했습니다. 그렇게하면 해결하려는 문제와 관련하여 수행 한 작업에 대해 토론 할 수 있습니다. 일단 그들이 이해하면 프로그래밍을 통해 문제를 해결하는 것은 그리 멀지 않으며 일반적으로 비 기술자 유형에 의해 이루어질 수 있습니다.


12

나는 내 동생 Rob에게 그것에 대해 물었다. (그는 아동 도서, 박물관 내부 등의 예술가이자 일러스트 레이터입니다.)

나는 그에게 해리 포터의 릴레이 컴퓨터 를 보여줌으로써 그것을 설명하려고 노력했다 . 왜냐하면 그것은 그것이 컴퓨터의 본질과 장감 같은 방식으로 프로그래밍을 포착한다고 생각하기 때문이다.

그것은 그가 원하는 것이 아니었고, 나는 일종의 독창에 걸렸다.

나중에 야 진짜 문제가 무엇인지 깨달았습니다. 나는이 Oscar Wilde 인용구를 상기시켰다 :

사실, 문명에는 노예가 필요합니다. 그리스인들은 바로 거기에있었습니다. 추악하고 끔찍하며 흥미롭지 못한 일을하는 노예가 없다면 문화와 묵상은 거의 불가능 해집니다. 인간의 노예 제도는 잘못되고 불안전하며 민주주의입니다. 기계적인 노예 제도와 기계의 노예 제도는 세계의 미래에 달려 있습니다.

엔지니어로서 나를 흥분시키는 것은 기계적인 노예를 만들고 있다는 것입니다. 어렸을 때 나는 개울에 댐을 넣고 물 바퀴가 전기를 만들기를 원했기 때문에 방금보고있는 동안 나를 위해 무언가를 할 수있었습니다 . 자동차 엔진에는 캠축이 있습니다. 실제로는 원시적 인 프로그램입니다. 밸브 를 원할 때 밸브를 열고 닫을 필요가 없습니다.

예술가의 세계는 완전히 다릅니다. 눈을 감고 베토벤의 9 번 교향곡을 듣게되면 당신은 수송됩니다. 당신은 그것에 완전한주의를 기울여야하고, 그것이 끝났을 때, 당신은 그것을 갈망합니다. 프랭크 로이드 라이트 (Frank LLoyd Wright)의 걸작 인 떨어지는 물을 방문하면 운송됩니다. 나는 솔직히 누군가가 어떻게 살 수 있는지 모른다. 어디에서 엉망이 될 수 있습니까? 그것은 당신을 완전히 캡처합니다. 건축 심포니입니다.

예술은 당신을 위해 무언가 하지 않습니다 . 그것은 당신에게 무언가 합니다.

나는 내가하는 일에서 예술을 찾으려고 노력했다. 보시면 아름다움이 있지만보아야합니다. 그것이 우리를 연결했을 것입니다.


3
나는 해리포터의 릴레이 컴퓨터로서 처음에는 마술이 종종 우리가하는 일을 묘사하는 데 종종 사용 된다는 것을 읽었습니다 .)
jk.

@jk : 혼자 : 자신의 수업에 학생을 제공 내기
마이크 Dunlavey을

@jk. 나는 종종 우리 작품에서 흑 마법을 본다.
heishe

7

이야기를하다. 자신이하는 일에 초점을 맞추지 말고 자신이 할 때 느끼는 감정, 열정이나 지루함, 동료와의 관계에 집중하십시오.


1
동료와의 관계에 집중하여 +1 모두 그런 종류의 일에 관련 될 수 있습니다. "나는 상사와 함께 점심을 먹었고 그는 말하고 있었다 ..."는 "내가 반나절을 경쟁 조건을 제거하려고 노력하는 것"보다 훨씬 관련이있다.
Andy Hunt

3

이 목적을위한 저의 두 가지 유사점은 레시피와 대규모 관료주의입니다. 이것이 제가이 QA에서 설명한 것입니다 : 15 살짜리까지 프로그래밍을 설명하는 30 분

필자는 프로그래밍이 따라갈 때 확실한 결과를 얻을 수있는 엄격한 명령어 세트를 작성하는 방법에 대해 설명하기 위해 레시피 비유를 여러 번 사용했습니다.

나는 실제로 관료 주의적 비유를 몇 번만 사용했다. 왜냐하면 대부분의 사람들은 레시피 비유를 넘어서는 사실을 이해할 필요가 없기 때문이다. 그들은 프로그래밍이 모든 코드 라인을 완전히 리콜하는 것을 의미한다고 생각하는 것 같았습니다 (예 : "만약 당신이 그런 메모리를 가지고 있다면 어떻게 컴퓨터를 프로그래밍 할 수 있습니까?"). 더 큰 목표를 달성하기 위해. 프로그램의 모듈은 대기업의 부서와 같습니다. 대부분 자체 비트를 처리하고 메모를 통해 다른 부서와 통신하는 독립형 장치입니다.


누군가가 기계 노예를 만들고 있다고 말했지만, 또 다른 고객 "문제"이후, 나는 우리가 노예 인 것처럼 느끼고 우리가 살기 위해 기계식 디스토피아를 만들고 있다고 생각합니다.
gbjbaanb 2016 년

2

코드 자체가 아니라 코드의 아이디어라는 측면에서 무언가를 설명 할 때 가장 많은 응답을 얻는다고 생각합니다. 나는 모든 전문 용어를 제거하고 프로그래밍 관련 용어를 언급하지 말고 아이디어와 실제로 수행 되는 작업에 대해 이야기 합니다 .

예를 들어, 최근 스팸 필터의 작동 방식을 설명하려고했습니다. 방금 스팸에서 발견 된 단어와 스팸에서 발견되지 않은 단어의 기록을 유지한다고 말했습니다. 알려진 스팸 및 스팸이 아닌 메일을 사용하여 레코드가 작성됩니다. 그런 다음 새 이메일이 도착할 때마다 스팸으로 보이는 단어 수 (스팸 단어 기록에서 발생)와 스팸이 아닌 단어 수만 확인합니다. 스팸 단어가 너무 많으면 스팸 일 가능성이 있으므로 스팸으로 보내집니다. 내가 말하고 있던 비 기술적 인 사람들은 그 아이디어를 아주 잘 따랐다.


1

은유

많은 경우, 나는 그것을 프로그램으로 전혀 설명하지 않고 비슷한 상호 관계를 가진 완전히 다른 개념으로 표현하려고합니다.

그것은 프로그램을 훨씬 더 흥미롭게 보이게하며 때로는 새로운 시각으로 보는 데 도움이됩니다.

당신은 전류와 전압에 대해 이야기함으로써 전에 함께 일한 적이없는 사람에게 전기를 묘사하지 않습니까? 또한 일부 초 인식 컴퓨터 프로세스가 마치 마치 마술을 사용하는 것처럼 개념을 설명하는 것이 재미 있습니다. 약간의 이야기 상상력은 차갑고 합리적인 컴퓨터의 실제 현실로 그들을 해치지 않습니다.



1

프로그래밍을하지 않은 많은 사람들은 프로그래머가 버그를 엄중히 사냥하면서 많은 시간을 코드를 찾아 잘못 쉼표를 찾기 위해 수천 줄의 코드를 검색한다고 생각하는 것 같습니다. 그래서 나는 먼저 이것이 사실이 아니라고 확신하고, 만일 그렇다면, 나는 그것에 대해 완전히 희망이 없을 것입니다.

나는 종종 컴퓨터 프로그래밍을 요리 책을 쓰는 것과 비교한다. 요리 책은 사람들을위한 일련의 지침이며, 컴퓨터 프로그램은 컴퓨터를위한 일련의 지침입니다. 일부 프로그램은 요리 책보다 훨씬 복잡하고 프로그램은 더 자주 수정되지만 구조에는 유사성이 있습니다. 요리 책에 소스를 만들기위한 지시 사항이 7 부 포함되어 있고 레시피를 변경해야하는 경우 누군가는 모든 사본을 찾아서 수정해야합니다.


프로그래밍을보다 쉽게하기 위해 컴퓨터를 프로그래밍 할 수 없었던 세상은 고통 스러울 것입니다 ( "시각적으로 쉼표 찾기").
compman

1

좋은 비유가 공장을 짓고 있다고 생각합니다. 대부분의 사람들은 "어떻게 만들어 졌는가"와 같은 것을 보았습니다. 여기서는 완제품이 완성되는 다른 컨베이어 벨트와 기계를 통해 일부 품목이 뒤섞이는 것을 볼 수 있습니다. 나는 사람들에게 내가 그런 것들을 만들어 낸다고 말하지만 물리적 인 물건을 다루는 물리적 공장이 아니라 가상적이며 데이터를 다루는 것입니다. 물론 이것은 모든 종류의 프로그래밍에 대한 좋은 비유는 아니지만 복잡성에 대한 좋은 아이디어를 제공하고 많은 종류의 응용 프로그램을 병렬 처리한다고 생각합니다.


0

당신은 실제로 공예를 공유 할 수 없습니다-다른 사람들과 직업에 대한 헤드 라인

그러나 당신이 할 수있는 일은 공예를 공유하는 대신 당신과 같은 공예에있는 사람들과 인생을 공유하는 것입니다.


0

나는 보통 그것이 어떻게되었는지에 대해 말하지 않고 오히려 작업의 특징에 대해 이야기 합니다 .

나는 보통 그것이 매우 복잡하고 너무 복잡해서 어느 누구도 어떤 일이 일어나고 있는지 정확하게 상세하게 이해하기를 기대할 수 없다고 강조한다. 아마도 30 년 동안 다양한 상호 작용 부품 (프레임 워크를 통한 전자 장치)과 활성 코드 라인 당 약 1 시간을 연구해야 할 것입니다. 그때까지 하드웨어가 많이 바뀌었기 때문에 다시 공부해야했습니다. 또 다른 10 년은 최신 버전입니다.

또 다른 중요한 부분은 수천 명, 아마도 수백만의 사람들이 자신의 삶을 풍요롭게하는 데 사용할 수있는 유연한 무언가를 만드는 것이 얼마나 보람이 있는지, 적어도 (세부 사항은) 자세히, 그리고 당신이 많은 것을 배운 것입니다.

아무도이 시점에서 양말로 입을 채우지 않았다면, 나는 약간의 복잡성과 가능한 유연성을 보여 주면서 행복하게 응용 프로그램을 보여줄 것입니다.


0

나는 교향곡과 수학 논문 및 소설을 쓰는 것 외에는 프로그래밍이 이러한 수준의 복잡성과 복잡성을 가진 작업 / 구조에 참여할 수있는 유일한 기회라고 말합니다. 물론, 괜찮은 웹 앱은 역사적인 걸작이라고 말할 수는 없지만 사람들이 매일 이런 종류의 수준에서 당신의 마음을 사용한다는 것을 깨닫고 나면 그들은 그것을 얻습니다. 많은 일자리가 합당하고 임금이 높지만, 반복적으로 반복되는 상당히 단순하고 절차적인 과제로 귀착됩니다.

적어도 그것이 내가 보는 방법입니다. 내가 틀렸을 수도있다.


0

다른 15 가지 답변을 다르게 받아들이면 ...

내 작업 (프로그래밍)의 세부 사항을 설명하는 대신 솔루션 에 중점을 둡니다. 작업이 해결 , 즉 내가 구축 한 시스템 / 소프트웨어가 실제로 어떤 문제를 해결하는지 . 컴파일러 또는 무언가를 작성하지 않는 한 일반적으로 프로그래밍이 아닌 도메인입니다.이 경우 유용한 이유를 설명해야합니다.

그렇게하면 사람들이 복잡한 본질과 그것이 "실제 세계"와 어떻게 관련되어 있는지 쉽게 이해할 수 있습니다.

비유로 중세 대장장이로서, 아마도 지방의 술집에있는 여인에게 칼을 만들어 적을 해킹하는 방법을 설명하지는 않을 것입니다. 그들이 묻다). 희망적으로, 그녀는 적을 해킹하는 것이 유용하고 (...) 까다로울 수 있다는 것을 이해했을 것입니다 (강철, 적들, 연기가 자욱한 직장 등). 따라서 복잡한 작업을 수행하는 것에 대해 약간의 감사를 얻습니다.

(따라서 모루를 캐스팅하는 것은 컴파일러를 만드는 것과 동등하며, 그들이 사용되는 것을 설명해야합니다 ...)


0

이국적인 입자와 안티 시간이있는 이상한 우주에 살았다면 집을 짓는 것과 비교합니다.

정말 멋진 집에 대한 아이디어가 있으므로 모양이 어떻습니까? 대략적인 스케치를 작성하고 진행 방법에 대한 일반적인 계획을 세우십시오. 철물점에 가서 벽을 쌓기 위해 목재를 사지 만 땅이 고르지 않아 계속 넘어 져요. 따라서 기초를 세우기 위해 시멘트를 사러 가지만 시멘트가 마르지 않아 이유를 알 수 없습니다. 철물점으로 돌아가서 그 이유를 물어보십시오. 그러나 직원은 혼란에 빠집니다. 사용한 시멘트가 1989 년 가을에 개발되었다고 말할 때까지 8 개의 철물점으로갑니다. 그러나 1989 년 겨울에 부동산을 구입하여 호환되지 않아 가장 최근의 2013.1.1 시멘트를 판매합니다. 기초를 놓기 위해 돌아 가면 시멘트가 사라집니다. 이번에는 모든 직원이 격변 해 그래서 당신은 당신의 집을 구글하고 한 번 핵 실험 사이트 였다는 것을 알 수 있습니다. 그런 다음 토양에 대한 핵 실험의 영향을 Google이 조사하여 자유 라디칼을 유발한다는 것을 발견했습니다. 당신은 그것을 구글하고 전자기 방사선, 다음 fermions, boson, 문자열 이론, 그리고 고양이에 관한 연구를 시작합니다. 너무 많은 시간을 낭비했기 때문에 포기하고 싶지 않으므로 병을 세게 치십시오. 집에 늦게 와서 아내에게 화를 내며 아내와 아이들이 항상 집을 비워 집을 지을 수없는 이유라고 주장한다. 고양이에 관한 것. 너무 많은 시간을 낭비했기 때문에 포기하고 싶지 않으므로 병을 세게 치십시오. 집에 늦게 와서 아내에게 화를 내며 아내와 아이들이 항상 집을 비워 집을 지을 수없는 이유라고 주장한다. 고양이에 관한 것. 너무 많은 시간을 낭비했기 때문에 포기하고 싶지 않으므로 병을 세게 치십시오. 집에 늦게 와서 아내에 대한 분노를 떨쳐 내며 아내와 아이들이 항상 집을 비워서 집을 지을 수없는 이유라고 주장한다.거의 당신이 첫번째 장소에있는 집을 건축하고 싶어하는 이유도 모르고로, 집 마무리.


-1

나는 그들에게 내가하는 일은 그들이하는 일을보고 업무를보다 쉽게 ​​할 수있는 컴퓨터 소프트웨어를 만드는 것이라고 말합니다.


또는 그들의 직업을 대체하십시오
jhocking

-2

당신 중 일부가 말했듯이, 그들에게 이해되는 비유를 사용하십시오. 내 코드가 Google과 비슷한 일을하거나 재정적 이점을 보여 주거나 사람들이 어떤 식 으로든 사람들을 도울 수있는 경우 항상 어떻게 든 Google을 가져 오려고합니다.


-2

때로는 포기하고 텍스트 파일을 편집하는 데 하루를 보낸다고 말합니다. 전체 이야기가 아닌 경우 일반적으로 그렇습니다.

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