프로그래머가 궁금한 어린이(와 비슷한 사람)에게
프로그래머라는 직업에 대해 초등학생에게 설명해 줘야 하는 일이 있었다. (4년 전....)
그전까지는 깊이 생각하지 않은 주제였다.
초등학생용으로 정리한 내용에 조금의 내용을 얹어, 글로도 기록해본다.
프로그래머/개발자를 혼용해서 쓰겠습니다.
"프로그래머가 궁금한 어린이(와 비슷한 사람)" 대상의 글입니다......
프로그래머는, 기계의 말을 할 수 있는, 사람과 컴퓨터간의 통역사
언어가 다른 존재가 서로 의사소통을 하려면 통역사가 필요하다.
외국인과 얘기하려면 양쪽의 언어를 할 수 있는 사람.
동물과 소통하려면, 동물의 표현을 이해할 수 있는 사람.
기계와 소통하려면 기계의 말을 할 수 있는 사람이 꼭 필요하다.
기계의 말을 할 수 있어서, 기계에게 일을 시키고, 기계가 말하는 대답(오류 상황, 진행상황 등)을 이해할 수 있는 사람이 프로그래머다.
- 프로그래머가 기계와 소통할 때 사용하는 언어가 바로 programming language이고, 이 언어를 통해 기계와 대화한다.
- '기계'는 쉽게 떠오르는 스마트폰이나 컴퓨터뿐 아니라, 자동차, 가전기기, 우주선, 눈에 드러나지 않는 시스템도 포함되고, 그에 따른 다양한 영역의 프로그래머가 있다.
프로그래머에게 '프로그래밍 능력(기계에게 일 시키는 능력)' 다음으로 요구되는 것이 무엇이냐고 물을 때, 주로 꼽히는 것이 '커뮤니케이션 능력'이다.
프로그래머의 본질을 이해하면 당연한 것으로 보인다. 프로그래머는 기계와 인간 사이의 통역사이다 보니, 기계의 말을 하지 못하는 사람들에게 설명을 해주는 사람이라고 볼 수 있으니까. 모르는 것이 당연한 비개발자에게 이해가 갈 수 있도록 설명해 주는 것은 어찌 보면 개발자의 본질적인 소양이라고 할 수도 있겠다.
프로그래머가 매력적인 이유는, ROI(투자 대비 성과)
프로그래밍을 하기 위해서는 딱 3가지만 있으면 된다.
- 컴퓨터 / 인터넷 / 프로그래머
(물론, 행간에 포함된 것들.. 이 있으나 맥락만 이해하는 것으로...)
그리고 한 명(비교적 소수)이 만들어낸 프로그램이 세상에 의미 있는 영향력을 끼치는 경우도 드물지 않고,
무언가 상상을 실제로 만들어 내고 싶을 때, 혼자의 힘으로 산출물을 만들어 내는 것이 비교적 쉽게 가능하다.
한창 신나게 개발할 시절에 ‘프로그래밍은 상상을 현실로 만들어 내는 일’이라고 정의했었다. (IT매거진에 인터뷰한 적이 있었는데 에디터께서 타이틀을 저렇게 달아주셨...)
프로그래머가 되려면?
이 부분은 어린이에게 설명해 준 부분인데, 프로그래머를 떠나서 어린이들이 이렇게 자라면 좋겠다.
1. 많이 궁금해하고, 많이 물어보세요.
2. 곰곰이 생각해보고 차곡차곡 글과 그림으로 정리해보세요.
3. 따뜻한 마음을 가지세요.
초등학생에게 얘기해줬던 영상을 첨부하며, 군더더기가 늘어가는 것 같아 급 마무으리~~~~
https://www.youtube.com/watch?v=C2-7i9E4y4Y&t=28s