코딩을 배워야 하는 이유

상하위 개념, 로직 익히기

by Cosmo

사회초년생 때 코딩 교육 플랫폼에서 일한 적이 있다. 초중고 학생들과 대학생 멘토를 연결해 주는 서비스였고, 구조는 단순했다. 학생이 무료 체험 수업을 한 번 듣고 나면 학부모에게 전화를 걸어 상담을 진행하고 결제를 유도하는 방식이었다. (원래는 서비스 운영 직무인데, 스타트업이라 영업까지 했다.)


시절에 나는 계속해서 같은 질문을 반복하게 됐다.

“왜 코딩을 배워야 할까?”


영업의 결과는 나름 성공적이었다. 6개월 동안 유료 활성화 회원수가 13명에서 120명이 넘게 되었다(=기존 재결제 + 신규 결제). 내가 말을 엄청 잘했다기보다는, 코로나 시기와 개발자 붐이라는 순풍 덕분이었다.


성과는 나쁘지 않았지만 한 가지 의문은 계속 남아 있었다.

"그래서 코딩을 배우면 진짜로 뭐가 좋을까?"


동료들과 이야기를 나눠보고 스스로도 많이 고민해 봤지만 나왔던 답은 늘 비슷했다. '문제 해결력, 컴퓨팅 사고력 등등'.

틀린 말은 아니지만 솔직히 완전히 와닿지는 않았다. 너무 추상적이었다. 내가 영업을 하면서도 스스로 완전히 설득되지는 않는 느낌이었다. 그런데 시간이 지나 이쪽 세계를 조금 더 이해하게 되면서 그 질문에 대한 답이 조금씩 보이기 시작했다.




1. 코딩은 ‘상하위개념’을 보는 눈을 만든다

코딩은 결국 구조를 설계하는 일이다. 이걸 아래 사례를 통해서 체감하게 되었다.

첫 번째는 내가 '웹 크롤링'을 하면서였다. 예전에는 아무 생각 없이 보던 URL이 사실은 굉장히 체계적인 구조라는 걸 알게 됐다. 예를 들어 뉴스 검색 페이지를 보면 주소 끝에 'page=1' 또는 'start=16' 같은 값이 붙는다. 페이지 번호 혹은 게시글 번호다.

https://search.naver.com/search.naver?nso=&page=3&query=ChatGPT&sm=tab_pge&ssc=tab.ur.all&start=16

(*게시글을 쭉 리스트업 했을 때 첫 번째 항목이 1번. 위 url은 16번째 항목부터 나온다는 의미)


두 번째는 utm 값을 설정할 때였다. 유저가 어떤 경로로 들어왔는지를 체크하기 위해 URL에 두는 방식인데, 잘 살펴보면 'utm=OOO' 같은 패턴으로 되어 있다. 웹 상에서 광고를 클릭했을 때 나오는 URL을 살펴보면 발견할 수 있을 것이다.


서비스 구조도 마찬가지다. 대부분 URL은 메뉴 / 서비스 / 기능 같은 계층 구조를 가진다. 서비스가 체계적으로 운영되려면 애초에 체계적으로 설계되어 있어야 하기 때문이다.


이걸 보면서 깨달았다.

이 세계는 구조로 움직인다.

그리고 코딩은 그 구조를 읽는 언어였다.



2. 코딩은 ‘로직’을 만드는 사고를 배우는 일이다

코딩을 처음 배우면 if, while 같은 문법을 접한다. 처음에는 단순해 보인다. 하지만 실제로는 세상을 작동시키는 규칙에 가깝다.

코딩 수업에서 미로 게임을 만드는 실습을 할 때 그걸 체감했다. 플레이어가 벽에 닿으면 시작 위치로 돌아가는 기능이 있었다. 사용자 입장에만 익숙했던 나는 그냥 이렇게 생각했다. “벽에 닿으면 다시 시작하네.” 하지만 시스템 입장에서는 달랐다. "벽에 닿으면 → 시작 위치로 이동한다"라는 조건이 만들어져 있기 때문이다.

신호등도 같은 원리다. 누군가가 계속 수동으로 조작하는 것이 아니라 일정 시간이 지나면 불빛이 바뀌도록 반복문이 걸려 있을 뿐이다. 24시간 돌아가는 신호등도 사실 몇 줄의 코드로 구현된다.


생각해 보면 우리의 일상 언어도 비슷하다. “만약 ~~ 하면”, “~~ 라면” 이러한 일상의 언어들은 '조건'을 의미한다. 이게 코드로 구현되면, 현실의 시스템을 움직이게 된다.



3. 코딩은 개발자만을 위한 기술이 아니다

정리해 보면 코딩을 배운다는 것은 단순히 개발자가 되기 위해서만은 아니다.

코딩은

구조를 이해하는 방법을 배우는 것이고

조건(규칙/패턴)을 설계하는 방법을 배우는 것이며

복잡한 문제를 단계적으로 나누는 사고를 배우는 것이다.


위와 같은 사고방식은 개발자가 아니더라도 다양한 영역에서 도움이 된다.




코딩을 왜 배운다고 생각하세요?라는 질문의 답변이

과거에는 “문제 해결력”, “컴퓨팅 사고력”이라고 생각했다.

그러나 그 단어들이 나에게 크게 와닿지 않았다.


그런데 시간이 지나니 그 말들이 조금씩 이해되기 시작했다.

아마 코딩을 배우는 이유는 결국

세상을 조금 더 구조적으로 이해하게 되기 때문이 아닐까.

그리고 그건, 생각보다 훨씬 많은 영역에서 필요하다.

매거진의 이전글1년 생각한 회사, 4년 넘게 다니게 된 계기