소프트웨어 개발자, 프로그램을 코딩 하는 사람은 예술가가 되어서는 안 된다. 예술가는 창의적인 사고를 갖고 세상에 없던 것을 만들어 내는 사람이다. 기존에 있던 것을 만들면 모방이고 예술작품이 아니기 때문이다. 하지만 소프트웨어 개발자는 자신의 의지대로만 일을 해서는 안 된다. 소프트웨어 개발 표준에 따라야 하기 때문이다. 표준이 생산성 측면에서 중요한 수단이고 도구인데 표준을 무시하고 자기 임의로 일을 해서는 안 되는 것이다.

화면을 설계할 때 오른쪽 위에 도움말 버튼을 그리는 것으로 표준을 삼았으면 모든 사람이 도움말 버튼은 오른 위에 있는 것으로 설계를 한다. 이렇게 동일한 위치에 설계를 해야 사용자의 편리성 측면에서 좋고, 화면의 일관성을 유지할 수 있는 것이다. 사용자는 항상 도움말 버튼이 오른쪽 위에 있는 것으로 기억하게 되어 사용자가 익숙하게 사용되는 것이다. 이래야 사용자의 생산성도 따라서 올라가게 된다. 어떤 개발자가 나름대로의 창의적인 생각으로 설계하여 도움말 버튼을 화면 아래로 옮긴다면 자신이 보기에는 좋고, 창의적이고 독특한 생각일 수 있으나 사용자에게는 사용상의 혼란을 줄 것이다.

물론 소프트웨어를 설계하는 설계자는 알고리즘의 설계에 있어서는 창의적이고 공학적인 접근으로 최적의 설계서를 만들어야 한다. 어느 경우에는 선정된 라이브러니라 클래스를 쓰는 것이 표준인데 자신의 설계 사상과 맞지 않아 고민을 하기도 한다. 공통 모듈의 성능이 부족하여 전체 성능을 떨어뜨릴까 봐 적용을 망설이게 하기도 한다. 자신의 경험에 비추어 볼 때 현저하게 낮은 품질의 개발 수준을 갖고 있다면 누구라도 새로 개발하여 적용하고 싶은 욕망이 생긴다. 이런 것들은 표준, 생산성, 기준과 대비하여 독특함, 창의성과의 건전한 갈등이라고 할 수 있다. 문제가 있거나 맘에 들지 않으면 의사소통을 통하여 개선할 수 있는 것이 소프트웨어 개발의 보편적 철학과 사상이므로 열심히 개선을 요구하자.

소프트웨어 개발자 즉 프로그램 코딩을 담당하는 사람은 더욱 더 예술가가 되어서는 안 된다. 설계도에 적혀진 그대로 코딩을 해야 한다. 건물을 지을 때 설계도대로 하지 않고 시공 기술자들이 마음대로 시공하면 그 건물은 온전할 수 없을 것이다. 지진 등의 주변 환경 변화에 건물이 무너질 수도 있고 투입 자재가 더 들어가서 비용이 상승할 수도 있는 것이다. 소프트웨어 개발 프로젝트의 현실은 개발자에게 많은 권한을 주고 있다. 많은 경우에 설계가 완벽하지 못하여 개발자가 부족한 부분은 자신의 창의적 생각으로 채워야 하기 때문이다. 그러나 이러한 권한이 소프트웨어 개발자에게 맘대로 프로그램을 만들어도 된다는 허락은 아닌 것이다.

채성수 chaesungsoo@iabacus.co.kr 소프트웨어개발 전문기업 ㈜애버커스 사업총괄부사장. 엘지전자와 엘지씨엔에스(LG CNS)에서 다년간 컴퓨터 관련 사업을 추진한 전문가이다. 국가 공인 최고 자격인 정보관리기술사로 대학에서 컴퓨터 관련 연구를 하였다. ‘속도경쟁사회’, ‘코딩을위한컴퓨팅사고력’, ‘소프트웨어 인사이더’ 등 6권의 책을 저술하였으며 넥스트데일리의 컬럼니스트로 활동하고 있다.

(*이 칼럼은 Nextdaily의 편집방향과 다를 수 있습니다.)

관련기사

저작권자 © 넥스트데일리 무단전재 및 재배포 금지