Self-introduction
안녕하세요. 다재다능한 개발자 김하림입니다.
저는 배우는 것을 두려워하지 않고 오히려 흥미를 느끼는 사람입니다. 디자인학과를 졸업해 4년간 디자인을 배웠고 영상, 제품, 웹 등 다양한 분야의 디자인을 공부하던 중 웹디자인과 퍼블리싱에 흥미를 느껴 html, css, jquery, javascript를 더 공부했습니다. 제가 졸업하기 직전에 학교 커리큘럼이 바뀌는 바람에 체계적으로 퍼블리싱 분야를 배우지는 못했지만 들을 수 있는 수업은 전부 선택해서 들었고 이를 바탕으로 직접 디자인학부 온라인 졸업 전시회를 제작하기도 했습니다. 이 과정에서 인터넷을 통해 혼자 공부를 하기도 했지만 전문적으로 배워보고 싶은 생각에 학원 수업도 듣게 되었습니다.
단순히 더 재미있어서 4년의 시간을 뒤로 하고 새로운 길로 나아가는 것처럼 어떠한 일을 할 때 좋아서 하는 것이 가장 중요하다고 생각합니다.
새로운 것을 배우고 다양한 사람을 만나는 것을 좋아해서 학창 시절 내내 동아리 활동을 계속 해왔습니다. 볼링부, 댄스부, 밴드부 등 전혀 다른 분야이지만 겁내지 않고 배워 좋은 성과를 얻고 좋은 사람들도 만나게 되었습니다.
회사에서 중요한 부분 중 하나는 다른 분야의 팀원들과 원활한 소통이라고 생각합니다. 저의 강점은 기획부터 디자인, 구현 이 모든 과정을 다양한 프로젝트를 통해 경험했다는 것입니다. 이를 통해 기획, 디자인, 개발 분야의 분들과 소통을 할 때 보다 쉽고 완벽하게 소통할 수 있습니다. 실제로 졸업작품인 Driving mate에서는 다른 학과의 분들과 협업을 했습니다. 또한 한국예술종합학교 학생들이 진행한 프로젝트인 G'arts 에서는 다른 분야의 분들과 협업을 했고 말로 표현하기 어려운 애니메이션을 실제 코드로 작성해 보여드렸고 기획팀에서 제작한 와이어프레임의 문제점을 말씀드리고 사용자가 더 편하게 사용할 수 있도록 웹사이트 디자인을 바꾸었습니다. 이처럼 저는 주어진 것도 열심히 하지만 사용자의 입장에서 더 좋은 아이디어가 있다면 주저하지 않고 이야기하는 능동적인 사람입니다.
디자인 분야 뿐 아니라 카페, 이자카야, 고깃집, 레스토랑 등 다양한 곳에서 아르바이트를 한 경험이 있습니다. 이를 토대로 갑작스러운 상황에 대처하는 방법도 터득하게 되었고 일에 익숙해져야 자신있게 대응할 수 있다는 것도 알게 되었습니다. 그러기 위해서는 일을 빨리 배우는 능력이 필요했고 저는 배우는 것을 좋아하지만 빠르게 적응할 수 있는 사람이 되었습니다.
누군가 저에게 어떤 사람이냐고 질문을 할 때 항상 하는 이야기가 있습니다. 저는 물 같은 사람입니다. 물은 어떤 그릇에 들어가도 그에 맞게 모양을 변형합니다. 저 또한 물처럼 어디에 있든 누구와 있든 그 환경에 잘 적응하고 그에 맞게 변형될 수 있는 사람입니다.
제 성격의 장점은 계획적인 것입니다. 고등학교 때부터 무언가를 시작하기 전 전체적인 계획을 세우고 매일 세부적인 계획을 세워왔습니다. 거창한 계획표를 만들지 않아도 하루 일과를 메모장에 적어두는 등 어떤 방식으로든 매일을 계획했습니다.
이러한 점이 대학 생활을 하며 협업 프로젝트를 진행할 때부터 많은 도움이 됐습니다. 어렸을 때부터 시간 약속을 지키는 것은 필수라는 가치관을 가지고 살았습니다. 그러기에 모든 계획을 세울 때 변수 발생을 포함해 마감 일자를 기준으로 전체적인 계획을 세웠고 각 팀원들마다의 일정을 고려해 일을 배분했습니다. 장기 프로젝트라면 적어도 1주일, 단기 프로젝트라면 매일 회의를 진행해 전 진행 완료율과 당일 계획을 서로 공유했습니다. 그 결과 대학 생활 4년 중 지각 제출이나 기한 내 제출하지 않은 프로젝트는 없었습니다.
제 성격의 단점은 승부욕이 없다는 것입니다. 항상 남들보다 잘 해야겠다는 생각을 하지 않아서 단순한 게임이나 스포츠, 공부에서도 승부욕이 없습니다. 다른 사람들이 보기에는 졌을 때도 웃고 있는 저를 보며 답답하다고 생각할 수 있습니다. 하지만 제 기준에 맞다면 저는 만족하고 받아드릴 수 있습니다. 단순히 누군가를 이기는 것보다 이전의 제 결과보다 나아졌을 때 저는 더 가치있다고 생각합니다.
승부욕과 욕심은 다릅니다. 승부욕이 없는 것이지 욕심이 없는 것은 아니기에 더 빠르게 작동되는 코드 , 가독성 좋은 코드를 만드는 것이 중요한 개발자에게는 승부욕보다는 욕심이 더 필요한 성격이라고 생각합니다.
졸업 후 입사한 곳에서 처음 맡은 프로젝트에서 사용 경험이 없는 프레임 워크인 React를 사용해 웹어플리케이션을 제작하고 배포하였습니다.
HTML, CSS, Javascript, Jquery만 사용할 줄 아는 상태에서 프로젝트를 맡게 되었습니다. 하지만 해당 프로젝트는 React로 진행해야 한다고 전달 받은 후 책과 영상 등 다양한 매체를 통해 React 사용 방법을 익히고 React 내에서 퍼블리싱을 진행하였습니다.
컴포넌트라는 개념을 처음 접하게 되어 처음에는 HTML로 구현을 한 후 공통되는 부분을 다시 컴포넌트로 바꾸었습니다. 느리지만 이 과정을 통해 React를 사용하는 이유 중 하나인 재사용성에 대해 알게 되었습니다. 이후 작업 할 때는 HTML로 만든 후 컴포넌트로 바꾸지 않고 한 번에 공통되는 부분을 찾고 처음부터 컴포넌트로 제작할 수 있게 되었고 작업 속도를 빠르게 할 수 있었습니다.
React에서 사용되는 Hook 중 useSTate를 사용했을 때 렌더링 순서와 작동 방식에 대해 이해하기 위해 모든 부분에 주석을 사용해 어떠한 역할을 하는지 정리하고 콘솔을 통해 이해한 것이 맞는지 순서를 확인했습니다.
또한 함께 협업하는 분께서 제 코드를 쉽게 이해하실 수 있도록 컴포넌트에서 사용되는 props의 명칭과 넘겨 받을 내용이나 state 값에 대한 설명을 주석으로 정리했고 그 결과 저에게 코드에 대한 질문을 하지 않으셔도 이해될 수 있게 했습니다. 이 과정에서 협업으로 진행되는 코드의 가독성에 대한 중요함을 알았습니다. 업무 중 어려운 일을 맡거나 해결이 되지 않을 때 꾸준히 하는 능력은 재미를 바탕으로 얻게 되었습니다. Redux를 처음 접하고 실제 프로젝트에 적용시키기 위해 단순한 카운트다운부터 복잡한 북마크 기능까지 여러 번의 시행착오를 겪었고 실제 ReviewBoard 프로젝트에서 Redux를 사용한 즐겨찾기 기능을 구현했습니다.