에세이

비전공 개발자의 1년 회고

작년 이맘때쯤, 저는 HTML이 무엇인지도 잘 모르는 초등학교 교사였습니다. "개발"이라는 단어는 IT 회사에 다니는 사람들만의 영역이라고 생각했고, 코딩은 수학을 잘해야만 할 수 있는 특별한 기술이라고 믿었습니다. 그로부터 정확히 1년이 지난 지금, 저는 이 프로필 웹사이트를 직접 만들어 운영하고 있습니다. 이 1년간의 여정을 솔직하게 돌아보려 합니다.

시작: 왜 코딩을 배우기로 했나

계기는 의외로 단순했습니다. 학급 홈페이지를 꾸미고 싶었는데 블로그 템플릿으로는 한계가 있었거든요. "내가 원하는 대로 웹페이지를 만들 수 있으면 좋겠다"는 생각이 출발점이었습니다. 또한 코딩 교육이 정규 교육과정에 포함되면서 "가르치려면 먼저 배워야 하지 않을까"라는 교사로서의 책임감도 있었습니다.

돌이켜보면, 거창한 목표 없이 "이거 하나만 해보자"라는 가벼운 마음으로 시작한 것이 오히려 오래 지속할 수 있었던 비결이었습니다. 처음부터 "프로 개발자가 되겠다"고 했다면 아마 한 달도 못 버텼을 겁니다.

1~3개월: HTML과 CSS의 세계

처음 3개월은 HTML과 CSS만 공부했습니다. 태그 하나하나의 의미를 배우고, CSS로 색상과 레이아웃을 바꾸는 과정이 마치 마법 같았습니다. <h1> 태그로 큰 제목을 만들고, color: blue로 글자 색을 바꾸는 것만으로도 신기하고 재미있었습니다.

이 시기에 배운 것

  • HTML의 시맨틱 태그와 문서 구조
  • CSS 선택자, 박스 모델, Flexbox 기초
  • 간단한 정적 웹페이지 만들기
  • 브라우저 개발자 도구 사용법

가장 어려웠던 것은 CSS의 레이아웃이었습니다. 요소를 원하는 위치에 배치하는 것이 왜 이렇게 어려운지, 그때는 정말 답답했습니다. Flexbox를 이해하기까지 꼬박 2주가 걸렸고, 그 과정에서 "나는 이게 안 맞는 건가"라는 생각도 수십 번 했습니다.

4~6개월: JavaScript 입문과 좌절

JavaScript를 시작하면서 진짜 어려움이 찾아왔습니다. 변수, 함수, 조건문까지는 따라갈 수 있었는데, 콜백 함수와 비동기 처리 개념에서 완전히 막혔습니다. "이게 대체 무슨 소리지?" 하며 같은 강의를 서너 번씩 다시 보는 날이 이어졌습니다.

극복 방법

이 시기를 버틸 수 있었던 것은 세 가지 전략 덕분이었습니다:

  1. 작은 프로젝트 만들기: 이론만 공부하면 지치기 때문에, 배운 것을 바로 적용할 수 있는 작은 프로젝트를 만들었습니다. 가위바위보 게임, 할 일 목록 앱 등 간단하지만 완성할 수 있는 것들이요.
  2. 매일 30분 규칙: 하루에 30분이라도 꼭 코드를 작성하는 규칙을 세웠습니다. 바쁜 날에도 30분만큼은 지켰더니 습관이 되었습니다.
  3. 커뮤니티 참여: 온라인 개발자 커뮤니티에서 같은 고민을 가진 분들과 소통하면서 "나만 어려운 게 아니구나"라는 위안을 얻었습니다.

7~9개월: 첫 프로젝트 완성의 기쁨

반년을 넘기면서 드디어 의미 있는 프로젝트를 완성할 수 있게 되었습니다. 학급에서 사용할 수학 퀴즈 게임을 만들었는데, 아이들이 즐겁게 사용하는 모습을 보면서 코딩을 배운 보람을 처음으로 느꼈습니다.

이 시기부터 "만들고 싶은 것"이 계속 떠오르기 시작했습니다. 출석부 관리 도구, 시간표 생성기, 뽀모도로 타이머... 아이디어가 코드로 구현되는 경험이 쌓이면서 자신감도 조금씩 붙었습니다.

프로그래밍의 재미는 "내 머릿속 아이디어가 화면에 나타나는 순간"에 있습니다. 그 쾌감을 한 번 느끼면, 어려운 개념도 배워보고 싶어지는 선순환이 시작됩니다.

코딩을 시작한 후 1년간의 GitHub 커밋 기록

10~12개월: 웹사이트 완성과 새로운 시작

1년 차의 마지막 분기에는 지금 이 프로필 웹사이트를 만드는 데 집중했습니다. 그동안 배운 HTML, CSS, JavaScript를 총동원하여 처음부터 끝까지 혼자 만든 첫 번째 "제대로 된" 웹사이트입니다. 반응형 디자인, SEO, 접근성까지 고려하면서 이전에 공부했던 개념들이 하나로 연결되는 경험을 했습니다.

코딩이 교사 생활에 준 변화

코딩을 배우면서 가장 크게 변한 것은 사실 개발 실력보다 "가르치는 태도"였습니다:

  • 초보자의 마음 이해: 완전히 새로운 분야를 처음부터 배우면서, 아이들이 새로운 것을 배울 때의 어려움과 답답함을 체감할 수 있었습니다. 덕분에 교실에서 "왜 이것도 모르니?"라는 말 대신 "어디가 어려워?"라고 물을 수 있게 되었습니다.
  • 실패에 대한 태도 변화: 코딩에서 에러는 일상입니다. 수백 번의 에러를 만나면서 "실패는 배움의 과정"이라는 말을 진심으로 이해하게 되었고, 이것을 아이들에게도 자연스럽게 전할 수 있게 되었습니다.
  • 문제 해결력 향상: 프로그래밍은 본질적으로 문제 해결의 연속입니다. 큰 문제를 작은 단위로 쪼개고, 하나씩 해결하는 사고방식이 교실 운영과 수업 설계에도 큰 도움이 되고 있습니다.

앞으로의 계획

1년이 지났지만 아직 배울 것이 산더미입니다. 2년 차에는 다음과 같은 목표를 세웠습니다:

  1. React 기초 학습: 프레임워크 하나를 익혀서 더 복잡한 웹 앱을 만들어보고 싶습니다.
  2. 교육용 웹 도구 개발: 교실에서 실제로 사용할 수 있는 웹 도구를 2~3개 더 만들 계획입니다.
  3. 블로그 꾸준히 쓰기: 배운 것을 정리하고 공유하는 습관을 유지하겠습니다. 글로 정리하면 이해도가 훨씬 깊어지니까요.
  4. 동료 교사와 함께 배우기: 관심 있는 동료 선생님들과 함께 스터디 그룹을 만들어 함께 성장하고 싶습니다.
2년차를 향한 개인 학습 로드맵

1년 전의 저에게 말해주고 싶습니다. "시작이 늦었다고 생각하지 마. 1년 후에는 지금의 네가 상상도 못 한 것들을 만들고 있을 거야." 비전공자라서, 나이가 있어서, 시간이 부족해서 망설이고 있다면, 일단 시작해보세요. 그 한 걸음이 1년 후에는 놀라운 여정이 되어 있을 겁니다.

이 글을 읽는 분들 중에도 코딩을 시작할지 고민하는 분이 있다면, 저의 1년이 작은 용기가 되면 좋겠습니다. 완벽하지 않아도, 느려도, 매일 조금씩 앞으로 나아가면 됩니다. 우리 모두 성장하는 중이니까요.