최고 품질의 상품들을 지금보다 더 많은 소비자들이 여러 유통 채널에서 더욱 폭 넓고 쉽게...
1. 성장 과정
[어디에서나 내가 할 일을 찾아 하는 능동적인 인재]
저는 학창시절 어떤 일이 나에게 잘 맞을지에 끊임없이 고민했었고, 미래 지향적인 산업에 종사하고 싶다고 생각하여 남들이 잘 선택하지 않는 마이스터고등학교에 진학하여 전자, 반도체를 전공하였습니다. 반도체 설비 엔지니어가 지녀야 할 자질과 프로그래밍의 기초를 배웠고 3학년 마지막 학기에는 ‘피아노계단’이라는 졸업작품을 팀원들과 함께 만들게 되었는데 전자 회로나, 회로도 분석, c언어를 통해서 led 패턴 제작을 위한 알고리즘 사고, 터치센서들의 입출력 값을 받는 함수제작, 그를 위한 수학적 계산을 했습니다. 빛이 번지는 영역과 센서의 터치 민감도 계산, 사각지대를 없애기 위한 터치 판에 손을 댔을 때 반경을 측정해서 실제 피아노 계단이라는 객체에 적용해 보았습니다. 그리고 연동 피아노 발판을 터치 중 센서 미반응을 제거하는 법, 중복 오류가 없어지게 하는 방법 등 많은 오류를 제거하기 위해 밤을 새워가며 문제점을 찾았습니다. 저의 핵심을 토론하고 팀원들의 의견을 고르게 적용해보니 문제들이 해결됐고, 졸업작품 전시회에서 대상이라는 우수한 성과를 이루어 낼 수 있었습니다. 지금까지도 팀원들과 연락을 주고받는, 저의 소중하고 개방적 사고의 발전을 도모한 값진 경험이었습니다.
그 후 19살 10월이 돼서 3년 동안 배운 기술을 반복하고 회사에 맞는 전자기기구조, 반도체 설비 공부를 통해서 LS산전에 취업을 성공하게 되었고, 그곳의 물류와 변압기 부서에서 저의 책임을 다하게 되었습니다. 2년간의 회사생활에서 동료와 조율하는 법, 내를 준 업무를 제시간에 해결하는 습관을 배우게 됐습니다. 업무에만 몰두했을 때 효율이 나올 수 없는 상황도 있고 업무 중에 많은 변수가 있는 것을 인정하고 팀원 회의가 큰 효율성의 차이를 이륙한다는 것을 느꼈습니다. 혼자만의 생각과 의견은 대화가 없다면 사라져가는 Ram과 같다는 것을 알고 아이디어는 공유하는 상황이 필요하다고 생각했습니다. 첫 사회생활이었기 때문에 선배님들께 업무를 보고하거나, 가까워지는데 시간이 걸렸고, 공과 사를 유연하게 구별할 수 있는 유통성이 부족한 경험을 직접 느끼면서 부드럽게 선후배님들과 대화하는 법을 배웠고, 내가 맡은 업무의 문제점을 공유하고 효과성 있는 문제 해결을 위한 모두의 작업 능력과 시간을 고려한 회의 시간을 정하는 배려나 개인의 성격의 성향에 따른 업무소통 익히게 되었습니다. 그 결과 업무에만 몰두한다고 하여 항상 효율이 높은 것이 아닌, 팀원끼리 소통하고 더 나은 개선을 위해 서로 노력할 때 효과를 얻을 수 있다는 것을 알게 되었습니다. 이러한 경험은 귀사(회사명)에 입사하게 되었을 때, 성실함과 유연함으로 발휘될 것으로 생각합니다. 올해 국비 교육을 통해서 기초와 업계의 필요충분 지식을 배울 수 있었고, 좀 더 다양한 지식과 알고리즘을 배우면서 내가 가진 기술로 취업해서 성장하고, 사회에 서비스를 제공하며 사회인으로서 당당히 살아가려고 합니다.
2. 지원 동기
제가 개발자를 선택한 이유는 경험을 통한 나라는 사람의 이해에서 발견했습니다. 3가지를 말씀드리자면,
첫째 개발을 실생활에 적용하기를 좋아합니다
한참 일본 여행이 유행할 때“일본 지진은 얼마나 자주 일어나고, 과연 방지할 수 있을까?' 라는 의문이 생겼습니다.
일본 측에서는 지진에 대한 대비책을 체계적으로 준비하고, 그에 따른 재난지시사항, 행동법칙들이 따로 준비돼 있다는 게 정론입니다. 하지만 과학적인 P파에 의한 지폭에 따른 오차가 생기는 것을 막을 수 없는 현 수준이라고 하는데, 그런 사람들의 생명에 관련된 중요한 쟁점을 정확한 알고리즘으로 수많은 반복 시험을 할 수 있는 예비 진단 프로그램이 필요하다고 생각했습니다.
수많은 과거 일본의 지진 데이터들을 조합하고, 인과를 따져야만 미래에 변칙적이고, 새로운 파동과 횟수를 예상할 수 있다고 생각했기에, 중요한 자료화 시켜보았고, 지진의 데이터를 수치화해서 시각적 도구로 한눈에 정리할 수 있게 프로그래밍해보았습니다. 그 결과 어렵다고 생각했던 정리가 좀 더 간략하고, 간단하게 생각할 수 있는 자료구조로 바뀌어서, 누구나 자료의 특이점이 있다면 아이디어를 낼 수 있는 형태가 되었습니다. 그렇게 어려운 자료의 데이터를 크롤링과 공통 수치에 대한 점화식을 이용해서 정리한다면 많은 사람이 가시적으로 간단해져 아이디어를 쉽게 창출할 수 있는 구조가 된다는 것을 배웠고, 많은 문제에 접근할 때 거시적 주제를 파악하고, 공통점과 차이점을 분리하는 단순화를 먼저 할 수 있다면, 다음 심화한 난이도의 문제를 파악하기까지의 시간을 절약할 수 있다는 것을 느꼈습니다. p 파의 측정 오류는 과학적 지식이 없다면 해결할 수 없지만, 어떤 지점에서 지진파의 오류가 빈번하게 발생하고, 그 빈번 도를 측정하는 최적화는 가능하므로, 프로그래밍으로 최적화하는 과정에 더 집중해야 한다고 배웠습니다. 또한, 많은 사람의 의견을 더하기 위해선 보편적인 시각적 자료를 데이터로 만든다면 참여도를 높이고, 아이디어 창출도 많아지게 할 수 있었습니다. 실제로 이전의 진원과 진폭으로만 파악하는 게 아니라, Plum 법은 실제로 측정된 흔들림을 기반으로 흔들림을 측정하는 방법이다. 실제 존재한 데이터를 기반을 둬서 정확성이 확연히 증가합니다. 하지만 대응이 늦는 점이 있기에 이점을 진원 시스템의 데이터와 접목해 위치에 따른 공통된 알고리즘을 도입해야 할 것으로 생각했습니다.
둘째 성능 개조를 좋아합니다
성능을 개선하는 것은 얼마나 개선이 되었는지 수치로 확인할 수 있다는 장점이 있습니다. 성능을 개선하고 안정성을
향상해 탄탄한 프로그램을 제작하는 것이 재미있고, 개선에 성공하였을 때 값으로 개선된 것을 확인할 수 있어서 성능 이슈를 해결하는 것을 좋아하게 되었습니다.
그래서 하나의 기능을 개발하더라도 조금 더 빠르고, 안정적인 코드를 작성하고 있습니다. 예를 들어 지역별 자동차보유인구 측정 프로젝트를 진행할 때 공공데이터에서 주소 데이터를 받아와 DB 서버에 저장하고, 이를 직접 관리한 적이 있습니다. 이때 주소 검색을 하면 DB에서 검색까지 약 12초가 넘는 시간이 걸렸습니다.
이를 개선하기 위해 주소 검색 조건에 맞도록 복합 인덱스를 설정하였습니다. 인덱스를 생성하고, 지우며 속도 측정을
진행하였고 빠른 속도를 내는 인덱스를 설정하였을 때의 검색속도는 약 0.3초였습니다.
눈에 띄는 성능 개선을 이루었지만 조금 더 빠른 방법은 없을까 생각해보며, 프로그램의 로그 데이터를 감시한
결과 한번 검색된 주소를 여러 번 조회하는 것을 확인했습니다. 이를 통해 검색된 주소를 캐싱하였고 검색 속도는 0.1초 미만으로 줄어들게 되었습니다. 위 주소 검색 이외에도 누름 메시지를 전송할 때 비동기 처리를 통한 대량 메시지 발송 속도 개선 등 여러 방면으로 성능이 향상되었습니다.
셋째 안정성을 높이기 위해 노력하고 있습니다.
좋은 코드를 만들기 위해 노력합니다
코드의 질적 향상을 위하여 프로젝트에 사용되는 기술을 깊게 공부해보는 습관을 지니려고 노력하고 있습니다. 이전에 주먹구구식으로 만들던 방식에서 벗어나 체계적인 설계를 지향하기 위해 책을 기반으로 공부하려고 노력하고 실제 기술을 사용할 때에는 관련 도큐먼트를 찾아보기도 합니다. 실제로 Redid를 도입할 때 Redid Doc을 읽고 다른 기술들과 비교하여 장단점을 비교하며 도입을 진행하였습니다.
코드의 재사용성을 높이는 것을 좋아합니다. 중복되는 로직을 통합하여 메서드로 만드는 리 팩터링을 자주 진행합니다. Code convention을 지켜 다른 사람이 읽기 편한 코드를 작성하고 적절한 주석을 사용하여 팀원이 내가 작성한 코드를 쉽게 재사용할 수 있게 하고 있습니다. 이러한 방식을 통해 저는 좋은 코드를 제작하기 위해 노력하고 있습니다.
3. 나의 성격
[또 일어나는 끈기와 실행력.]
‘거미는 줄을 쳐야 잡는다’라는 속담이 있습니다.
저는 매사 무슨 일이든 끈기와 열정을 가지고 제가 맡은 임무에 대하여 독하게 해결하려 합니다.
첫 번째 장점은 팀 과제에서 의견을 적극 잘 표현하고 팀을 통솔하는 능력이 있습니다. 학부생 시절 팀 과제 활동 때 많은 사람이 서로 눈치만 보고 의견을 공유하지 않던 상황이 자주 있었습니다. 제가 먼저 주제에 대한 적합한 의견을 제시하면서 적극성을 보이면 구성원들의 사기와 의욕을 높일 수 있을 것이라는 생각을 했습니다. 그래서 제가 먼저 나서서 팀 과제에 대한 적극성을 보이고 다양한 의견을 제시했습니다.
두 번째 장점은 긍정적인 사고방식과 활발한 성격입니다. 또한, 항상 미소와 여유로움을 잊지 않으려 노력하며 사람들에게 친절하고 따뜻하게 대하려고 합니다. 그 때문에 편안하고 부담 없이 친해질 수 있는 따뜻한 사람으로 기억되며 어떤 곳에서 든 사람들과 쉽게 친해지고 적응하는 편입니다.
세 번째 장점은 일에 있어서 결코 느슨한 태도를 보이지 않는 것입니다. 그 때문에 인내심과 끈기 있는 마음으로 항상 배우려는 자세를 갖추려 합니다. 또한, 포기하지 않고 해결하려는 마음가짐과 실패를 두려워하지 않는 긍정적인 도전 정신을 가지고 맡은 업무에 대한 책임감이 강한 성격입니다.
첫 번째 단점으로는 상대방의 부탁을 쉽게 거절하지 못하는 것입니다.
단점을 극복하기 위해 거절할 때 상대방의 기분이 나쁘지 않게 거절하는 방법을 터득하려고 노력 중입니다.
두 번째 단점은 어려운 문제를 끝까지 해결하기 위해 깊게 생각하는 것입니다.
이러한 점을 극복하기 위해 목표를 정확히 하고 우선순위를 정하여 정말 필요한 사항에 초점을 맞춰 진행하고 있습니다. 또한, 시간제한을 설정하여 효율적으로 시간을 사용하기 위해 노력하고 있습니다. 그러나 어려운 문제를 해결하려고 할 때 많은 시간을 사용하게 되지만 그 과정에서 많은 정보를 추가로 얻는 장점 또한 있습니다. 이러한 점들을 효율적으로 활용하여 단점을 극복하기 위해 노력하고 있습니다.