코딩에 끼가 필요하다는데...

gurugio의 이미지

교수님께서 자료구조 첫 시간에 말씀하시길

프로젝트 과정중에 요구분석, 기획등의 코딩 이전 단계의 중요성을

말씀하시면서 끼가 많이 필요하다고 하셨습니다.

영화,음악, 여행 모두 중요하다고 하시네요.

어때요? 정말인가요?

예전에 해커가 되기 위한 지름길인가 하는 문서를 보니까

ZEN에 관해 관심을 가지고 참선을 하고 뭐 그런 내용이 있더라구요.

그것과 통하는 내용같습니다.

jj의 이미지

에릭 레이몬드의 글을 읽으신건가요?

참선... 좋지요 :)

제가 보기엔, 교수님 말씀이나 레이몬드의 말은, 건강한 사람이 되라는 말 같습니다.

그런거 안해도, 코딩 기가 막히게 할 수 있겠죠. 하지만, 음지에 틀어박힌 nerd는 되지 말자! 그런 뜻이 아닐까요?

모든 사람이 그럴게될 염려는 안해도 될것 같습니다. :)

--
Life is short. damn short...

맹고이의 이미지

kall의 이미지

끼라...'직관력' 혹은 '감'이라고도 부르는것이겠죠..

어떤 문제를 봤을때 바로 감을 잡는가 못잡는가가 중요한 요소인건 사실입니다.

하지만...그건 기본 내공이 어느 정도 수준이상이 되었을때 필요한것이겠죠...

축구 같은것에 비유하자면, 아무리 볼컨트롤같은 감각이 좋아도 기초체력이 받쳐주지 못하면 경기에서 아무 도움이 안되는 것과 같은 이치가 아닐까요? :)

더불어, 직관력이나 감도 어느정도까지는 훈련을 통해 기를 수 있다고 봅니다.
타고나는 천재들 만큼은 아니겠지만 말이죠 :(

----
자신을 이길 수 있는자는
무슨짓이든 할수있다..
즉..무서운 넘이란 말이지 ^-_-^
나? 아직 멀었지 ㅠㅠ

rOseria의 이미지

저도 이제 겨우 눈을 떠 가는 중입니다만, 제 스스로도 왠지 모든 학문이 다 통하는 것 같이 느껴지기도 하고 - 어릴 때부터 컴퓨터를 알게 되었지만, 피아노를 잠깐 배운다던가 그림을 그렸다던가, 바둑을 배웠다던가 하는게 가만 생각해보면 알게모르게 프로그래밍에 도움이 많이 된 것 같습니다.

이성이 아닌 감성이나 직관의 힘을 쓸 줄 알게되면, 뭐 그까진 아니라도 상상력만 있어도 코딩에 도움이 많이 될 거라고 생각합니다.

덧붙이자면 참선도 좋구요, 직관력 훈련엔 바둑이 상당히 도움이 되는 것 같더군요. ( 저는 바둑 .. 아주 어릴 때, 10급정도까지 한 적 있었어요. 다시 배우고는 싶지만 )

----
한 발자국, 한 발자국 - 언젠가는 도약하리라 ~

unipro의 이미지

여럿이 함께하는 일에서는 대인간의 관계형성도 중요하다고 봅니다. 예전에 마이크로소프트사에 대한 다규멘터리가 나온적인 있었는데, 그곳에서는 여러 인종들이 모인지라 대인관계에 대해서 많은 신경을 쓰는 것 같더군요. 초기에 서로간의 문화적 차이로 생기는 문제로 많은 프로젝트들이 실패하거나 힘들게 진행했다고 합니다. 그 후로 특별히 해당 부서를 만들어서 이부분에 많은 시간을 투자해서 서로간이 오해가 생기지 않도록 철저히 교육을 시키고 있더군요.

능력이 안되는 팀원은 가르치면 되고 그도 안되면 할 수 있을 만큼의 일만 할당하면 되겠지만, 어울릴 줄 모르는 사람이 팀원이라면 기름이 적은 기어처럼 위태롭겠죠.

머리는 들어있으면 활용하고 모르면 채워넣으면 그만이듯이 능력이 허용하는 한도내에서 쉽게 제어가능한 부분입니다. 이에 반해, 가슴은 어떻게 쉽게 다룰 수 없습니다. 수도하는 사람이 아닌 이상 머리로 감정을 다스리기는 힘들고, 저는 거의 불가능하다고 믿습니다. 감정은 해소해야 하는 것이기 때문이지요.

놀이는 잘못될 수 있는 감정의 문제를 예방해주고, 그런 감정들을 발생시에 해소하게해서 풀어주는 유용한 방법입니다. 그래서 적당히 해당 문화권에 어울리는 놀이를 조금을 할 줄 아는 것은 좋은 관계를 갖는데 도움이 됩니다. 한국의 경우에는, 스타크래프트의 오버로드가 뭔지 모른다거나, 당구 큐대 한번 잡아보지 않았다면 참 뭘 하기가 ... 그렇죠.

내 블로그: http://unipro.tistory.com

lsj0713의 이미지

개인적으로, '끼'라는 이름하에 특정 형태의 인간이 되기를 강요하는 것을 대단히 싫어합니다. 하나만 잘하는 인간이 될 수도 있는거고, 여러개를 잘 하는 인간이 될 수도 있는 거죠. 꼭 뭐든지 잘하는 그런 인간이 될 필요는 없다고 생각합니다. 서양 사람들 위인전기 보면 그런 사람들 많지 않습니까? 자신의 전문분야 하나만 잘하고, 다른 분야에서는 오히려 평균보다 떨어지는... 잘난 사람들은 이거 저거 다하고도 성공할 수 있을지 모르지만, 저같은 사람들은 한우물만 파도 다른 사람 따라가기 벅찹니다. 또한, 길지 않은 인생 싫은것까지 억지로 하면서 살고 싶지도 않습니다.

그리고 프로그래밍에 영화, 음악, 여행이 중요하다는 얘기는 조금 오버같군요-_-;; 효율성 면에서 볼때, 프로그래밍을 잘하려면 당연히 관련서적 읽어보는게 가장 좋은 방법이 아니겠습니까? 영화, 음악, 여행은 평소에 보고 듣는 걸로도 충분합니다-_-; 다만 평소에 늘 생각하는 버릇을 들이는 것이 여러모로 유용하겠죠.

daybreak의 이미지

교수님께서 말씀하신 "끼" 라는 것은 창의성과 추진력이 아닐까 싶습니다.
창의성은 감수성과 밀접한 연관이 있고, 이것은 정서적인 안정과 또 연관이 있다고 할 수 있겠습니다.

여러 다양한 다른 분야가 직접적으로 컴퓨터 프로그래밍에 영향을 줄 수 없겠지만 간접적으로는 얼마든지 가능한 이야기입니다. 프로그램은 기술적으로 커버해야하는 세부적인 부분도 중요하지만 프로그램이 보여주는 전체적인 흐름이나 맥 또한 중요하기 때문인데, 프로그램의 특성상 그러한 맥은 실재하는 세계에 존재하는 다른 것을 모방할 수 밖에 없기 때문입니다.

심리학, 인지과학과 정신분석학의 여러 보고서에 따르면 하루 종일 모니터만 쳐다보고 햇볕을 보지 않을 경우 점점 공격적이고 이기적이고 속이 좁은듯한 행동을 하게 된다고 하는 말을 심심치않게 들을 수 있습니다. 당연히 이러한 상태에서 바람직한 창의성과 추진력을 기대하기는 힘들겠죠.

굳이 창의성을 위해서 뿐만이 아니라, 정서적인 측면에서라도 여러 가지 문화생활을 즐기는 것은 어느 정도 필수라고 할 수 있습니다. 사람이 너무 일에만 몰두하면 바보가 된다고 확신합니다.

crazydak의 이미지

전 대학다닐때 코딩에는 나름대로 재미도 있고 어느정도 능력도 된다고 생각했었는데요..
회사다니면서 다른 여러 사람들의 코딩을 보니 아..이건 따로 재능이 있는 건가부다..하는 생각이 많이 들었습니다..
코딩을 잘하시는 분들의 코드는 대학다닐때 보았던 "Art of C"란 교재에서 말하는 Art가 무엇인지 느끼게 해주더군요..
코멘트나 Tab처리와 같이 습관이나 노력에서 얻어지는 부분들도 있겠지만.
알고리즘이나 Process에 대한 처리 방법 자체가 저로서는 그사람의 코딩을 보지 않고서는 저혼자는 생각해낼 수 없다는 느낌을 주게 하더군요.. cry

unipro의 이미지

어떻게 할 것인가에서 라는 부분에서-알고리즘을 만들고 코딩울 하는 부분에서는 각자의 능력이 많은 비중을 차지하겠죠. 그것과 비교해서, 무엇을 할 것인가를 결정하는 단계-요구분석이나 기획의 단계에서는 서로 의사소통을 하는 방법이 중요합니다.

Quote:
교수님께서 자료구조 첫 시간에 말씀하시길

프로젝트 과정중에 요구분석, 기획등의 코딩 이전 단계의 중요성을

말씀하시면서 끼가 많이 필요하다고 하셨습니다.

저도 비슷한 얘기를 소프트웨어 공학시간에 들었거든요. 저희 교수님은 후자쪽을 얘기하신 것으로 미루어 보다 이 교수님의 의도도 그렇지 않을까 미루어 짐작해봅니다.

내 블로그: http://unipro.tistory.com

mastercho의 이미지

끼라는건 공부를 하면 할수록 느는게 아닌가 싶네요

다른 노는일을 하는게 코딩에 도움이 된다는건 억지인거 같고요

이쪽 분야의 전공 분야를 꾸준히 공부하고

실제로 그걸 프로젝트에 적용해봐야 한다고 생각합니다

대체로 보면 대충 책 읽고는 끝내는게 있던데....

리펙토링 책을 보면 현제 하는 하는 프로젝트에 리펙토링을 실제로

적용고, 디자인 패턴을 공부하면 switch를 할걸 상속으로 해결해보도록

노력해보고, 유닉스 OS를 배우면 유닉스 OS에서 프로그램 짜보고

그러면 된다고 봅니다

영화보기 취미 생활같은것은 별다른 도움이 안된다고 봅니다

그냥 기분 전환이상은 아니죠,

차라리 철학책이나 기타 다른 학문을 공부하는것도 도움이 될수 있다고 보이네요

실제로 디자인 패턴도 , 건축의 패턴에서 아이템을 얻어서 적용한거니까요

뜸금없이 , 이상한걸로도 도움이 될수 있다는 변명으로 자기의

태만을 합리화 시키보단 , 여러가지 학문을 접해보는 다형성을 취하는것이

도움이 될수도 있겠네요

승자는 자기보다 우월한 사람을 보면 존경심을 갖고 그로부터 배울 점을 찾지만 패자는 자기보다 우월한 사람을 만나면 질투심을 갖고 어디 구멍난 곳이 없는지 찾는다.
- 하비스

NeoTuring의 이미지

저는 코딩에 끼가 필요하다는 타이틀 보고 코딩 능력이나 알고리즘을
생각하는 능력정도를 생각했는데.. 좀 다른 얘기를 하고 있는것 같네요.
보통 끼라는것은.. '재능'정도로 해석이 되고..
그래서 "쟤는 그 방면으로 끼가 있다." 라고 얘기하면
그 방면으로 재능이있다..라는 정도로 받아들이는데...
음.. 아무튼 소프트웨어 공학분야는 확실히 이론적인 부분보다는
경험적인 요소가 강조되는 면이 있어서 제 개인적으로는
좀 학문으로 보기가 어려운것 같습니다.
알고리즘시간에 그 우아한 강의내용을 보다가 소/공 강의때에
클라이언트의 불만사항을 어떻게 잠재우나.. 그리고 세상을 잘 살아가는
방법같은 좀 세속적인 내용들을 덤으로 듣다보니..
이게 전산과 과목인지 좀 의심스럽던 기억이 나는군요.. -_-
자료구조시간이었다면 수업 분위기를 환기시키기 위해 지나가는
말로 그렇게 얘기한 정도일거 같고..
음.. 아무리봐도 '끼'라는건.. 이런저런 경험을 하라는 얘기보다는
타고나는것이 중요하다라는 뜻으로 얘기하는것에 더 적합한
얘기인데.. 차라리 끼라고 하기보다는 우물안 개구리가 되지
않는게 중요하다는 얘기로 타이틀을 정했으면 그게 더 적합했지
않았나 하는 생각이 드는군요.

fibonacci의 이미지

어떤 분야든, "끼"란것은 그 분야를 즐길수 있는 습성을 말하는 것 같습니다.

No Pain, No Gain.