<aside> <img src="/icons/emoji_yellow.svg" alt="/icons/emoji_yellow.svg" width="40px" />
고객의 니즈를 생각하는 개발자
저에게는 스마트폰으로 소설을 즐겨 읽던 친구가 있었습니다. 어느 날 그 친구가 저에게 ‘소설의 가독성이 좋으면 좋겠다’라고 말했습니다. 당시, 가독성이 떨어지는 파일들이 많아, 소설을 읽는 데 불편함이 있었습니다. 플레이 스토어 상위권을 차지하는 텍스트 뷰어를 사용하며 확인한 결과, 북마크와 페이지 이동기능만 제공하고 있었습니다. 그래서 저는 기존의 텍스트 뷰어에 가독성을 향상하는 기능을 추가하였습니다.
저는 따옴표와 괄호 같은 개행문자와 마침표와 쉼표 등을 활용하여 문장을 정렬하면 가독성을 향상할 수 있을 것으로 생각했습니다. 코틀린을 이용해 문장 정렬 기능을 추가한 텍스트 뷰어를 개발했습니다. 마침표와 쉼표가 사용되었을 때 최적의 결과물을 보여줬습니다. 또, 자주 일어나는 오류 패턴을 분석해 오류를 탐지하는 방법을 적용하여, 오류율을 최소화시켜 유의미한 결과를 얻을 수 있었습니다.
이 어플을 개발한 경험은 고객에게 물어보고 고객의 의견으로 어플을 완성한다는 것을 배울 수 있는 소중한 경험이 되었습니다.
</aside>
<aside> <img src="/icons/emoji-grinning_yellow.svg" alt="/icons/emoji-grinning_yellow.svg" width="40px" /> 꾸준히 성장하는 개발자
새로운 기술을 배우는 걸 즐깁니다! 사이드 프로젝트로 Enhanced Viewer를 개발할 때, 코틀린을 학습하여 개발한 경험이 있습니다.
개발자가 다양한 기술을 배우는 것은 필수적이라 생각합니다. 새로운 기술을 배우면 기술이 등장하는 배경, 그 기술이 해결하고자 하는 문제, 그리고 그 기술에 적용된 방법론과 철학을 자연스럽게 학습할 수 있습니다. 이러한 경험은 실무에서 새로운 프로젝트를 시작할 때에도 상당한 장점이 됩니다. 프로젝트를 시작할 때, 해결할 문제에 적절한 기술을 적용할 수도 있습니다.
개발 능력 향상이 업무의 속도와 유지보수성을 증진하고, 이것이 곧 회사의 발전으로 이루어진다는 것에 대해 깊이 이해하고 있습니다. 좋은 설계와 최적화에 대해 항상 생각하고 보기 좋은 코드란 무엇일까에 대해 항상 고민합니다. 클린코드에 관심이 많습니다. 아직 코드리뷰를 해본적은 없지만, 기회가 된다면 꼭 해보고 싶습니다.
</aside>
<aside> <img src="/icons/emoji-grinning-smiling-eyes_yellow.svg" alt="/icons/emoji-grinning-smiling-eyes_yellow.svg" width="40px" /> 차별화된 서비스를 만드는 개발자
C언어 프로그래밍 시험으로 하나의 프로젝트를 완성하라는 과제가 나왔습니다. 기존에 있던 시스템을 직접 완성해보라는 교수님의 의도였지만, 저는 기존의 시스템을 개발하더라도 차별화를 주고 싶었습니다. 아무런 차별점 없이 만들어간다면, 기존의 시스템보다 더 나은 결과물도 아닐뿐더러, 교수님께 직접 만들었다는 보장을 줄 수도 없기 때문입니다.
저는 뱀 게임을 개발하고, 차별화된 기능으로 리플레이 기능을 추가했습니다. 뱀의 방향 전환이 이뤄질 때, 방향이 전환된 위치를 저장하고 리플레이할 때는 뱀을 유저가 아닌 저장된 정보를 통해 다음 위치를 추적하여 이동하게 만들어 리플레이를 구현했습니다. 또한, 모듈화를 통해 게임 플레이와 리플레이 기능 대부분의 동작을 재활용하여 구현해 약 600줄의 짧은 코드로 완성할 수 있었습니다.
해당 수업을 맡은 교수님께서 완성도에 대해 칭찬하시며 좋은 성적을 주셨고, 저 또한 만족스러운 결과물을 만들어 좋은 경험을 하게 되었습니다. 이러한 긍정적인 경험은 계속해서 열심히 노력할 수 있는 원동력이 되었고, 계속해서 선순환할 수 있는 계기가 되었습니다.
</aside>