IRIS 2기 구성원으로 프로젝트와 학습 활동을 진행하고 있습니다.
선린인터넷고등학교 정보보호과에 입학한 뒤, 내가 고등학교 생활에서 가장 해보고 싶었던 것 중 하나는 단순히 프로그래밍을 공부하는 데서 끝나는 것이 아니라, 내가 배운 기술을 직접 사용해서 실제로 작동하는 무언가를 만들어 보는 것이었다. 중학교 때까지는 대부분 혼자 강의를 보거나 문제를 풀면서 프로그래밍을 공부했기 때문에, 고등학교에서는 다른 사람들과 함께 아이디어를 내고 프로젝트를 만들어 보는 경험을 꼭 해보고 싶었다.
나는 동두천 교육지원청에서 AI 챌린지 수업을 들으면서 AI에 대한 관심을 가지게 되었고, 추가로 내 관심사인 무기와 AI를 융합한 AI 무기체계 개발 연구원이 되고 싶다는 꿈을 꾸게 되었다. 그리고 IoT에 대한 지식도 무기체계 개발에 도움이 될 것 같아 관심이 갔다. 그런 점에서 AI & IoT 동아리인 IRIS는 내가 관심을 가지고 있던 분야와 가장 잘 맞는 동아리라고 생각했다.
내가 처음 프로그래밍에 관심을 가지게 된 계기는 초등학교 때 접한 로블록스였다. 게임을 하다 보니 자연스럽게 “이건 어떻게 만들어졌을까?”라는 궁금증이 생겼고, 중학생부터 개발이라는 분야에 관심을 가지기 시작했다. 이후 프로그래밍 언어라는 것이 있다는 것을 알게 되었고, 유튜브의 ‘나도코딩’ 강의를 보면서 파이썬을 처음 공부했다. 처음에는 변수, 조건문, 반복문 같은 기본적인 문법을 배우는 것만으로도 재미있었지만, 점점 단순히 강의를 따라 치는 것보다 내가 직접 문제를 해결하고 프로그램을 만들어 보는 과정이 더 흥미롭게 느껴졌다.
그래서 백준과 코드업에서 알고리즘 문제를 풀면서 논리적으로 생각하는 연습을 했고, Cos Pro 3급 자격증도 취득하며 기본적인 프로그래밍 실력을 확인해 볼 수 있었다. 하지만 문제를 푸는 것만으로는 조금 아쉬웠다. 실제 서비스나 프로그램은 알고리즘 문제처럼 정해진 입력과 출력만 있는 것이 아니고, 여러 기술이 함께 연결되어 하나의 결과물이 만들어지기 때문이다. 그래서 직접 프로그램을 하나 만들어 보고 싶다는 생각으로 ‘Supernova’라는 채팅 앱을 개발하게 됐다.
Supernova를 만들면서 처음에는 단순히 메시지를 보내고 받는 기능을 구현하면 될 것이라고 생각했다. 하지만 개발을 시작하고 보니 생각보다 알아야 할 것이 많았다. 사용자가 입력한 메시지가 어떤 방식으로 서버에 전달되는지, 서버는 그것을 어떻게 처리하는지, 다시 다른 사용자에게 어떤 방식으로 전달되는지 등을 이해해야 했다. 그 과정에서 자연스럽게 네트워크 통신, HTTP 프로토콜, 웹 서버의 동작 방식을 찾아보며 공부하게 됐다. 오류가 발생했을 때도 단순히 코드를 다시 작성하기보다는 어디에서 문제가 생겼는지 하나씩 확인하고 원인을 찾으려고 했다.
이 경험을 통해 내가 가장 크게 느낀 것은 개발은 직접 만들어 봐야 제대로 배울 수 있다는 점이었다. 강의나 책으로 볼 때는 이해했다고 생각했던 내용도 실제로 구현하려고 하면 생각대로 동작하지 않는 경우가 많았다. 반대로 처음에는 전혀 몰랐던 내용도 필요해서 찾아보고, 직접 적용하고, 오류를 고치다 보면 어느 순간 자연스럽게 이해되는 경우도 있었다. 그래서 이후에는 새로운 기술을 배울 때도 “이걸 어디에 사용할 수 있을까?”, “직접 만들어 본다면 어떤 식으로 구현할 수 있을까?”를 생각하게 됐다.
IRIS에 관심을 가지게 된 결정적인 계기는 선린인터넷고 소프트웨어 나눔 축제에서 참여했던 IoT 정찰병 프로그램이었다. 당시 프로그램에 참여하면서 라즈베리파이가 센서나 여러 장치를 제어하고, 데이터를 처리하는 중심 역할을 할 수 있다는 것을 배웠다. 이전까지 IoT라는 단어는 많이 들어봤지만 실제로 어떤 장치들이 연결되고 어떤 원리로 동작하는지는 잘 알지 못했다. 그런데 직접 장치를 보고 원리를 설명받으며 체험해 보니 IoT라는 기술이 훨씬 구체적으로 느껴졌다.
특히 인상 깊었던 점은 컴퓨터 안에서만 동작하던 코드가 실제 현실의 장치를 움직일 수 있다는 것이었다. 내가 그동안 작성했던 프로그램들은 대부분 화면 안에서 결과를 출력하거나 데이터를 처리하는 형태였다. 하지만 IoT에서는 센서가 주변 환경의 정보를 받아들이고, 프로그램이 그 데이터를 판단한 뒤 실제 장치를 동작시킬 수 있었다. 이 과정을 보면서 소프트웨어가 현실 세계와 직접 연결될 수 있다는 점이 굉장히 흥미롭게 느껴졌다.
그리고 기술만큼이나 기억에 남았던 것은 IRIS 선배들의 분위기와 설명 방식이었다. 단순히 결과만 보여주는 것이 아니라 왜 그렇게 동작하는지 원리를 설명해 주고, 직접 해볼 수 있도록 도와주는 모습이 인상적이었다. 모르는 것을 질문하기 어렵지 않은 분위기였고, 서로 아이디어를 이야기하면서 프로그램을 진행하는 모습도 재미있어 보였다. 그때부터 “나도 고등학교에 입학하면 이런 동아리에서 활동해 보고 싶다”는 생각을 하게 됐다.
나는 IRIS에서 특히 AI와 IoT를 따로 배우는 것이 아니라 서로 연결해서 활용해 보고 싶다. 예를 들어 센서가 주변 환경의 온도나 움직임, 거리 같은 정보를 수집하고, 프로그램이 그 데이터를 처리한 뒤 AI가 상황을 판단해서 장치를 작동시키는 시스템을 만들어 보고 싶다. 아직은 구체적으로 어떤 프로젝트를 만들게 될지는 모르지만, 단순히 기능 하나만 구현하는 것이 아니라 여러 기술을 연결해서 하나의 완성된 시스템을 만들어 보는 경험을 해보고 싶다.
예를 들어 주변 환경을 감지해 위험 상황이나 특정 변화를 알려주는 IoT 장치, 카메라나 센서 데이터를 분석해 상황을 판단하는 시스템, 특정 조건에 따라 자동으로 동작하는 장치 같은 프로젝트도 만들어 보고 싶다. 이런 프로젝트를 직접 진행하다 보면 프로그래밍뿐 아니라 하드웨어 제어, 네트워크 통신, 데이터 처리, AI 모델 활용 등 여러 분야를 자연스럽게 함께 공부하게 될 것이라고 생각한다.
무엇보다 IRIS에서는 혼자 개발하는 것과는 다른 협업 경험도 많이 해보고 싶다. 혼자 프로젝트를 하면 내가 원하는 방식으로 빠르게 결정할 수 있다는 장점이 있지만, 내가 생각하지 못한 부분을 발견하기 어렵다는 단점도 있다. 반대로 여러 사람이 함께 프로젝트를 진행하면 서로 다른 아이디어가 나오고, 한 사람이 잘 모르는 부분을 다른 사람이 해결해 줄 수도 있다. 물론 의견이 맞지 않거나 역할을 나누는 과정에서 어려움이 생길 수도 있겠지만, 그런 과정까지 포함해서 실제 개발 프로젝트에서 중요한 경험이라고 생각한다.
물론 지금의 나는 AI나 IoT에 대해 깊은 지식을 가지고 있는 것은 아니다. 라즈베리파이나 센서를 자유롭게 다룰 수 있는 것도 아니고, AI 모델을 처음부터 직접 설계할 수 있는 수준도 아니다. 하지만 나는 모르는 기술이 나오면 직접 찾아보고, 오류가 발생하면 원인을 하나씩 확인하면서 해결해 나가는 과정 자체를 좋아한다. 처음부터 모든 것을 알고 있는 것보다 새로운 기술을 만나고, 시행착오를 겪으면서 점점 할 수 있는 것이 많아지는 과정이 개발의 재미라고 생각한다.
그래서 IRIS에 들어가게 된다면 내가 이미 알고 있는 것을 보여주는 것보다 얼마나 많이 배우고, 얼마나 많이 직접 시도해 볼 수 있는지가 더 기대된다. 선배들에게 모르는 것을 배우고, 친구들과 아이디어를 나누고, 내가 알고 있는 부분이 있다면 다른 사람에게도 공유하면서 같이 성장하고 싶다. 프로젝트에서 내가 맡은 역할은 끝까지 책임지고, 필요하다면 처음 접하는 기술이라도 직접 공부해서 팀에 도움이 되는 사람이 되고 싶다.
장기적으로 나는 AI 기술을 활용하는 개발자가 되고 싶다. 특히 관심을 가지고 있는 분야 중 하나는 방산 분야에서 AI가 융합된 시스템을 개발하는 것이다. 미래의 무기체계나 국방 시스템에서는 단순히 하드웨어 성능만 중요한 것이 아니라, 센서에서 들어오는 많은 데이터를 빠르게 처리하고 상황을 판단하는 AI 기술도 점점 중요해질 것이라고 생각한다. 아직 학생인 내가 구체적으로 어떤 일을 하게 될지는 알 수 없지만, AI와 IoT처럼 소프트웨어와 실제 장치가 연결되는 기술을 경험하는 것은 앞으로 내가 하고 싶은 분야와도 분명 연결되어 있다고 생각한다.
그런 의미에서 나에게 IRIS는 단순히 학교생활을 위해 선택하는 동아리가 아니다. 지금까지 혼자 공부해 왔던 프로그래밍을 실제 프로젝트, 하드웨어, AI, 그리고 협업으로 확장해 볼 수 있는 기회라고 생각한다. 지금까지는 대부분 내가 필요하다고 생각한 것을 혼자 찾아 공부했다면, IRIS에서는 나보다 먼저 다양한 경험을 해본 선배들과 같은 관심사를 가진 친구들에게 배우면서 더 넓은 시야를 가질 수 있을 것 같다.
그리고 개인적으로는 결과물만큼이나 그 과정도 중요하게 남았으면 좋겠다. 프로젝트를 처음 기획할 때 어떤 아이디어를 냈는지, 개발하면서 어떤 문제가 발생했는지, 팀원들과 어떻게 해결했는지, 완성한 뒤에는 무엇이 아쉬웠는지까지 기록해 두고 싶다. 그렇게 하나씩 경험을 쌓다 보면 나중에는 단순히 “이 기술을 배웠다”가 아니라 **“이 문제를 해결하기 위해 이 기술을 사용했고, 실제로 이런 결과물을 만들었다”**고 말할 수 있을 것 같다.
고등학교 생활이 끝났을 때 나는 단순히 **“IRIS라는 동아리에서 활동했다”**고 기억하고 싶지는 않다. 대신 **“IRIS에서 이런 프로젝트를 만들었고, 이 문제 때문에 며칠 동안 고민했고, 결국 팀원들과 해결했고, 그 과정에서 이런 기술을 배웠다”**고 말할 수 있었으면 좋겠다.
아직 배워야 할 것은 정말 많지만, 그렇기 때문에 오히려 더 기대된다. IRIS에서 많이 배우고, 많이 실패해 보고, 많이 만들어 보면서 지금보다 훨씬 성장한 개발자가 되고 싶다. 그리고 몇 년 뒤 지금 이 글을 다시 봤을 때, 여기 적어 둔 것들을 실제로 하나씩 해냈다고 말할 수 있었으면 좋겠다.