요즘 코딩의 위상은 ‘21세기 영어’라고 해도 과하지 않은 것 같습니다. 모든 산업군이 디지털 전환에 박차를 가하고, 기업들은 개발자를 못 구해서 난리죠. 그런데, 코딩이란 도대체 무엇일까요?
이번 아티클은 코딩에 대해 '뭘 모르는지 모르는' 분들을 위한 가이드입니다. 코딩의 의미에서 출발해 개발자의 세상을 엿본 다음, 코딩을 어디서부터 배우면 좋을지 살펴봅니다.
지금 무엇으로 이 글을 읽고 계신가요? PC? 스마트폰? 형태는 조금씩 다르지만, 컴퓨터로 보고 계실 것 같습니다. 여기에서부터 시작해 보죠.
컴퓨터는 복잡해 보이지만, 결국엔 여러 부품들을 모아둔 기계들의 집합체입니다. 이 기계들을 제어하기 위해 필요한 것이 운영체제입니다. 컴퓨터와 소통하게 만들어주는 기반이죠. 윈도우, 갤럭시의 안드로이드가, 아이폰의 iOS같은 것들이 모두 운영체제입니다. 그리고 이 운영체제에 명령을 내리는 행위가 바로 코딩입니다.
프로그래밍이라는 말도 많이 들어보셨을 텐데요, 코딩과 동의어로 봐도 큰 무리는 없습니다. 엑셀, 파워포인트 같은 프로그램은 결국엔 동일하게 작동하도록 미리 짜둔 코드의 집합이기 때문입니다. 코딩이란 결국 프로그램을 짜는 일이므로, ‘코딩=프로그래밍’으로 이해해도 큰 무리는 없는 것이죠. 뭐 하냐고 물었을 때 ‘요리한다’고 답하는 것과, ‘밥한다’고 답하는 것이 크게 차이 나지 않는 것처럼요.
사람들이 영어, 중국어, 프랑스어 등 다양한 언어로 소통하듯이, 컴퓨터와 사람 사이에도 다양한 언어가 존재합니다. 이를 프로그래밍 언어라고 합니다. 운영체제에 명령을 내리는 것이 코딩이라면, 프로그래밍 언어는 그 명령을 어느 나라말로 할 것인지에 관한 이야기라고 보시면 됩니다.
프로그래밍 언어를 사용해서 운영체제에 명령을 내릴 때, 반복되는 명령을 재사용 가능하게 저장해둔다면 작업의 효율이 올라가겠죠. 그래서 등장한 한 것이 프레임워크입니다. 웹 개발을 보다 편하게 할 수 있게 도와주는 도구인 셈이죠. 각각의 프로그래밍 언어마다 널리 쓰이는 프레임워크가 있는데요, 예를 들면 java라는 프로그래밍 언어엔 ‘스프링'이라는 프레임워크가 있는 식입니다.
프레임워크를 사용하면 뼈대는 그대로 사용하고 비즈니스 로직과 관련된 부분만 추가적으로 구현하면 되기 때문에 빠른 개발이 가능하죠. 관리 및 테스트가 용이하다는 것도 장점입니다. 개발자가 되기 위해선 프로그래밍 언어뿐만 아니라 프레임워크도 능숙하게 다룰 수 있어야 합니다.
코딩이 무엇인지 알았으니 이제 개발자의 세상을 엿볼까요. 게임에서 캐릭터를 키울 때 먼저 직업을 선택하고, 그 직업 안에 또 다른 세부 직업들이 있듯이 개발자라는 직업 내에도 ‘전직 트리'가 있습니다. 대표적인 구분법이 백엔드와 프론트엔드죠.
프론트엔드는 유저들의 눈에 보이는 부분을 뜻합니다. 자동차로 치면 외관에 해당되죠. 반면 백엔드는 프론트엔드를 제대로 돌아가게 만드는 부분입니다. 자동차로 치면 엔진, 식당으로 따지면 주방에 해당되는 부분입니다. 프론트엔드는 유저의 눈에 보이는 부분인 만큼, 불편한 점을 잘 찾아내거나 디자인 감각이 있으신 분에게 잘 맞을 수 있습니다. 추상적 논리를 체계화시키는 데 흥미를 느끼는 분이라면 데이터의 저장과 관리를 주로 다루는 백엔드가 잘 어울릴 것 같습니다.
프론트엔드와 백엔드를 둘 다 일정 수준 소화 가능한 개발자를 ‘풀스택'이라고 부릅니다. 취업을 목표로 한다면 백엔드와 프론트엔드 중 하나를 선택해 공부하는 편이 더 낫겠지만, 창업이나 외주를 준비하고 있다면 풀스택 개발자를 목표로 삼는 것도 좋은 전략입니다. 처음 코딩을 배우기 시작했을 땐 내가 어떤 직군에 더 흥미를 느끼는지 알 수 없기 때문에 프로젝트를 통해 전 과정을 경험해 보는 것이 중요합니다.
🔍프론트엔드와 백엔드, 개발 분야에 따른 언어를 조금 더 알고 싶다면
이제 여러분은 코딩에 대해 무엇을 모르고 있는지를 알게 되었습니다. 무엇을 궁금해하면 좋을지를 깨닫는 것은 배움의 첫 단계이기도 하죠. 그렇다면, 코딩을 배우면 무엇이 달라질까요?
오랫동안 품고 있었던 아이디어를 웹사이트나 앱으로 구현해낼 수도 있고, 단순 반복 작업을 자동화해서 야근에서 탈출할 수도 있습니다. 개발자로 취업해 고액 연봉의 주인공이 될 수도 있고요. 이번 단락에선 스파르타코딩클럽의 시그니쳐 강의들을 살펴봅니다. 코딩을 통해 새로운 기회를 꿈꾸고 있다면 아래 커리큘럼이 참고할 만한 로드맵이 되어 줄 것입니다.
코딩에 입문하고 싶은 비전공자라면 웹개발 종합반을 먼저 듣는 것을 추천합니다. 앞서 말했듯이, 처음 코딩을 배우기 시작했을 땐 내가 어떤 직군에 더 흥미를 느끼는지 알 수 없기 때문에 프로젝트를 통해 전 과정을 경험해 보는 것이 중요합니다. 웹개발 종합반은 직접 웹사이트를 만들어보며 프론트엔드에서 백엔드까지 한 번에 경험해 보며, 그 과정에서 ‘코딩의 근육'을 기르는데 집중하는 커리큘럼입니다. ‘프로그래밍 언어계의 영어’라고 할 만한 파이썬의 기초 문법을 실습을 통해 익혀본다는 점도 매력적이죠. 코딩의 ‘ㅋ'자도 모르는 왕초보를 위한 검증된 튜토리얼을 찾고 있다면 웹개발 종합반 강의를 살펴보는 걸 추천드립니다.
웹개발 종합반을 듣고 나면 선택지가 넓어집니다. 앱으로 구현하고 싶은 아이디어가 있다면 앱개발 종합반을 이어서 듣는 걸 추천드립니다. 앱개발 종합반에선 iOS, 안드로이드 둘 다 배포가 가능한 프레임워크인 플러터(flutter)*를 다루기 때문에 앱 개발의 전체 과정을 이해하기 적합합니다. 이후 둘 안드로이드나 iOS 중 한 운영체제에 특화된 개발자가 되고 싶으시면 Kotlin이나 Swift 수업을 수강하시면 됩니다.
백엔드와 프론트엔드 중 하나를 정하고 나면 해당하는 프레임워크를 배워볼 차례인데요, 프론트엔드 쪽에 관심이 생긴다면 React를, 백엔드 쪽에 관심이 생긴다면 Spring을 공부해 보는 걸 추천합니다. 알고리즘과 각 언어별 문법 공부도 함께하며 기본기까지 쌓는다면 금상첨화겠죠. 보다 체계적인 과정을 통해 빠른 시일 내에 개발자로 거듭나고 싶다면 부트캠프 항해 99도 고려해 볼 만한 선택지입니다.
추가로, 지금 당장 직장 생활에 도움이 될 만한 데이터 분석 역량을 키우고 싶으시다면 SQL을 배워보는 걸 추천합니다. SQL은 데이터베이스에 저장된 데이터를 처리하는데 필요한 프로그래밍 언어입니다. SQL을 다룰 줄 알면 개발자에게 손 벌리지 않고도 서버에서 데이터를 뽑아낼 수 있는 것은 물론이고 엑셀 노가다에서도 해방될 수 있죠.
정리해 보자면, 코딩의 세계에 입문하고 싶은 비전공자라면 먼저 웹개발 종합반을 듣는 걸 추천합니다. 이후 개발자가 되고 싶은 마음이 든다면 프레임워크를 조금 더 깊이 배워보세요. 현업에 즉시 적용 가능한 데이터 역량을 쌓고 싶다면 엑셀보다 SQL을 배우는 걸 추천합니다.
코딩은 현존하는 모든 도구 중 가장 커다란 영향력을 만들어낼 수 있는 도구입니다. '남일'로만 내버려 두기엔 너무나 아까운 일이죠.
‘누구나 큰일 낼 수 있어’. 팀스파르타의 모토입니다. 우리는 누구나 자기가 쌓아온 삶에 소프트웨어 역량을 더하면 '큰일'을 만들어 낼 수 있다고 믿습니다. 스파르타코딩클럽은 단순한 인터넷 강의 서비스가 아닙니다. 큰일 낼 사람들의 커뮤니티입니다. 눈빛 반짝이는 사람들이 모여 만드는 보다 재밌고 유쾌한 세상에 합류해 보세요.
이제 당신이 모르고 있는 것은, 당신이 앞으로 낼 '큰일'입니다.
누구나 큰일 낼 수 있어
스파르타코딩클럽
CREDIT
글 | 이상우 팀스파르타 에디터