내가 자율주행 기술에 대해 관심을 가지고, 자율주행을 개발하는 개발자가 되어서 세상에 보탬이 되고 싶다는 생각을 가진 것이 벌써 2년 정도 지난 것 같았다. 지금 생각해 보니, 나는 매우 안일했던 것 같기도 하다. 항상 어떻게 공부를 시작해야 하는지 찾아봤었지만, 그때 당시에는 아무리 정보를 얻고, 찾아보아도 내가 체감하고 이해할 수 없었던 것 같다. 하지만, 지금 개발공부를 몰입하여 시작한 후 찾아본 정보에는 정말 많은 것들이 담겨 있었다는 것을 깨달았다. 이런 것을 보면 내가 성장을 했구나 은근히 뿌듯하다.
먼저, 자율주행 개발은 현재 연구가 진행 중인 분야이기 때문에 딱 하나의 직업이름으로 정의되는 부분은 아닌 것 같다. 그렇기 때문에 국내정보에서는 많은 정보를 얻을 수 없었던 것이다.
이제 어떤식으로 정보를 찾아야 하는지 조금은 알게 된 나는 아래의 링크 article를 찾을 수 있었다.
https://aithority.com/guest-authors/how-to-get-started-as-an-ai-developer-for-self-driving-cars/
위 글에서, 자율주행은 무엇이고 시장성과, 자율주행 개발을 위해서는 어떠한 프로그래밍 스킬들을 알고 있어야 하는지 잘 정리해 놓았다.
이 글을 읽으면서, 전에는 두리뭉실한 구름처럼 머릿속에서 떠다니던 정보들이 하나씩 차례대로 정리가 되었다.
자율주행 개발을 위해서는 python, c++, Linux를 우선적으로 잘 다룰 수 있어야 한다. 웹 프로그래밍과는 다르게, 자율주행은 아주 빠른 속도로 이동하는 로봇을 제어하는 기술이니 임베디드 시스템에 대한 이해도와 숙련도가 높아야 하고, 로봇을 제어할 수 있는 환경 (ROS)등을 사용할 줄 알아야 한다.
두 번째로는, Machine Learning이다. 자율주행 시스템을 만들기 위해서는 새로운 문제와 데이터들은 계속 학습하고 업데이트해 주는 인공지능이 필요하기 때문에, 어찌 보면 인공지능 개발자가 자율주행 개발자도 될 수 있는 것이다.
조금 더 세부적으로는, 3D mapping, computer vision, sensing 등등 매우 많은 기술들이 접목되어 자율주행기술을 만들어낸다.
이렇듯, 자율주행 개발자가 되기 위해서는 정말 공부하고 익혀야 할 것이 너무너무 많고 어렵겠지만, 하나씩 기술을 익히고 내 것으로 만들어 나간다면, 언젠가 나도 사회에 이바지하고 있는 한 엔지니어가 될 수 있을 거라고 생각한다. 너무 설렌다 ㅎㅎㅎ
만약 나와 같은 꿈을 꾸고, 시작하시는 분들이 이 글을 읽고 내가 경험했던 막막함이 조금은 줄어든다면 너무 좋겠다.