티스토리 뷰

728x90
반응형

코딩 입문자에게 가장 어려운 점은 무엇일까?

 

코딩을 처음 배우는 사람들에게 어려운 점이 뭐냐고 물어보면, 아마도 사람마다 각자 다르게 대답할 거예요. 어떤 사람은 영어가 어려웠다고 하고, 또 다른 사람은 에러 메시지를 볼 때마다 좌절했다고 말하죠. 저는 개발을 독학으로 시작했고, 주변에도 비전공자로 개발에 입문한 사람들이 많은 편이에요. 그래서 이번 글에서는 개인적인 경험과 주위 사람들의 사례를 바탕으로 비전공자 입장에서 특히 많이 혼란스러워하는 세 가지 어려움에 대해 이야기해보려고 해요. 혹시 지금 막 코딩을 시작했거나, 막막함을 느끼고 있다면 조금이나마 도움이 되길 바라요.

 

 

프론트엔드? 백엔드? 데이터베이스? 배포?

코딩을 처음 시작하면 보통은 하나의 화면, 하나의 프로그램 안에서 무언가를 만드는 걸 상상하곤 해요. 마치 포토샵이나 엑셀처럼, 하나의 툴 안에서 모든 작업이 끝날 거라고 생각하기 쉬운데요. 그런데 막상 개발을 공부하다 보면 너무나 다양한 분야가 존재한다는 걸 알게 되죠. 프론트엔드, 백엔드, 서버, 데이터베이스, 클라우드, 배포, API 등… 용어부터가 낯설고, 이게 다 코딩이라고 불리는 게 맞는지 혼란스러워지기 시작해요.

 

더 당황스러운 건, 이런 것들이 전부 다 필요하다는 거예요. 웹사이트 하나 만들려 해도 UI를 구성하는 프론트엔드가 필요하고, 서버에서 데이터를 처리하는 백엔드가 있어야 하며, 사용자 데이터를 저장하려면 데이터베이스도 써야 하고, 만든 걸 외부에 보여주기 위해선 배포도 해야 하죠. 이쯤 되면 “나는 대체 뭘 배우기 시작해야 하지?”라는 고민이 자연스럽게 생겨나요.

 

그래서 입문자들은 대개 여기서 첫 번째 혼란을 겪어요. “하나만 먼저 배우면 안 되나?” 싶은데, 안타깝게도 모든 기술이 연결되어 있다 보니 단순히 하나만 배워선 완전한 결과물을 만들기 어려운 경우가 많아요. 물론 요즘은 노코드나 간단한 도구들이 많이 나와서 전체 흐름을 가볍게 체험해볼 수도 있지만, 진짜 개발을 배워보겠다고 하면 이 구조적인 복잡함이 가장 먼저 장벽으로 느껴지는 것 같아요.

코딩 입문자에게 가장 어려운 점은 무엇일까?

 

어떤 프레임워크를 선택해야 하지?

개발을 막 시작한 사람들에게 또 하나의 큰 벽이 되는 건 바로 프레임워크 선택의 문제예요. 코딩을 배운다고 하면 뭔가 명확하게 정해진 커리큘럼이 있을 것 같잖아요? 예를 들어, 수학을 배우면 덧셈 → 곱셈 → 방정식 → 미적분 순으로 쭉 이어지듯이 말이에요. 그런데 개발은 그렇지 않아요. 특히 웹이나 앱 개발을 하려는 경우, 똑같이 “프론트엔드 개발을 배우고 싶다”고 해도 그 안에 React, Vue, Angular, Next.js 등 수많은 프레임워크가 존재해요. 모바일 개발만 하더라도 Flutter, React Native, Swift, Kotlin 등 선택지가 다양하죠.

 

문제는 이 프레임워크들 사이에 뚜렷한 “정답”이 없다는 거예요. 각 프레임워크마다 장점과 단점이 있고, 어떤 걸 쓰느냐는 상황과 목적에 따라 달라져요. 그러다 보니 입문자 입장에서는 어떤 걸 먼저 배워야 할지 정말 헷갈려요. 괜히 인터넷에 검색했다가 “요즘은 Next.js가 대세다”, “아니다, Flutter로 앱을 만들어라” 같은 말을 보면 더 혼란스러워지죠.

 

게다가 이 프레임워크들은 계속해서 버전이 업데이트되고 생태계도 빠르게 바뀌기 때문에, 조금 늦게 시작했을 뿐인데도 자료가 오래된 경우도 많아요. 그런 상황에서는 뭐 하나를 선택하기조차 부담스럽고, 괜히 늦게 시작한 것 같은 불안감이 들기도 해요.

 

사실 중요한 건 무엇을 배우느냐보다도, 하나를 선택해서 끝까지 해보는 경험이에요. 어떤 걸 골라야 할지 고민만 하다가 시간만 흘러가는 것보다, 어떤 기술이든 직접 손으로 만들어보면서 감을 익히는 게 훨씬 중요해요. 프레임워크 선택이 어렵게 느껴지더라도, 일단 하나를 정해서 끝까지 해보면 그다음 프레임워크를 배우는 것도 훨씬 쉬워진답니다.

 

코딩보다 세팅이 더 어렵다

개발을 처음 시작하면 보통 코딩만 잘 하면 될 거라고 생각해요. 에디터를 열고 코드를 열심히 쓰면 화면에 결과가 뜨고, 그런 과정을 반복하면서 실력을 키워나갈 수 있을 거라고 기대하죠. 하지만 현실은 조금 달라요. 막상 실습을 하려고 하면 에디터 설치부터 시작해서, 터미널을 열고 명령어를 입력해야 하고, 패키지를 설치하거나 환경변수를 설정해야 하는 상황이 생각보다 자주 찾아옵니다.

 

예를 들어, 플러터를 배우려고 하는데 Android Studio와 Xcode를 설치하고, SDK 경로를 설정하고, 에뮬레이터를 구동시키는 것만 해도 몇 시간씩 걸리기도 해요. 웹 개발을 하더라도 Node.js를 설치하고, npm 패키지를 깔고, Git이나 버전 관리 툴까지 건드려야 하죠. 정작 코딩은 한 줄도 안 했는데, 하루가 다 지나가 버리는 경험을 하게 되는 거예요.

 

이런 설정 과정은 입문자에게 굉장히 큰 좌절감을 줘요. “나는 개발과 맞지 않나?“라는 생각이 들기도 하죠. 하지만 이건 개발자의 길을 걷는 모든 사람들이 거치는 일이고, 단지 익숙하지 않아서 복잡하게 느껴지는 것일 뿐이에요. 처음에는 어려울 수 있지만, 자주 하다 보면 점점 익숙해지고, 어느 순간부터는 마치 루틴처럼 자연스럽게 처리할 수 있게 됩니다.

 

 

마치며...

개발을 처음 시작하면 보통 코딩만 잘 하면 될 거라고 생각해요. 에디터를 열고 코드를 열심히 쓰면 화면에 결과가 뜨고, 그런 과정을 반복하면서 실력을 키워나갈 수 있을 거라고 기대하죠. 하지만 현실은 조금 달라요. 막상 실습을 하려고 하면 에디터 설치부터 시작해서, 터미널을 열고 명령어를 입력해야 하고, 패키지를 설치하거나 환경변수를 설정해야 하는 상황이 생각보다 자주 찾아옵니다.

 

예를 들어, 플러터를 배우려고 하는데 Android Studio와 Xcode를 설치하고, SDK 경로를 설정하고, 에뮬레이터를 구동시키는 것만 해도 몇 시간씩 걸리기도 해요. 웹 개발을 하더라도 Node.js를 설치하고, npm 패키지를 깔고, Git이나 버전 관리 툴까지 건드려야 하죠. 정작 코딩은 한 줄도 안 했는데, 하루가 다 지나가 버리는 경험을 하게 되는 거예요.

 

이런 설정 과정은 입문자에게 굉장히 큰 좌절감을 줘요. “나는 개발과 맞지 않나?“라는 생각이 들기도 하죠. 하지만 이건 개발자의 길을 걷는 모든 사람들이 거치는 일이고, 단지 익숙하지 않아서 복잡하게 느껴지는 것일 뿐이에요. 처음에는 어려울 수 있지만, 자주 하다 보면 점점 익숙해지고, 어느 순간부터는 마치 루틴처럼 자연스럽게 처리할 수 있게 됩니다.

 


세 줄 요약

  1. 개발은 다양한 분야가 있어서 처음엔 내가 뭘 해야 할지부터 막막해요.
  2. 수많은 프레임워크 중 하나를 고르고 끝까지 해보는 게 중요해요.
  3. 설정과 세팅이 어렵지만, 익숙해지면 자연스러워져요.
728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
TAG more