[나만의 방식으로 해결하다]
학부 과제로 ‘COM 포트를 이용한 채팅 프로그램’을 개발했습니다. 당시 COM 포트가 패킷을 처리하는 코드는 주어졌는데, 해당 코드를 그대로 사용하면 전송할 메시지가 일정 길이 이상일 경우 뒷부분이 잘리어 전송되지 않는 현상이 발생했습니다.
이 문제는 감점의 대상이 되지 않아 다른 학생들은 이를 해결하지 않았지만, 저는 문제의 원인을 찾기 위해 원인을 분석하였습니다.
이는 COM 포트의 패킷 처리 속도가 SW의 패킷 처리 속도보다 느려 메시지를 패킷으로 나누어 전송할 경우 먼저 전송된 패킷이 COM 포트에서 처리되기 이전에 다음 패킷이 도착하게 되어 발생하는 문제로, 이를 해결하기 위해 COM 포트가 패킷을 처리하는 시간을 계산하였습니다.
COM 포트에서 패킷을 처리하는 데는 걸리는 시간은 0.1초 미만으로 인간이 인식할 수 없는 시간이라는 점에 착안하여, SW에서 COM 포트로 패킷 전송 시, 패킷 사이에 해당 시간만큼 딜레이를 발생시켜 문제를 해결하였습니다.
해당 과제에서 다른 학생들의 채팅 프로그램은 이와 같은 문제로 인해 메시지 길이에 제한이 있었지만, 저의 프로그램은 유일하게 메시지 길이에 제한이 없었습니다. 따라서 유일하게 과제 추가점수를 받았고, 결국에는 해당 수업에서 A+라는 좋은 성적을 거둘 수 있었습니다.
이는 제가 주어진 상황에 안주하지 않고 한 번 더 나아가 직접 기존의 문제를 해결하는 경험을 하면서 저 자신에게 프로그래밍과 문제 해결에 자신감을 키우는 계기가 되었습니다. 이러한 저의 문제 해결 능력은 같은 상황과 환경에서도 남들과는 다른 안목으로 더 뛰어난 소프트웨어 개발을 할 수 있을 것으로 생각합니다.
[사용자의 입장에서]
저는 컴퓨터 전공자로 항상 주위 사람들의 컴퓨터를 고쳐주며, `컴퓨터가 제공하는 기능은 많지만, 많은 사람들이 그 기능을 제대로 사용하지 못한다`라는 것을 알게되었습니다. 따라서 저는 항상 프로그램 개발 시 사용자가 원하는 기능을 쉽게 사용할 수 있는 직관적인 인터페이스를 개발하도록 노력했습니다.
학부 시절, 부모님께서 스마트폰의 음악 재생 앱을 사용하시는데 인터페이스에 익숙지 않아 사용에 어려움을 느낀다는 사실을 알았습니다. 이를 해결하기 위해 음악 재생 앱을 직접 개발했습니다.
기계에 익숙지 않은 주변 어르신들을 대상으로 기존 앱 사용시 불편한 점을 조사하여 이를 인터페이스에 반영하였고, 뿐만아니라 기존 앱에는 없지만 있었으면 하는 기능도 새로 추가했습니다. 개발 후에는 피드백을 받고 보완하여 모두가 사용하기 쉬운 음악 재생 앱을 만들었습니다.
CJ 올리브네트웍스의 소프트웨어 개발직은 CJ 그룹 내에서 개발하는 다양한 사업영역에서 사용할 IT 서비스를 개발합니다. 이는 컴퓨터 전공자가 아닌 직원들이 사용할 프로그램을 개발해야 하므로, 누구나 사용하기 쉬운 직관적인 인터페이스를 가진 프로그램이 필요하다고 생각합니다.
저의 이러한 경험이 CJ 올리브네트웍스 소프트웨어 개발직에서 사용자 중심의 프로그램을 개발하는데 큰 도움이 될 수 있다고 생각합니다.
글자수 1,533자2,604Byte