정보기술2007. 9. 4. 08:49
 인터넷에서 사원 면접 시 정렬 알고리즘에 대한 인터뷰를 하는 내용을 본 적이 있습니다.

 주 내용은 버블 소팅 정도의 내용만 알면 면접을 통과하기 어렵고

 알고 있는 알고리즘 갯수가 많으면 합격 공산이 커진다는 내용이었습니다. 


       그.런.데...


 과연 그런 것이 현실에서 얼마나 영향을 미치게 될 지 궁금합니다.

 항상 그렇듯 최적의 정렬이란 없습니다. 

 늑대인간을 한방에 날리는 은으로 만든 총알은 없어요.

 자료의 분포가 같은 자료는 우주에서 동일 번째의 수소 원자를 만나는 확률만큼 드물 것입니다. 


 그리고 현실적으로 업무의 특석상 최적보다는 빠른 공수의 결과를 원하는 프로젝트가 대다수입니다.

 최상의 결과가 나오는데 일년, 

 상업용으로 판매가능한 수준이 되는데 반년, 

 그럭저럭 돌아는 가는(?) 결과물이 나오는데 한달이 걸리는 업무를 생각해 봅시다.

 귀하가 경영진 또는 프로젝트 관리자라면 과연 항상 최적의 결과만을 선택할 수 있겠습니까?


 일년이 지나면 해당 개발 파트가 없어지거나, 회사가 망할 수도 있습니다.


 버블 소트로라도 데모 버전을 만들어 대주주나 투자자를 기쁘게 만들어야 할 수 도 있습니다.


  초기의 상용 인공지능 서비스는 갑갑할 정도로 저수준의 제품이 많았습니다. 하지만 기업들은 일단 만듭니다. 만들고 또 만들지언정 최적의 결과를 위하여 기다리지 않아요.


 

 물론 정렬에 대한 질문 등이 지원자의 소양 분석이라는 점을 크게 이해하는 바입니다. 

 하지만 X를 잘하는 사람을 찾으면 X만 잘하는 사람만 모입니다.

 (비슷한 이야기를 인터넷에서 본 적이 있을 수도 있습니다.)


fixed 18.4.13

Posted by 어쩌다보니 Jay Two

댓글을 달아 주세요

  1. 하나 첨언 하자면 정렬알고리즘을 알아도 그것을 처움부터 만들진 않죠 생산성이 떨어지니깐요 널리고 널린게 정렬알고리즘 코드들인데 ^^* 알고리즘 뿐만 아니겠죠???
    공감이 되네요. 저도 솔직히 고민을 좀 한적이 있는데 정말 어떤 개발자가 훌륭한 개발자일까요???
    아주 예전에 쓴글 트랙백 겁니다 ^^*

    2007.09.05 16:28 [ ADDR : EDIT/ DEL : REPLY ]