# 회고

웹 프론트엔드 개발을 시작하기까지의 회고

2023. 01. 15.에 씀

2023년 첫 글을 인생 회고글로 시작하게 되었습니다. 저는 최근에 제가 왜 개발자로, 특히 왜 웹 프론트엔드 개발자로 일하고 있는가에 대한 이유를 많이 고민하고 있는데요, 그 이유를 찾기 위해 개발자로 일하기 직전까지의 인생을 회고해 봅니다.

저는 저를 이런 사람으로 소개하고 싶어요.

저를 이런 사람으로 만들었던 세 가지를 소개합니다. 🙂

#1

저의 첫 ‘코딩’은 초등학교 시절로 거슬러 올라갑니다. 저는 플래시 게임을 정말 좋아했어요. 특히 플래시365라는 사이트에 올라오는 자작플래시 게임을 좋아했는데, 당시 유행하던 게임은 버튼을 누르면 돈이 쌓이고, 그 돈으로 더 빨리 돈을 모을 수 있는 버튼을 해금하는 식의 클리커 게임이었어요.

저의 최애 플래시 게임… ‘인생게임’ 입니다

열심히 클릭만 하다 보니 ‘근데 이거 나도 만들 수 있나?’ 하는 생각이 들었고, 인터넷을 열심히 검색해서 정말로 저의 플래시 게임을 만들어서 자작플래시 방에 올렸었습니다. 클리커 게임 외에도 옷입히기나 그림판 같은 것들을 만들었던 기억이 나요.


그 이후 미궁게임을 접하게 됐고, 미궁 문제 풀이에 푹 빠져 살게 됐습니다. 미궁게임은 웹 페이지 속의 문제를 풀어서 url에 정답을 적어 다음 단계로 나아가는 식의 게임인데요, 보통 html 파일을 여러개 만들어서 웹 호스팅 서버에 올려 두는 방식으로 만듭니다.

제가 제일 좋아했던 미궁게임이에요 → http://lasthacker.xo.st/

미궁게임 카페에서 활동하다 보니 저도 내고 싶은 문제가 생겼고, 5개 정도의 미궁을 직접 만들어서 배포했습니다. 나중에 미궁 추천 블로그를 보다가 제가 만든 미궁 링크가 있는 걸 발견해서 신기했던 적도 있어요.


저는 만들기는 좋아하지만, 손재주는 없어서 종이접기, 십자수, 그림 그리기 등등 손으로 하는 것들은 전부 엉망이었어요. 그런데 컴퓨터 프로그램은 제가 코드를 짠 대로 동작하니, 마음대로 만들고 싶은 것을 만들 수 있다는 점에 크게 흥미를 느꼈던 것 같아요.

#2

결국 저는 게임을 만들고 싶어서 디지털미디어학과에 진학했습니다. 빨리 뭔가 만들어 보고 싶다는 마음에 1학년 여름방학 때 게임 제작 소학회에서 동기 2명과 팀을 꾸려 미니게임을 만들기로 했습니다.

그리고 가장 큰 문제를 마주치게 되는데… 저희 중에 프로젝트 경험이 있는 사람도, 제대로 된 프로그래밍 언어를 아는 사람도 없어서, 맨땅에 헤딩을 시작해야만 했습니다.

다행히 팀원 모두 방학 동안 기숙사에 살게 돼서, 어차피 할 것도 없으니 매일 모이기로 했습니다. 낮에는 학교 카페에 모여 스터디를 하거나 기획 회의를 했고, 밤에도 기숙사에 돌아가서 게임 개발 강의를 듣거나 낮에 해결하지 못한 부분을 붙잡고 있었습니다.

전설의 게임... Tasty Pizza

그리고 두 달 후, 정말 기적같이 게임을 완성할 수 있었습니다. 🎉 소학회 선배들도 진짜 방학 안에 완성할 줄은 몰랐다고 놀라셨어요. (나중에 코드 보고 너무 엉망이라 또 놀라심)

가을에는 이 게임을 학술제 부스에 올려 시연하면서 많은 분들의 피드백을 직접 들을 수 있었는데, 사람들은 절대 우리가 의도한 대로 움직이지 않는다는 걸 깨달을 수 있었습니다. 😓 게임을 플레이하는 모습을 관찰하며 예상치 못한 곳에서 발생하는 버그와 너무 익숙해져 버린 불편한 부분을 발견할 수 있었고, 우리끼리는 찾을 수 없던 개선 포인트를 발견할 수 있었습니다.

그렇게 저희는 겨울이 가기 전에 플레이스토어에 출시까지 해낼 수 있었습니다. 아무것도 몰랐던 저희가 4개월만에 게임을 출시할 수 있었던 이유는, 모두 하나의 목표만 바라보고 달렸고, 저희가 만든 게임을 저희 스스로가 가장 좋아했기 때문인 것 같습니다.

그리고, 게임을 완성하며 얻은 자신감 덕분에 저는 이후에 어떤 새로운 분야에 도전해야 하는 일이 생겨도 '하면 되겠지!' 마인드로 도전할 수 있었던 것 같습니다. 이 자신감과 함께 이후 저는 웹 프론트엔드, 백엔드, 안드로이드 등... 여러가지 분야를 경험하게 됐습니다.

#3

학과 선배의 소개로 총학생회 선거를 도와준 것을 계기로 총학에 들어가게 되었고, 졸업할 때까지 총학생회를 했었어요. 😓

두 번째 총학 선거의 공약으로 ‘총학생회 공식 홈페이지’를 내세웠고, 당선 이후 저 혼자 홈페이지 개발을 맡게 되었습니다. 당시 저는 웹 개발은 물론이고 자바스크립트도 써본 적이 없어서 또다시 맨땅에 헤딩을 하게 됐습니다.

선배가 추천해준 풀스택 웹 개발 강의를 듣고, 강의에서 배운 구조를 그대로 활용해서 사이트를 만들었습니다. 강의에서 알려준 구조를 제대로 이해하지 않고 적당히 따라 하다가 결국 엎고 새로 시작하기도 하고, 클래스 컴포넌트를 쓰면서 this의 늪에 빠지기도 했고, 공식 문서만으로 사용법을 이해하기가 어려운 라이브러리 코드를 열어서 분석해 보기도 했습니다.

4개월 동안 밤을 새워 개발했지만, 개강과 동시에 홈페이지를 오픈하려고 했던 목표는 불가능해 보였는데요… 다행히도(?) 코로나로 인해 개강이 4월로 밀리면서 시간을 벌 수 있었고, 일정에 맞춰 홈페이지를 오픈할 수 있었습니다. 감사하게도 현재까지 2,000명에 가까운 학우 분들이 가입을 해주셨고, 가끔 학교 커뮤니티에 홈페이지의 콘텐츠가 공유되는 것을 보면 뿌듯했습니다.

웹 개발을 접하기 전까지 저는 게임 클라이언트 개발자가 될 생각을 하고 있었지만, 한편으로는 제가 정말로 게임 개발을 하고 싶은 건지 헷갈렸습니다. 저는 재밌는 게임을 만드는 것도 좋았지만 사람들이 좀 더 유익하게 사용할 수 있는 ‘기능’을 만들고 싶었던 것 같아요.

웹 사이트를 만들면서, 이 일을 하면 재밌으면서도 유용한 것들을 많이 만들어 볼 수 있겠다고 생각했어요. 그래서 이 프로젝트를 계기로 해서 웹 개발자의 길로 들어서게 되었습니다.

프론트엔드도 백엔드도 경험해 봤지만, 프론트엔드로 일을 시작하게 된 결정적인 이유는 주어진 자원을 가지고 더 다양한 것을 만들어서 사용자에게 직접 제공할 수 있기 때문이었습니다. 백엔드에서 제공하는 기본적인 API 몇 가지를 잘 조합해서 UI를 만들고 그 속의 로직을 만들면, 단순한 API를 가지고 다양하고 유용한 기능을 만들 수 있었어요. 어떨 때는 사용자가 해야 하는 귀찮은 일을 대신하는 내부 로직을 만들어서 쓸데없는 단계를 없앨 수도 있었구요. 그래서 이 일을 하면 많은 복잡한 문제를 쉽게 풀어볼 수 있겠다고 생각했던 것 같아요.

#지금

이런 우여곡절을 거쳐 지금의 저는 미리캔버스를 만드는 2년차 웹 그래픽 에디터 개발자가 되어 있습니다. 🙂

저는 앞으로도 세상에 있는 복잡한 문제들을 웹을 통해 쉽고 재밌게 풀어 보고 싶어요. 그리고 웹 프론트엔드 뿐만 아니라 다양한 분야의 기술도 더 익혀서, 문제를 해결하기 위한 적절한 해결책을 제안할 수 있는 개발자가 되는 게 저의 최종 목표입니다.

읽어주셔서 감사합니다. 🙋‍

프로필 사진

조예진