여러분 개발자 하면 뗄수 없는게 질문입니다.

이 중요한 질문 잘하는 방법에 대해 말해보려고 합니다

이 질문이란 걸 잘 생각해보면요

개발자는 개발하다보면 항상 막히게 되있어요

그럼 어떻게 해결할지 먼저 생각하게 되죠.

자 이 생각한다는걸 달리보자면 스스로에게 질문하는겁니다

스스로에게 질문을 하는 과정에서 필요하다면 구글 검색을 하게 될수도 있는거고요

이렇게 해서 이런 저런 근거들을 모아서 논리적으로 고민하는것이죠

이렇게 고민 하는 과정에서 스스로 답을 찾아 문제를 해결할 수 있게되는겁니다

이런식으로 개발자는 문제를 만나고 자문자답을 해서 해결하면서 여기서 얻는 지식들이 쌓여서 성장하게됩니다

지식만 쌓이는게 아니라 검색능력과 문제를 논리적으로 풀어가는 요령이 쌓이는것이죠

따라서 문제를 많이 만나고 해결을 많이 해본사람이 잘하게되는것입니다

개발활동의 대부분의 시간은 이것을 스스로에게 자문하고 생각하는 시간이 되는것입니다

그런데 하다보면 스스로에게 물어봐도 답이 안나오는 예외상황이 생기기 마련입니다

이 예외상황은 혼자서는 할만큼 했으니 내가 아닌 남에게 물어봐야하는 상황인겁니다

남에게 의존을 해야할 때의 질문의 기술에 대한 이야기를 해보려고합니다

먼저 남에게 질문한다는거에 대한 정의를 내려보죠

이건 남에게 나를 위해 시간을 내서 수고를 좀 부탁한다는 뜻이며, 남에게 내가 지금까지 스스로에게 질문해서 얻어낸 고민의 결과를 공유한다는 뜻입니다.

자 그래서 일단 나를 위해 수고해줄 사람이 수고를 해줘야 할 이유를 만들어 주는게 가장 중요하고요, 또 내 고민의 결과를 효과적으로 상대방에게 설명해줘서 이 사람이 부담할 수고를 최소화시키는 노력이 중요합니다

이 두가지가 질문에서의 핵심입니다

하나씩 살펴보도록 하죠

일단 기본적으로 내 수고를 들어줘야 할 의무를 가지는 사람이 내 주변에 있는 경우는 왠만해서 없을겁니다.

질문을 할 수 있는 대상은 누가 될 수 있을지 생각해봅시다

일단 인터넷커뮤니티에 계시는 분들이 될수 있겠지요

이런 커뮤니티에 계시는 분들은 나와는 쌩판 모르는 남들입니다

여러분의 고민을 들어줄 의무가 전혀 없는 분들이죠

또는.. 회사나 학교에서 함께하는 동료들 아니면 친구들 일겁니다.

누가 되던 여러분과 특별한 관계에 있지 않은 이상 여러분을 그들이 도와줘야할 이유가 왠만해서 없을겁니다.

이들에게 여러분을 도와줘야 할 이유를 만들어줘야합니다

주변사람들에게라면 아무래도 평소에 이쁜짓을 많이 해야 도와주고싶겠지요

평소에 주변인들에게 잘 해서 인덕을 쌓아두도록 합시다

인터넷 커뮤니티상의 쌩판 모르는 사람들은 어떨때 여러분의 질문을 받아주고싶은 마음이 생길까요?

사람마다 다르겠지만 보통 질문이 흥미로울때 관심가게 되있습니다. 혹은 별 수고를 들이지 않고 간단하게 도움말을 줄 수 있을때 정도입니다

그래서 중요한 것은 사람들이 질문을 봤을 때 답변자가 수고할 부분이 적고 간단하게 콕 찝어서 답을 줄 수 있게끔 상황을 만들어주는것입니다. 이런 상황을 만드는 것은 질문자의 몫입니다

이건 인터넷커뮤니티에서 뿐 아니라 동료와 일할때에도 마찬가지입니다.

답변자의 부담을 줄여줘야합니다

그들의 시간과 노력은 소중하니까요

만약 질문을 이렇게 한다고 생각해봅시다

“지도 앱을 개발중인데 확대버튼을 눌러도 화면이 커지지 않습니다 어떻게 해야하나요?” 이런질문을 했다고 생각해봅시다.

이 질문은 일단 너무 두루뭉술합니다.

이말의 표현을 달리해보자면 “지도 앱을 개발중인데 확대버튼을 눌러도 화면이 커지지 않습니다 잘 작동하도록 고쳐주세요” 라는 말이되는겁니다

그러니까 나 대신 일 해달라는 의미가 될뿐입니다

대신 시간내서 무료봉사 해주고싶은 사람은 없겠지요

이런 식의 질문을 할것이라면 비용을 들여서 외주 맡기는것이 맞는 방법일겁니다.

이런걸 피하기 위해서는 질문을 하기 전에 최대한 답변자의 수고를 덜기 위해서 문제의 범위를 할수있는 만큼 좁혀놓고 질문해야합니다

문제를 좁히는 과정을 거치면 문제가 어느 한 점으로 모이게 되는데요, 이렇게 최대한 범위를 좁혀놓고 질문을 해야합니다

이렇게 문제의 원인의 있을 것으로 추정되는 범위를 최대한 좁혀서 파악한 내용을 질문자는 잠시 선생님으로 빙의되어 답변자에게 설명을 해줘야합니다.

설명을 할때는 대충 이야기하면 상대방도 알것이라고 내 기준으로 설명을 하는것이 아니라 명확하고 논리적으로 상대방 입장에서 알아듣게끔 설명을 해줘야합니다.

이 부분이 중요한데요 스스로가 논리적으로 상대방에게 상황을 전달하려면 충분히 자신이 가진 문제에 대한 파악이 최대한으로 끝나있어서 문제의 범위가 작은 한점으로 모여있는 상태여야합니다.

이걸 거치지 않고는 그냥 상대방에게 “내 일 해주세요” 라고 부탁하는것 밖에는 되지 않습니다

질문을 하고났더니 스스로 깨우쳐서 자문자답을 하게되는 경우들이 있을겁니다

그런 이유는 최대한 이 한점으로 모으는 작업을 스스로 충분히 했기 때문입니다

자 그런데 문제의 범위를 한점으로 모은다는게 생각처럼 쉽지 않을 수도 있습니다

사실 문제를 한점으로 모을수 있을 정도의 실력이라면 쫌만 더 생각하면 왠만해서 스스로 해결까지도 가능한경우입니다

자 그래서 이것이 어려울 경우 차선책에 대해서 이야기 해볼 차례입니다

거의 보통은 뭔가가 안되는 상황일 때 거기서 조금더 앞으로 나아가기 쉽지 않은 상황일겁니다

“지도 앱을 개발중인데 확대버튼 을 눌러도 화면이 커지지 않습니다 어떻게 해야하나요?” 라는 상황을 다시 가지고 와 봅시다

자 이건 그냥 나 대신 문제좀 찾아주세요를 부탁해야만 하는 상황인겁니다

이 필살기를 사용하더라도 최대한 답변자가 수고를 덜 수 있게끔 해줘야합니다

이런 상황이라면 가장 좋은 방법은 그냥 안되는 상황을 답변자에게 체험할 수 있게끔 모든 상황을 제공하는겁니다

그렇다고 소스코드를 보여주거나 하는것만으로는 부족합니다

소스코드만을 보여주게되면 일단 문제를 겪고있는 질문자가 보여줄 소스코드의 범위를 임의로 판단해서 제공할겁니다.

이 말에는 굉장한 모순이 있는게 문제를 해결하지 못하는 질문자는 문제가 될 코드의 범위를 스스로 판단할 능력이 없다는겁니다.

또한 해당 코드가 작동되기 위한 다른 의존성들이 포함되있을수도 있습니다.

무엇보다 이렇게 코드를 보여주면 답변자는 뇌내에서 코드를 가동시켜야 하는 부담을 안게 됩니다.

따라서 좋은 방법은 그냥 직접 실행해서 안되는 상황을 직접 체험할수 있게끔 URL만 클릭하면 들어가서 확인해볼 수 있도록 준비해서 제공해주는 겁니다.

이거는 그냥 외주맡긴거랑 동급이라 문제해결을 의뢰할 수 있는 플랫폼을 이용하는것도 방법일수 있겠습니다

질문에 대한 이야기를 해봤는데요

질문은 쉽지 않습니다

매우 논리적이여야 되고 설명능력까지 있어야하는 어쩌면 개발 그 자체만큼 생각할게 많은 작업입니다

이걸 잘하는 사람은 그냥 개발도 잘한다고 봐도 무리 없을듯 합니다

그리고 잊지 말아야할 것은 여러분께 도움을 줘야할 의무를 가진 사람은 없습니다

도움을 받았다면 감사의 표시를 합시다

질문만큼 중요한게 검색인데요 다음에는 검색에 대해서도 이야기해보도록 하겠습니다

감사합니다

나는 앱 서비스를 개발하고 운영하고있는사람이고 기본적으로 코딩을 즐기고 주체적인 활동을 지향하는 사람이다
이런 내가 새롭게 시작한 유튜브의 첫 영상은 개발자로써 얻을 수 있는 수익이 근로소득만 있는것이 아니다
너의 주체적 실행으로 근로소득 이외의 가치도 만들어라 라는 내용으로 시작했다
그런데 말이다
이건 그저 내가 추구하는 바이지 다수가 추구하는 바는 아닐것이라 생각한다
다수가 코드를 하고있는 이유는 아마도 개발자로써 취직을 해서 직장인으로써 자리를 잡기위함인 경우가 대부분이지 않을까 생각한다
그래서 두번째 영상으로써 창업에 대한 이야기를 쓰던 중.. 이게 맞나? 싶은 생각이 들었다
창업을 해서 해나가는 이야기는 나나 관심있는 이야기지 다수가 관심있어하는 이야기는 아닐것이라는 생각이들었다
만약 내가 이 창업에 대한 이야기를 한다면 첫번째 실패에서와 마찬가지로 작은 집단을 타겟으로 하는 결과를 만들어버리는 실수를 또 해버리는것이 아닐까 하는 생각이 든다
재차 내가 좋아하는 추구하는 바에 대해 다루다가 망하는 수가 있겠다는 생각을 하게됐다

그렇다고 취업 방향으로써의 코드에 대해 논하는것을 해버리게되면 꼭 내 영상을 봐야하지 않을정도로 이미 충분히 좋은 컨텐츠 만들어내는 유튜버들이 많이있다

코딩을 하는 사람들 중에는 다수가 취업해서 개발자라는 직업을 가지고 안정적인 생활을 만드는 것인점을 미뤄보자면 결국 이들에게 관심사는 코드가 아니라 돈이란것이다. 각자 좋아하는 취미는 따로 있을것이다. 돈벌어서 각자 좋아하는것을 하게되는것이겠지.
아무리 돈이라고 해도 창업까지 간다면 이건 또 전혀 핀트를 못맞추는것이라 생각한다. 창업은 자신이 살면서 선택할 옵션으로써 안두는 사람이 대부분일거라 생각한다.

근데 아무리 직업으로써 코딩을 한다고해도 이왕 하는거 이 사람들도 코딩에서 새로운 매력을 발견해서 즐겁게 할수있다면 좋지 않겠는가.
그리고 이 사람들은 철저하게 취업준비에 맞춰서 개발자를 준비해온 사람들이다 보니 기술의 선택이라거나 관점이 꽤 굳어져있는 경우가 많이 있다.

그렇다면 내가 유튜브에서 다뤄야 할 내용으로써 창업은 지나친것이고 대신 코드로 할수있는것이 직장생활로 근로소득을 만드는것만 있는게 아니다정도의 메세지 주변에서 머무는것과 코드로 재미있는 일을 만들어내는것에 중점을 두는것이 좋겠다는 생각을 든다.

- 코드로 할수있는 부업과 같은 내용
- 본업 외의 취미작업으로 만든앱으로 용돈벌기와 같은 내용
- 이런 활동을 함에 있어서 필요한 코딩 지식에 대한 이야기

그러하다..
글쓰며 생각을 좀 정리해봤다

결론부터 이야기합니다
절대다수의 사람들에게는 불가능합니다
하지만 이 글을 끝까지 읽으시는 소수의 여러분은 가능할 수도 있게됩니다

돈 그리고 경제적자유란 무엇일지 생각해봅시다
우리가 돈을 어떻게 만들죠?
일해서 만들죠
보통 우리의 시간과 노동력을 사용자에게 제공하고 그에 따르는 보상을 받는 형태가 일반적입니다
그래서 내 삶의 일부를 제거하고 그 보상으로 삶을 이어갈 기회를 얻는겁니다
굉장히 모순적인 상황이 아닐 수 없습니다

경제적자유란 무엇일까요
이것은 개인마다 가치에 따라 그 정의가 달라질겁니다
저에게 경제적자유란 적어도 내 삶을 유지하기 위해 내 삶의 일부를 댓가로 지불해야 하는 상황을 맞이 하지 않아도 살수 있는 상황을 의미합니다

사용자에게 내가 아닌 나 대신 일해줄 내 앱을 제공해서 내 앱이 일하게 하고 나는 내 삶을 살수는 없을까요?
자 그렇다면 적어도 제가 정의하는 기준에서의 경제적 자유를 달성할 수 있게되는겁니다

이거 안될 이유 있나요?
없습니다. 당연히 가능합니다
실제로 그러고 있다는 사람들에 대한 이야기 많이 듣습니다.
유튜브만 틀어봐도 그러고있다는 사람들 천지입니다
자 이 사람들 다 구랄까요?
말로는 누군들 못해 일까요?
플레이스토어 켜보면 나오는 수많은 앱들 그거 다 가짤까요?
앱하나 잘 만들어서 수익화해서 배포하면 된다는 거 다 압니다
이런 시스템 가능하다는거 요즘은 상식이죠

근데 놀라운 사실이 있습니다
모두 아는 이것
근데 꽤 많은 사람들이 안합니다
왜 안할까요..?

그건 스스로 못해야할 여러가지 이유들을 내세우기 때문입니다
결국 그 못해야할 이유들 때문에 시작을 안하게됩니다
하지 못해야 할 이유들을 나열해보겠습니다

- 아이디어가없다
- 앱을 만들려고 하면 이미 그 앱이 있고 해당카테고리는 모두 선점되어있다
- 사무실이 없다 사무실임대비용없다
- 투자받아야한다
- 직원고용해야한다
- 기획자가 없다 개발자가 없다 디자이너가 없다
- 나는 백엔드만 하는 사람이다
- 컴공을 전공하지 않았다
- 만든다고 끝이 아니다 운영하는게 그리 만만한게아니다
- 아직 클린한 코드를 만들 줄 모른다
- 대용량처리에 대한 능력이 부족하다
- 광고를 달아도 그거 클릭을 해야 돈이 들어오는거다
- 보안에 대해 잘 처리하는게 만만한게아니다 까딱하면 털린다
- 프로그래밍언어 스펙에 대해 아직 완벽하게 모른다
- 영어를 잘 몰라서 공식문서를 읽는것에 애를 먹는다
- 마케팅이란게 그리 간단한게 아니다 앱을 만들어도 사람들에게 노출될 기회를 못만들것이다
- 시작하는것보다 완성하는것이 중요하다는 말이 있다 그래서 완성하는것에 대한 부담이 있다
- 완벽하게 잘만들어야만한다 오류가 있어서는 안된다
등등등..

이렇듯 이런 이유들 때문에 대부분의 사람들이 만들기 실패는 커녕 시작도 안할겁니다
이 만큼 진짜 앱만드는건 어려운일입니다
그런데 이렇게 어려운걸 만약 당신이 해낸다면 어떨까요
남들이 이렇게 어려워서 못하는걸 "해낸 사람" 이라는 타이틀을 얻는사람이 되는건 어떨까요
그냥 사람에서 "해낸 사람"이 되는겁니다

이 타이틀 한번 얻어보려는 시도는 사람들이 말한 이유들 때문에 어렵기 때문에 엄두 못낼 일일까요?
자 이것에 대한 해결방법을 이야기해드릴게요
위에 이야기 한 못해야만 할 이유들에는 공통점이 있습니다
그것은 굉장히 잘 해야한다라는 점이에요
지향점이 높다는겁니다
즉 카카오톡같은 앱 만드는거 아니면 앱만든거로 안치겠다는 생각인겁니다
이런거니 아무래도 만들 엄두가 안나겠죠
손을 뻗으면 잡을 수도 있을것 같은 정도의 목표를 세우는 것이 중요합니다
우리의 목표는 대단한 앱을 만드는게 아닙니다. 그냥 앱을 만들면 되는겁니다
그냥 아주 간단한 쉽게만들수 있는 앱을 만들어서 출시하면 그걸로 되는겁니다
그렇게라도 해본 사람이 얼마나될까요?
뭐 제가 통계를 내본건 아니지만 아마 많지 않을거라 생각합니다

이렇게 아주 간단한 앱만들어서 무슨 경제적자유타령이냐 할 수도 있습니다
자 플레이스토어나 앱스토어 혹은 구글웹검색에서 인기를 얻는 앱들 한번 쭈욱 둘러보세요
그 모든 앱들이 카카오톡같은 높은기술력으로 만들어진 앱들이 아닙니다
큰 인기를 얻고있는 앱중에는 우리가 개발연습할때 만들어보는 Todo List 같은 앱들이 정말많습니다
자 이렇게 말하면 분명 그것들은 미리선점해서 그렇다등등의 또 안되어야만 할 이유를 댈 사람들이 분명 있을거라 생각합니다
그래야 자신들의 하지 못하고있음에 타당성이 생기는겁니다
안되야만 한다고 생각하면 생각대로 안되는겁니다
안될것이라 생각하기 때문에 실행을 안할테니까요

저는 이런 간단한거라도 만들어서 올리면 그걸로 굉장히 성공한거라고 생각합니다
어설프더라도 상관없습니다
소프트웨어는 업데이트라는걸 하잖아요
부족하다면 추후 업데이트를 해나가면되는거고요, 해나가면서 내 실력도 함께 발전하게 될 기회가 나에 의해서 만들어지게 되는겁니다
이건 말장난이 아니라 진짜 해낸겁니다 👏
왜냐하면 대부분이 이런저런 수십가지 안될 이유들을 가지고 그것조차 해본 사람이 드물기 때문입니다
그래서 이걸 해낸 사람은 특별한 사람이 되는겁니다

바로 실행합시다
그리고 절대다수의 보통사람의 그룹에서 빠져나옵시다
스스로에게 이 타이틀을 부여해봅시다

그리고 의미를 부여해봅시다
"나는 모든 사람들이 어려워 하는 것을 해냈다"
그렇게 앱을 배포한 나는 테크 스타트업 기업의 CEO가 되는겁니다
혹은 총수나 회장 아니면 테크노킹 같은 대단해보이는 직함을 스스로에게 부여해도 상관없습니다
1인 기업의 총수가 되는겁니다
1인 언론사의 총수도 있죠
이렇게 말하면 누군가는 말할겁니다
"풋 그렇게하면 개나소나 CEO되고 총수되겠네"
자 봅시다 1인 언론사 총수 우리가 아는사람 얼마나 되나요?
절대다수가 이 실행자체를 안해서 개나소나의 근처에도 못가는것이 현실입니다

여러분이 한 이 사소한 실행은 실행한 것을 넘어서 이 행동은 다음 행동으로 이어질 계기가 됩니다
이 사소한 실행이 나비효과를 만들어서 당신의 삶을 앞으로 어떻게 이끌지는 아무도 모릅니다

아무나 가지지 못하는 '실행한사람' 칭호
가지는거 생각보다 어렵지 않을수도 있습니다

진짜 마음먹은대로 됩니다
이게 그냥 단지 그럴듯한 좋은 말에 불과한것이 아니라
제가 경험한 진리입니다

여러분 인생 짧아요 진짜 "Just Do It" 입니다
여기까지 글 읽어주신 모든분들의 미래에 경제적 자유가 함께 할것을 미리 축하드립니다

감사합니다

유튜브에 2년간 올렸던 모든 영상을 내렸다
이것들은 모두 실패라고 판단하고 내렸다
실패인 이유는 무엇보다 내가 하고싶은 것을 했다는 것이다
사람들은 관심이 전혀 없는 내용들이다
물론 소수의 사람들은 좋아해주었다

그리고 다시 또 실패하지 않기 위해서 유튜브에 대한 공부를 했다
공부를 한 결과 중요한 몇가지를 알았다
이 중요한 요소를 내 새로운 영상에 적용해본 결과 지금까지 없던 결과가 만들어졌다
영상이 사람들에게 노출되는 알고리즘을 타는것은 절대로 우연같은게 아니며 이것은 그에 맞게 내가 의도할 수 있다는것을 몸소 경험하게 된 의미있는 시도였다
물론 아직 영상을 새롭게 많이 올리는 시도를 하지 않아서 의미있는 데이터가 아직 나에겐 없다
관건은 영상을 하나 올리는 수고가 적을수 있다면 많은 시도를 할 수 있게 된다는 점인것 같다
하지만 수고가 적다면 영상의 퀄리티도 낮게 될것이다


나는 말을 잘 하는 사람은 아니다
그럼에도 유튜브를 하고있다
주로 내 생각을 말하는 것을 컨텐츠로 하고있다
나는 대본을 써두고 그걸 읽으며 영상을 만든다
이렇게 하면 마치 말을 잘하는 사람인 것 같아 보이는 효과가 생긴다
그런데 대본을 쓰는게 쉽진 않다
워낙 글을 안써버릇했다
친구랑 이야기할때는 말이 잘 나오지만 글을 쓰려하면 잘 안써진다
그래서 친구랑 이야기를 나누고 그걸 글로 정리했다
이러니 조금은 나은거같다
하지만 글쓸때 항상 친구와 나눌수는 없는 노릇이다
나 스스로를 나와의 대화상대로 삼고 나에게 말을 거는 방법으로 글을 써보면 어떨까 해서 시도중이다
쉽지는 않다
계속 하면 잘하게 되겠지

면도하다가 칼날에 베였다
면도하다가 칼날에 베인건 드문일이다
내 인중의 왼편에는 돌출해있는 점이 있는데 이것이 칼에 베인것이다
살짝 베였다 0.15cm정도 피가 조금 나더니 금방 멎었다
그런데 내 머릿속에선 쉽게 멎지 않는것이 있었다
생각이 파상풍으로까지 흘러간것이다
그래서 예방접종 주사를 맞게됐다
Td 백신이라고 하는게 있다
T는 파상풍 d는 디프테리아라고 하는 균에 대한 예방이 되는거라고 한다
디프테리아는 처음들어보는건데 요즘은 희귀한거라고 한다
어쨋든 주사를 맞았다
주사를 맞을때 주사 느낌이 없었다
따끔하거나 할거라 생각했는데 전혀 느낌이 없었다
집에 와서 주사맞은 자리에 붙혀주었던 밴드를 뗏는데 밴드에 피가 안묻은것이다
"이럴수가있나..?"

두개의 차이점에 대해 간단히 이야기해보고자 한다
우선 자바스크립트는 프로그래밍 언어의 이름이다
자바스크립트 언어 문법으로 작성된 코드는 본래 웹브라우저상에서만 실행할수 있었다
이게 무슨 의미인가 하면 웹브라우저를 구동중인 컴퓨터의 바탕화면에 있는 파일을 읽거나 기록하는 등의 작동을 웹브라우저에서 작동하는 자바스크립트로는 불가능하다는 이야기이다
웹브라우저 안에서 작동하는 자바스크립트로는 웹브라우저 밖의 것들을 건드릴 수 없다
즉 컴퓨터 안의 웹브라우저 안에서 작동한다는것이다
웹브라우저는 어떻게 보면 자바스크립트 코드를 구동시키는 구동프로그램인 셈이기도 하다
nodejs도 웹브라우저와 마찬가지로 자바스크립트 코드를 구동시키는 구동기의 역할을 하는 프로그램이다
그럼 웹브라우저와 nodejs와의 차이는?
그렇다 nodejs로 구동하는 자바스크립트는 코드를 수행중인 사용자의 권한이 충분할 때 구동중인 컴퓨터의 바탕화면에 있는 파일을 읽거나 기록하는 작동이 가능하다

 

우리에게 만약 시계와 달력이 없다면 계절이 바뀌는 것을 어떻게 알 수 있을까

그 방법은 나뭇잎을 보면 된다 나뭇잎의 모습이 계절에 따라 바뀌기 때문이다

이 글을 쓰고있는 지금은 여름이 끝나고 가을이 되어가는 중이다

가을이 될때에는 잎이 노란색으로 변한다

 

+ Recent posts