웹디자이너로 IT 업계에 입문하여 관련 지식을 하나하나 익히다 보니 어느새 개발자가 되었습니다. 웹디자이너로 재직시절 대표님이 넌지시 던진, ‘퍼블리싱도 좀 해볼래?’라는 말에 덥석 학원을 등록하고 공부하기 시작했습니다. 코드를 입력할 때마다 눈앞에 탁탁 나타나는 결과물에 희열을 느꼈고, 기능이 동작하는 것까지 보고 싶어 개발을 공부하기 시작했습니다. 그렇게 적성을 찾아 재미있게 일한 지 벌써 5년이 되어갑니다. 지금도 당시 대표님께 감사하는 마음을 간직하고 있습니다. 그때 이후로 회사가 필요하다는 기술은 두려워하지 않고 배우고 익혀 나의 무기로 만들고 있습니다.
깔끔하고 정리가 잘 된 것을 보면 마음이 편해지는 성격입니다. 그래서 회사에서 문서나 레거시 코드를 볼 때 일관성 있게 정리하려고 노력합니다. 커뮤니케이션에서도 본론이 흐려지지 않도록 간결하게 말하려고 합니다. 덕분에 저와 일하는 분들께서는 오해나 시간 낭비 없이 효율적으로 소통할 수 있어서 좋다고 합니다. 다만, 때로는 제가 너무 로봇처럼 느껴진다고 말씀하시는 분들도 계십니다. 그래서 커뮤니케이션할 때는 좀 더 부드럽고 따뜻한 표현을 사용하려고 항상 신경 쓰고 있습니다.
깨어있는 시간 중 절반을 차지하는 ‘일'이 곧 삶의 절반을 차지하기 때문에, 일을 즐기기로 마음먹었습니다. 몰입해서 즐기다 보면, 내가 원하던 인생의 방향으로 데려다 줄 것이라 믿습니다. 개발자로서 가고 싶은 방향은 지식을 공유하는 삶입니다. 제 직업을 너무 사랑하기 때문에 누군가 개발자가 되고 싶다 하면 돕고싶은 마음이 생깁니다. 신입 개발자 이력서 리뷰, 개발 공부 방향, 실무에서 일하는 방식 공유 등 현재 제가 도울 수 있는 방법으로 실행하고 있습니다. 실력을 쌓아 흘러 넘칠 즈음에는 책이나 강의 등을 만들어 공유할 목표를 가지고 있습니다.
회사는 마켓핏을 찾기 위해 여러 비지니스 모델을 시도하는 중이었고, 코로나가 시작되며 서비스의 방향을 화상 진료가 가능한 재활 의료기기로 시도해 보고자 하였습니다. AWS에서 크레딧을 지원받고 있던 찰나여서, AWS chime SDK를 이용해 기능을 구현하기로 하였습니다. 워낙 초기 스타트업이라 기획, 디자인도 없이 개발을 시작하였습니다. 레퍼런스를 찾아가며 마이크와 카메라 켜기/끄기 기능, 카메라 전환 기능, 전화 걸기, 끊기 기능, 의료노트 기능 등 플로우를 직접 기획하고 디자인해 완성하였습니다. 개발팀이 하나되어 일한 덕분에 영업팀에서는 ‘화상 통화 가능'이라는 문구를 내세워 고객 홍보를 할 수 있었습니다. 신입 개발자이면서, 혼자 프론트엔드 개발자로 일할 때여서 구글링하며 밤새 만든 기능이 회사에 도움돼 매우 뿌듯했던 기억으로 남아있습니다.
화상 통화 기능을 구현하기는 했지만, 실제 사용할 때 불편함이 있었습니다. 예약된 시간에 환자가 화상 진료실에 입장하면, 의사에게 알림이 가야 하는데 의사의 브라우저가 꺼져있으면 환자의 입장을 알려줄 방법이 없었습니다. 이때 브라우저가 꺼져있을 때도 동작하는 serviceworker를 이용해 firebase 알림을 받아 브라우저에서 알림을 보내도록 기능을 구현하였습니다. 의사가 알림을 바로 확인하지 못하거나 실수로 끄더라도 지난 알림 리스트를 볼 수 있도록 serviceworker에서 접근할 수 있는 indexedDB에 적재하여 알림 목록 기능을 구현하여 서비스 완성도를 높였습니다. 주어진 문제를 스스로 찾아내 기술적으로 해결했다는 것에 기뻐 개발의 매력에 더 빠지는 계기가 되었습니다.
전자 결재 기능 중 리치 텍스트 에디터는 누가, 무엇을, 어떻게 변경했는지가 중요한 정보였습니다. 단순히 텍스트의 전후 변경사항을 비교하는 것은 쉽지만, HTML태그로 감싸진 텍스트와 이미지, 테이블의 전후 변경사항을 비교하는 것은 쉽지 않았습니다. 믿었던 NPM에서도 완벽하게 비교 결과를 리턴해주는 라이브러리를 찾을 수 없었고, 제한된 기간 안에 로직을 직접 구현하기도 어려운 상황이었습니다. 우선 가장 근접한 결과를 리턴해주는 라이브러리를 찾아냈고, 기획 요구사항에 맞게 코드를 고쳐 삭제된 내용은 삭제선과 붉은색 배경을, 추가된 내용은 초록색 배경을 넣어 전자 결재 기능의 완성도를 높였습니다. 문제 해결을 위해서는 라이브러리에 의존할 것만이 아니라, 라이브러리를 부수고 재조립해 만들수도 있다는 것을 경험하고 자신감을 얻게 되었습니다.