인턴 기간 : 18.6.26 ~ 18.8.24

1.인턴십을 수행한 회사소개 및 업무 설명

셀로코는 IoT 단말을 사용해 얻은 환경 정보와 영상 정보를 토대로 다양한 서비스를 제공하는 IoT 기업입니다. 8051 MCU를 기반으로 하는 SU5000 SoC를 자체개발 하였고, 이를 사용한 SenTerm이라는 IoT 단말을 개발하였습니다. SenTerm은 조도 센서, PIR 센서, 가속도센서와 카메라가 기본적으로 탑재되어 있고, 필요에 따라 온습도 센서와 CO2, 가연성 물질을 탐지하는 공기질 센서를 추가로 부착할 수 있습니다. 셀로코는 SenTerm을 활용하여 사무실 보안인 iSafe, 주차장 주차관제 및 안내와 같은 iParkings라는 서비스를 제공하고 있습니다. 여기서 제가 맡은 업무는 후임 근무자가 SenTerm에 대해 쉽게 공부하고 이해할 수 있도록 SenTerm 교육자료를 만드는 것과 iSafe와 iParkings의 데모 설치였습니다.

SenTerm 교육자료를 만들기 위해서는 SenTerm에 대한 모든 것을 알아야 했습니다. 회로도와 데이터시트를 참고하며 SenTerm의 하드웨어적인 구조와 동작 원리를 알아갔습니다. 또한, 펌웨어 코드를 보면서 SenTerm의 동작 프로토콜을 숙지하고 SenTerm 관제 프로그램인 SelCam과 SenView의 연동 원리 또한 숙지해야 했습니다. 터미널을 이용해서 외부 센서를 추가해 SenTerm에서 사용할 수 있도록 해야 했습니다. 2주간 학습한 내용과 경험을 토대로 후임자가 공부할 때 자세히 알아야 하는 내용을 교육 자료에 넣었습니다. 특히 제가 공부하면서 이해가 되지 않거나 어려웠던 내용을 사진자료와 함께 자세히 넣어 교육자료를 제작했습니다.

iSafe와 iParkings의 데모 설치는 셀로코가 있는 장원 빌딩에서 이루어졌습니다. iSafe는 건물 내에서 사람의 움직임을 감지하여 LED 조명의 조도를 조절해주고, 사람이 들어오면 SenTerm으로 사진을 찍어 건물 출입자 사진을 저장하는 시스템입니다. iParkings는 초음파 모듈로 주차된 차량을 감지하고 이를 FND와 LED로 주차 가능 유무와 주차된 차량 수를 표기하는 시스템입니다. iSafe 설치를 위해 설치 위치까지 배선을 하고 LED 등을 설치해 테스트하는 작업을 하였습니다. 처음으로 전원으로부터 전선을 연결하면서 현장 설치 경험과 지식을 쌓을 수 있었습니다. 특히, iParkings를 설치해보면서 현장 작업을 고려하여 제품을 설계의 중요성을 직접 체험할 수 있었습니다. 천장에 LED 등을 고정하는 Race way에 LED 등을 설치하는 것이 불편해 힘들었기 때문입니다. 설치를 조금 더 쉽게 할 수 있도록 설계하였지만 이상과 현실은 다르다는 것을 알 수 있었습니다. 또한, 400여개가 넘는 전자부품을 테스트하면서 Quality assurance의 중요성도 알 수 있었습니다. 시스템 설치에 사용할 부품을 완벽하게 체크하고 시스템이 제 기능으로 동작할 수 있도록 끊임없이 테스트하고 체크해야 한다는 것을 볼 수 있었습니다.

2.인턴십에 선발되기 위해서 필요한 준비가 무엇인가?

학부에서 배웠던 수업의 이해와 응용능력이 필요합니다. 컴퓨터 구조에 대한 이해가 어느정도 필요하고, 특히 임베디드 프로세서 응용 수업에 대한 지식이 반드시 필요로 합니다. SU5000을 사용해 펌웨어를 제작, 수정하는데 이 내용이 임베디드 프로세서 응용 수업에서 배운 내용과 매우 흡사합니다. 기초적인 임베디드 지식과 컴퓨터 구조 지식이 바탕이 되어야 회사의 제품을 이해할 수 있습니다. 함께 근무한 인턴 중 1명은 전기, 전자 공학을 전공하였는데, 앞서 말한 지식을 거의 갖추지 않았습니다. 때문에 근무기간 내내 SenTerm에 대해 이해하기 어려워했고 저에게 질문하며 배워야 했습니다. 더욱이 중소기업은 직원의 수가 적고 일이 많아 바쁘기 때문에 인턴을 전담하여 가르칠 수 없습니다. 스스로 필요한 내용을 찾아 공부해야 하고 이를 위한 기본 지식 토대가 형성되어 있어야 합니다. 학부에서 배운 내용을 끊임없이 복습하여 온전한 지식을 갖추고 있어야 합니다.

3.인턴십을 통해서 어떤 유익을 얻었나?

저는 처음에 중소기업에 대한 부정적인 시각이 많았습니다. 기술력이 부족하다거나, 과다한 업무를 부여한다거나, 중소는 중소일 수 밖에 없는 이유가 있다 라는 생각이 많았습니다. 하지만 막상 중소기업에서 인턴을 해보니 이러한 생각에 변화가 생겼습니다. 먼저 중소기업이라고 해서 기술력이 부족하지만은 않았습니다. 셀로코의 경우 자체 SoC를 개발하였기 때문에 이를 응용해 다양한 IoT 단말을 만들어 낼 수 있었습니다. 다채로운 시스템의 구상과 응용이 가능했기 때문에 이는 충분히 경쟁력 있는 요소였습니다. 업무도 생각보다 과하지는 않았습니다. 평소에는 정시 퇴근을 보장해 주었습니다. 기한 내에 시스템을 설치하고 테스트해야 하는 작업 시즌에는 업무가 늦게 끝나는 경우도 있었지만 저녁식사를 제공하고 익일 조기 퇴근을 허락했기 때문에 과다할 정도의 초과근무는 없었습니다. 무엇보다 회사의 분위기가 달랐습니다. 근무 여건에서 개인 사정을 존중해주고 서로를 챙기고 배려해주는 가족 같은 분위기였습니다. 12명의 직원들이 함께 일하면서 서로 도와줄뿐만 아니라 취미를 공유하고 함께 어울리는 정말 가족 같은 분위기였습니다. 사장님도 직원들과 자신의 비전을 함께 공유하고 다과와 식사를 통해 지원을 아끼시지 않았습니다. 회사 경험을 통해 중소기업에 대한 부정적 이미지를 바꿀 수 있는 기회였습니다.

 

실제 업무에 참여하고 다양한 작업을 하면서 여러가지 지식과 경험을 얻을 수 있었습니다. 저는 컴퓨터공학을 1전공으로 하였기 때문에 전자공학의 비중이 크지 않습니다. 때문에 회로도를 보고 데이터시트를 참고하여 펌웨어를 만드는 경험이 많지 않았습니다. 하지만 인턴을 하며 회로도와 데이터시트를 반드시 봐야만 했고 이를 공부하면서 회로도와 데이터시트를 보고 응용할 수 있게 되었습니다. 또한 시스템 설치 프로세스에 참가하여 업무가 분배되고 진행되는 지 알 수 있었습니다. 설치 작업을 통해 배선 작업 지식, 도구 사용법을 알게 되었고 작업도중 발생하는 문제에 대해 동료들과 상의하여 대처하는 의사소통 능력과 문제해결 능력도 키울 수 있었습니다.

 

4.대학생활을 어떻게 해야 앞으로 사회에서 좋은 개발자로 성장할 수 있을 것 같은가?

먼저, 학부에서 배우는 기초 전공지식을 잘 숙지해야 합니다. 컴퓨터 구조, 자료구조와 같은 수업들은 대부분 2학년에 배우게 됩니다. 더욱이 컴퓨터 구조 같은 수업은 직접적으로 사용하는 지식이 아니기 때문에 3,4학년이 되면 잊어버리는 경우가 생깁니다. 하지만 나중이 되면 이러한 지식은 알게 모르게 사용하게 되고 전제가 되는 경우가 많습니다. 특히 임베디드 프로그래밍에서 레지스터, 메모리를 사용한 프로그래밍은 기본적이기 때문에 컴퓨터 구조의 기초를 알고 있어야 합니다. 저 같은 경우 컴퓨터 구조를 5년전에 수강했기 때문에 전공 지식이 잘 생각나지 않았습니다. 때문에 메모리 구조와 레지스터에 대한 기초를 다시 공부해야 했고 그제서야 펌웨어 프로그래밍을 수월하게 할 수 있었습니다. 기초 전공 지식은 공부 할 때는 솔직히 어디에서 쓰이는지 감이 잘 안 옵니다. 하지만 심화 과정을 하게 되면 반드시 응용하기 때문에 숙지를 잘 해두어야 합니다.

 

그 다음에는 다양한 영역을 공부하고 경험하길 바랍니다. IT에는 정말 다양한 영역이 있습니다. 웹, 모바일, IoT, 빅데이터, AI, Computer Vision등 여러 분야가 있습니다. 저는 최대한 다양한 분야를 공부하고 경험하길 바랍니다. 여러 영역 중에서 자신이 정말 좋아하고 잘할 수 있는 분야를 찾길 바랍니다. 저는 모바일, IoT, AI, 영상처리를 경험했고 임베디드를 응용한 IoT와 영상AI에서 흥미를 많이 느꼈습니다.  프로젝트를 수행하고 논문을 써보면서 앞으로도 해당 분야에 대해 더 공부하고 진로를 삼고 싶다는 생각을 가지게 되었습니다. 영상 AI는 조금 늦게 접하여 많이 아쉽습니다. 이 분야를 조금 더 일찍 접했더라면 더 많이 공부하고 다양한 프로젝트를 할 수 있었을 텐데 그러지 못해 많이 아쉽습니다. 학부수업만이 아니라 다양한 분야에 관심을 갖고 도전해보면서 자신이 원하는 분야를 찾아 전문성을 키운다면 좋은 개발자가 될 수 있을 것이라고 생각합니다. 그리고 자신이 원하는 분야가 아닐지라도 경험하는 것도 중요하다고 생각합니다. 항상 자신이 원하는 것만 할 수는 없습니다. 자신이 생각했던 것과는 다른 분야에서 일할 수 있게 될 수 있고 그런 업무를 받을 수도 있습니다. 적어도 그 일을 다시 시작할 수 있을 정도의 지식과 준비는 되어 있어야 한다고 생각합니다. 실제로 셀로코에서 제게 모바일 어플을 만들어 줄 수 있냐고 물었지만 모바일 프로그래밍을 수업 이후 완전히 놓고 있었기 때문에 업무를 맡을 수 없었습니다. 모든 일에 전문가가 되기는 어렵지만 적어도 다시 입문할 수 있을 정도의 지식과 준비가 되어 있어야 합니다. 그렇지 않으면 고생하는 것은 본인의 몫이 됩니다.

5.후배들에게 추천의 말

현장실습을 신청할 때 보면 참 다양한 기업들이 있습니다. 한번쯤은 들어본 기업도 있을 것이고 처음 보는 기업도 있을 것입니다. 만약 자신이 관심 있는 분야의 기업이 있다면 해당 기업을 조사해보고 내가 경험해보고 싶은 분야가 맞다면 실제로 기업이 어떻게 일하고 어떤 지식을 활용하는지 직접 눈으로 확인하고 경험해야 합니다. 학부에서 배운 지식과 학교에서 하는 프로젝트에는 한계가 있습니다. 학생수준에서 벗어나 실제 현장을 배우는 것을 추천합니다. 물론 인턴 활동이 기대와 미리 조사한 내용과 다를 수도 있습니다. 이것은 인턴 활동을 하는 본인에게 달렸다고 생각합니다. 저는 약 3주간 SW와는 아무 상관 없는 LED와 센서 배선작업을 했습니다. 처음에 선을 끊고 연장하면서 프로그래머인 내가 왜 이런 작업을 해야 하는지 이해가 되질 않았습니다. 하지만 불편한 설치 작업을 통해 제품의 설계 및 디자인의 중요성을 몸으로 경험하였고 부정확한 결과를 수정하기 위해 여러 번의 재설치 작업을 하면서 QA의 과정과 중요성을 배울 수 있었습니다. 어떤 일이든 배우는 것이 있고 그것을 뽑아내는 것은 개인에게 달렸다고 생각합니다. 인턴은 학부에서는 배울 수 없는 것을 배우게 되어 있습니다. 3학년 ~ 4학년 1학기 동안 인턴을 해보는 것을 추천합니다. 특히 캡스톤 프로젝트를 인턴과 병행하면 좋습니다. 중소기업은 항상 인력난에 시달립니다. 해보고 싶은 것은 많으나 시도할 인력이 없는 경우가 많습니다. 중소기업과 산학협력 프로젝트를 하면서 자신이 해보고 싶었던 주제에 도전해보고, 기업에서 인턴을 하며 실무에서 어떤 과정으로 프로젝트가 진행되는지 배울 수 있는 좋은 기회가 될 것입니다. 거기서 얻은 성과물과 경력은 추후 취업 활동을 하는데 큰 도움이 될 것입니다.

18년 셀로코 인턴