FreeTalk
2015.06.23 13:00

문제는 알고리즘이다

조회 수 1930 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

수만 명의 회원이 가입한 생활코딩이라는 페이스북 그룹이 있다. 나도 최근에 회원으로 가입했는데, 여러 가지 포스팅 중에서 간혹 알고리즘에 대한 질문이 올라오는 것을 보게 된다. “프로그래밍을 하려면 알고리즘을 꼭 알아야 하나요?” “개발자에게 알고리즘은 얼마나 중요한가요?” 이와 같은 내용의 질문이다.

알고리즘이라고 하면 병합정렬, 그래프검색, 동적프로그래밍 등과 같이 구체적인 ‘알고리즘’을 떠올리는 경우가 일반적이다. 아마 질문을 올린 사람도 그런 알고리즘을 염두가 두었을 것이다. 그렇기 때문에 위의 질문을 “PHP로 웹사이트를 개발하고 있는데 반드시 병합정렬을 알아야 하나요?”처럼 좁은 의미로 해석하면 대답하기가 쉽다. 웹사이트를 개발하기 위해서 꼭 병합정렬을 알아야 할 필요는 없기 때문이다.

그렇지만 우리가 이야기하는 알고리즘이라는 것이 그렇게 특정한 ‘알고리즘’을 모아놓은 것을 의미할까. 이 부분이 핵심이다. 제대로 된 답을 구하려면 우선 질문을 제대로 구성하는 것이 중요하다. 메리엄-웹스터 사전에 나와 있는 알고리즘의 정의를 살펴보자.

“a set of steps that are followed in order to solve a mathematical problem or to complete a computer process”

수학적인 문제를 해결하거나 컴퓨터 프로세스를 완결하기 위해서 차례로 뒤따르는 단계의 집합. 이게 알고리즘이다. 여기에서 “단계의 집합”은 “규칙의 집합”이라고 바꿔 불러도 좋을 것이다. 이러한 정의에 따르면 알고리즘은 어떤 문제를 해결하기 위해서 필요한 규칙을 이해하고 그러한 규칙을 단계별로 적용해서 문제를 해결하는 것을 의미한다.

다시 질문으로 되돌아가보자. “프로그래밍을 하려면 규칙을 이해하고 그런 규칙을 단계별로 적용하는 능력이 반드시 필요한가요?” 혹은 “개발자에게 규칙을 이해하고 그런 규칙을 적용해서 문제를 해결하는 능력은 얼마나 중요한가요?” 질문을 이렇게 바꾸면 질문 자체가 성립하지 않는다는 사실을 알게 된다. 왜냐하면 “규칙을 이해하고 그런 규칙을 적용해서 문제를 해결하는 것”이 바로 프로그래밍이기 때문이다.

올초 지디넷코리아에 실렸던'컴공 전공자가 왜 SW 개발을 못하나'라는 기사가 개발자 사이에서 잠시 회자되었다. 컴퓨터 공학을 전공한 졸업생들이 회사에 취업했을 때 회사가 원하는 수준의 코딩 실력을 갖추지 못하는 현실을 지적한 내용이었다. 컴공을 전공한 학생이 대학을 졸업하서 코딩을 하지 못하면 확실히 문제다. 하지만 ‘코딩’이 특정 회사가 요구하는 특정 플랫폼, 특정 언어, 특정 API에 대한 내용이면 이야기가 달라진다.

대학은 학원이 아니기 때문이다. 대학에서 학생들이 배워야 하는 것은 특정한 API를 다루는 ‘코딩’ 능력이 아니라 주어진 문제를 해결하기 위해서 규칙을 이해하고 규칙을 단계별로 적용해서 문제를 해결하는 능력이다. 즉, 코딩이 아니라 알고리즘이다. 코딩은 알고리즘이라는 능력이 겉으로 드러나는 여러 가지 방식의 하나일 뿐이다. 코딩은 외공이고 알고리즘은 내공이다.

그렇기 때문에 대학은 학생들에게 코딩 능력이 아니라, 문제를 해결할 수 있는 능력, 즉 알고리즘 능력을 길러주는 방법을 고민해야 한다. 살에 새긴 문신 같은 코딩 능력은 MOOC, 학원, 스터디 그룹 등을 통해서 필요할 때 얼마든지 배울 수 있다. 지울 수도 있다. 하지만 뼈에 녹아들어 나와 한 몸이 되는 알고리즘 능력은 그 자체로 프로그래머의 정체성을 규정한다. 그렇기 때문에 배워야 하는 시기가 따로 있다. 시기를 놓치면 익히기 어렵다.

요즘처럼 기술변화의 속도가 빠른 시대에는 특정 기술, 플랫폼, 언어, API에 종속되는 코딩 기술의 가치가 전보다 크지 않다. 오히려 낡은 기술을 버리고 새로운 기술을 재빨리 익히는 능력이 중요하다. 전투기의 생명이 빠르게 방향을 전환하는 기동성(maneuverability)에 달려 있는 것처럼, 프로그래머의 생명도 방향전환 능력에 달려있다. 알고리즘은 그러한 방향전환을 가능하게 만들어주는 일종의 “메타-능력”이다.

그래서 미국의 IT 회사들은 (특별한 경우를 제외하면) 특정 기술이나 API에 정통한 사람을 찾지 않는다. 기본적인 능력(문제를 해결할 수 있는 능력, 즉 알고리즘)을 갖춘 상태에서 새로운 기술을 빠르게 습득해서 활용할 수 있는 사람을 찾는다. 이런 면들을 생각해보면 실리콘밸리라는 미국드라마에서 해커 느낌이 풍기는 보안전문가와 자바전문가가 아니라 파일을 압축하는 ‘알고리즘’을 개발한 사람을 주인공으로 배치한 것은 우연이 아니었을 것이다.

프로그래밍이라는 기술은 이렇게 알고리즘이라는 세포로 이루어져 있다. 그리고 알고리즘이라는 세포의 내부에 존재하는 DNA는 논리다. 만사에 논리적인 사람은 좋은 코드를 작성하지만, 논리적 사고가 결핍되어 있는 사람은 아무리 열심히 ‘코딩’을 배워도 좋은 코드를 작성하지 못한다. 다시 질문으로 되돌아가보자.

“프로그래밍을 하려면 알고리즘을 꼭 알아야 하나요?” “개발자에게 알고리즘은 얼마나 중요한가요?”

이제 질문의 의미를 정확하게 이해할 수 있게 되었으므로 대답을 할 수 있다. 그렇다. 프로그래밍을 하려면 알고리즘이라는 메타 능력이 반드시 있어야 한다. 알고리즘이 얼마나 중요한가하면 프로그래밍 그 자체라고 말할 수 있을 정도로 중요하다. 문제는 알고리즘이다.


[출처] http://www.zdnet.co.kr/column/column_view.asp?artice_id=20150622080223
?

  1. 복사기 기능 많아도 98%는 복사 1장

    구글 검색창과 지메일 등 150여개 서비스의 디자인을 총괄했던 마리사 메이어 야후 CEO. 야후에서도 '야후 웨더'와 '플리커' 등의 디자인으로 주목을 받았다. 최근 비즈니스인사이더와 패스트컴퍼니에 소개된 그녀의 앱 디자인 법칙 세 가지를 소개한다. /사진...
    Date2015.02.21 CategoryFreeTalk Byhooni Views1462
    Read More
  2. 서울대에서는 누가 A+를 받는가?

    요약하자면~ A+ 받은 학생들의 공부 방법과 생각 서울대학교 학생들 - 교수가 하는 말은 녹음하고 필기해서 토시 하나 안틀리고 달달외운다. - 좋은 아이디어라도 교수와 견해가 다르면 시험에 쓰지 않는다. 미시간대학교 학생들 - 받아적는건 생각을 방해하기...
    Date2015.12.18 CategoryFreeTalk Byhooni Views1457
    Read More
  3. No Image

    아프던 배가 순식간에 나았다?

    어떤 관광객이 감탄사를 연발하며 나이아가라 폭포의 장관을 구경하다가 목이 말라 폭포의 물을 떠서 맛있게 마셨습니다. “아, 물맛 좋네!” 하고 걸어 나오던 그는 폭포 옆에 ‘포이즌(POISON)’이라고 쓰여 있는 팻말을 보았습니다. 자신도 모르게 독성분이 든 ...
    Date2014.09.25 CategoryFreeTalk Byhooni Views1452
    Read More
  4. 독일 총리의 위엄

    한국이 못한 일 독일 총리가..
    Date2015.03.14 CategoryFreeTalk Byhooni Views1452
    Read More
  5. 강원도의 흔한 중학생

    한국영상자료원에 희귀자료 기증자 ㅋㅋ
    Date2014.11.18 CategoryFreeTalk Byhooni Views1449
    Read More
  6. 번개 초고속 촬영

    번개 초고속 촬영
    Date2014.11.10 CategoryFreeTalk Byhooni Views1444
    Read More
  7. 엄마보다 아빠가 아이들과 더 잘 놀아줘야 하는 이유

    By Sue Shellenbarger LINZIE HUNTER FOR THE WALL STREET JOURNAL 오하이오 주 켄트스테이트대학의 캐스린 컨스 심리과학 교수는 자신의 실험실에서 30명의 청소년 및 아동이 부모에 대해 얘기하도록 했다. 컨스 교수 연구진이 부모와 자녀 간의 유대감을 평...
    Date2015.08.06 CategoryFreeTalk Byhooni Views1444
    Read More
  8. 살 찐 사람은 자기 관리를 못한 것

    맞는 말인데.. 아마도 글 쓴 사람은 살찌고 공부 잘하는 사람인 것 같다 ㅋㄷ '살찐 사람은 자기 관리를 못 한 거다' 라는 이야기가 종종 나오고 공감하는 분들도 꽤 있는 모양인데, 만일 내가 '공부 못하는 사람들은 자기 관리를 못 한 거다' 라고 말하면 탐...
    Date2014.11.18 CategoryFreeTalk Byhooni Views1443
    Read More
  9. 안드로이드 폰에서 원격으로 지문 탈취 가능

    우리의 지문은 우리가 생각하는 것 보다 안전하지 않을지도 모른다. 수요일(2015.08.05) 라스베이거스에서 열린 "Black Hat" 컨퍼런스에서 "FireEye"라는 보안업체 직원 "Tao Wei"와 "Yulong Zhang"는 안드로이드 폰에서 사용자 지문을 추출하는 방법을 소개했...
    Date2015.08.07 CategoryFreeTalk Byhooni Views1434
    Read More
  10. No Image

    내가 살아보니까 - 장영희

    내가 살아보니까 - 장영희 사람들은 남의 삶에 그다지 관심이 많지 않다. 그래서 남을 쳐다볼 때는 부러워서든 불쌍해서든 그저 호기심이나 구경 차원을 넘지 않는다. 내가 살아보니까, 정말이지 명품 핸드백을 들고 다니든, 비닐봉지를 들고 다니든 중요한 ...
    Date2015.07.17 CategoryFreeTalk Byhooni Views1433
    Read More
  11. 선진국 국민성

    이러니 선진국.. 캐나다에서 지하철에 표 사는 기계가 망가졌는데 사람들이 돈을 올려놓고 탐. 1. 돈을 내는것도 선진국민 2. 놓여진 돈을 안훔쳐가는 것도 선진국민
    Date2014.10.22 CategoryFreeTalk Byhooni Views1432
    Read More
  12. 과자 과대포장이라니, 오해입니다?

    그렇지.. 저 정도 글빨은 돼야 기자 하지.. 뭘 하든 상상 이상이구만 ㅋㅋ 과자 포장에 담긴 깊은뜻..?
    Date2014.10.10 CategoryFreeTalk Byhooni Views1426
    Read More
  13. 아빠 직장(구글)에 편지써서 휴가 달랬더니..

    진짜 휴가 줌 ㅋㄷ
    Date2014.10.22 CategoryFreeTalk Byhooni Views1413
    Read More
  14. 베르나르베르베르 "웃음" 중에서..

    다시 원위치로 돌아가는 인생.. 2세 때는 똥오줌을 가리는 게 자랑거리. 3세 때는 이가 나는 게 자랑거리. 12세 때는 친구들이 있다는 게 자랑거리. 18세 때는 자동차를 운전할 수 있다는 게 자랑거리. 20세 때는 섹스를 하는 게 자랑거리. 35세 때는 돈이 많...
    Date2016.06.08 CategoryFreeTalk Byhooni Views1391
    Read More
  15. 세종 때 조선의 출산휴가

    세종 8년 즉 1426년에 대왕이 관청의 계집종이 아이를 낳 으면 종래의 7일간이 너무 짧으니 1백일간의 휴가를 줄 것 을 명하였다. 이후 세종 12년. 1430년에 말하길 "옛적에 관가의 노비가 아이를 낳을 때에는 반드시 출산하 고 나서 7일이 지난 뒤에 일하게 ...
    Date2014.10.15 CategoryFreeTalk Byhooni Views1389
    Read More
  16. 안철수의 무릎팍도사 5개 거짓말, 고발됐다!

    ▲ 지난 8월 15일 성남종북척결 시민대회에 나온 애국5인회 인사 3명(왼쪽부터 변희재 대표, 황장수 소장, 정미홍 대표). 다음은 <애국 5인회>의 성명서 전문이다. 안철수와 MBC에 대한  정정보도 및 손해배상 청구 소장을  제출하며   MBC는 지난 2009년 6월 1...
    Date2016.04.20 CategoryFreeTalk Byhooni Views1387
    Read More
Board Pagination Prev 1 ... 47 48 49 50 51 ... 55 Next
/ 55