어릴 때 유치원에서 닌자가 되고 싶었다. 투니버스에서 방영하던 애니메이션 닌자보이 란타로
를 좋아해 집에서 표창을 만들어 던지며 놀곤 했다. 초등학교 때는 야구선수와 바둑기사에 대한 꿈이 생겼다. 특별한 이유는 없지만 운동장에서 자주 야구를 하면서 자연스럽게 야구선수가 되고 싶었고, 바둑은 몇 년 동안 집중력 향상을 위해 배워왔기 때문에 바둑기사도 꿈꾸게 되었다.
중학교에 들어서는 변리사가 되고 싶었다. 그 시절, 전문직 중에서 가장 높은 수입을 올리는 직업이라는 이유로 그런 꿈을 가졌던 것 같다. 고등학교 시절에는 군인이나 경찰이 되고 싶었고, 그래서 경찰대 시험도 봤지만 한계를 느끼게 되었다. 결국, 공대는 가야겠다고 생각했지만 물리를 하기 싫어 20년 동안 한 번도 생각해본 적 없는 컴퓨터 공학과에 입학하게 되었다.
제일 처음 배운 언어는 C였다. 그때 Hello, World!
를 출력하는 것도 매우 어려웠다. 군대 가기 전까지는 학과 공부가 이해되지 않았고, 어떻게 코딩으로 웹사이트를 만들 수 있는지도 몰랐다. 그 시점까지는 컴퓨터공학을 전공하면 모두 엑셀을 다루는 줄 알았다.
이상하게 군대에 있을 때는 하고 싶은 게 많아졌다. 여러 자격증도 따고 싶었고, 밤새 공부도 해보고 싶었다. 하지만 우리 부대에서는 싸지방 이용이 금지였고, 그때 할 수 있었던 것은 운동과 7년 전에 나온 엑셀 책을 보는 게 전부였다.
코로나가 유행하면서 모든 수업이 비대면으로 진행되었다. 무엇을 하고 싶어도 정보를 얻는 데 한계가 있었고, 복학한 친구들과 함께 학교 과제, 공모전 참가, 그리고 자격증 공부만 하게 되었다.
대면 수업으로 바뀌었을 때 충격을 받았다. 1년 동안 해왔던 공부가 같은 학번 친구들과 너무 달랐던 것이다. 모두 프로젝트를 1개 이상 진행하고 각자 개발자, 금융, 공기업을 목표로 전략을 짜고 있었다. 개인적으로 누구보다 열심히 살았다고 생각했지만, 목표 없이 하다 보니 너무 다른 곳에서 놀았던 기분이 들었다. 그때가 2022년이었고, 지나온 시간을 보상받아야 한다는 생각이 확실하게 들었다.
결국 개발자가 되기로 했다. 당시 나에게는 바로 보여지는 성과가 중요했고, CSS를 조금만 만져도 화면에 보이는 것이 안심과 동시에 내가 무엇을 하고 있다는 기분을 주어 좋았다.
게임, 백엔드, 앱 개발 등 다양한 분야를 시도해봤지만, 가장 재미있던 것은 프론트엔드였다. 그때부터 부산에 있는 롤뺑드빠리
라는 카페에서 계속 개발만 했다. 그 카페에 200만원 이상 쓴 것 같다. 프론트엔드 개발은 처음으로 적성을 찾은 느낌이었고, 시각적으로 보여지는 것이 정말 재미있었다.
프론트엔드 개발을 하면서 세운 목표는 무조건 서울에서 취업하는 것이었다. 지방에서 느낀 것은 한계가 너무 많다는 것이었다. 물론 실력이 뛰어나면 문제가 없겠지만, 그 수준까지 올라가기 위해서는 많은 정보와 경험이 필요했다. 하지만 개발에 대한 이야기를 나누면 지방에서는 대부분 사람들이 자격증, 봉사활동, 지역인재 전형 등을 이야기하곤 했다. 나는 그게 너무 싫었다. 물론 전략적인 부분에서 그게 당연할 수도 있지만, 그냥 내가 만든 서비스로 인정받고 싶었다. 그러다 나와 같은 생각을 가진 몇몇 친구와 계속 개발 공부를 하게 되었고, 가끔 카페 마감을 하고 간맥을 할 때 무조건 서울에서 다시 시작하자며 서로 의지했다.
그때 함께 의지했던 친구들은 모두 서울에 취업했고, 나도 서울에 취업하게 되었다. 주말마다 모두 만나서 부산에서 했던 것처럼 계속 개발 공부를 이어가고 있다. 서울 월세가 비싸긴 하지만, 그래도 지금이 행복하다.
이상적인 개발자
프론트엔드는 무엇인가요
라는 질문을 받으면, 뭐라고 대답할까 고민이 된다.
- 백엔드와 통신하고, 사용자 경험을 높이는 것
- 다양한 브라우저와 기기에서 일관된 화면이 나타나도록 반응형 웹 디자인을 구현하는 것
- 외부 라이브러리 및 패키지 사용하여 화면에서 다양한 동작을 하는 방법
프론트엔드는 내가 생각하기에 과정은 복잡하되 결과는 단순하게
만드는 직무다. 물론, 이 말은 모든 개발 직무에 해당할 수 있지만, 특히 프론트엔드에서는 그 중요성이 더욱 부각된다. 사용자는 복잡한 기술적 배경을 알 필요가 없고, 단순하고 직관적인 결과만을 원하기 때문이다.
때로는 라이브러리 없이 순수 로직으로 직접 구현해야 하는 작업도 존재한다. 예를 들어, 논코딩 툴을 사용하거나 데이터 시각화 작업을 할 때는 기술적으로 복잡한 과정을 거치더라도, 궁극적으로는 단순하고 명료하게 보여주는 것이 목표다. 이러한 이유로 과정은 복잡하되 결과는 단순하게
라는 말을 좋아한다.
고집
취업 전까지는 프론트엔드는 프론트엔드만 해야 한다
는 고집이 있었다. 하지만 처음 실무를 시작하면서 그 생각이 잘못됐다는 걸 금방 깨달았다. 개발자는 결국 서비스의 전체 흐름을 이해해야 하며, 상황에 따라서는 스스로 API를 작성해야 할 수도 있다는 사실을 알게 된 것이다.
취준생 시절 풀스택 개발자
라는 말을 들었을 때는 쉽게 믿기 어려웠다. 한 직무만 해도 몇 년을 배워야 할 것이 많은데, 어떻게 백엔드까지 마스터할 수 있을까라는 생각이 들었기 때문이다. 하지만 실무는 달랐다. 나는 프론트엔드 개발자지만, 팀에 따라 유동적으로 백엔드 작업을 할 수도 있었다. 그래서 한 직무에만 국한되는 것은 좋은 선택이 아니라는 걸 느꼈다.
물론, 프론트엔드 업무가 남았는데 굳이 백엔드를 하는 건 아니지만, 필요에 따라 유연하게 움직일 수 있어야 한다는 의미다. 결국, 다양한 기술과 역할을 넘나드는 유연함이 중요하다는 것을 바로 알게 되었다.
자격증에 대한 나의 생각
전역 후 나는 여러 자격증 공부를 많이 했다. 컴퓨터 활용능력
, 네트워크 관리사
같은 자격증을 땄지만, 금방 깨달았다. 내가 이 자격증들을 땄다고 해서 엑셀이나 네트워크를 완벽하게 마스터한 건 절대 아니었다. 그렇다면 왜 자격증을 따야 할까? 몇몇 기업의 자격 요건이니까
, 그래서 남들도 자격증을 공부하려 하니깐
라는 이유밖에 떠오르지 않았다.
물론 자격증 공부를 하면서 깊이 있는 이해를 얻었다면 자격증을 따는 것이 당연히 맞다고 생각한다. 하지만 내 경험상, 자격증 공부만으로 실질적인 깊이를 얻는 사람은 드물었다. 증을 위한 공부보다는 내게 필요한 공부를 제약없이 하면서 공부하는게 더 즐겁고 유익할거 같다. 그리고 정말 좋은 서비스를 만들고 싶은 회사라면 자격증 하나가 중요할까, 아니면 개발자가 직접 만든 프로젝트가 더 중요할까? 나는 후자가 더 중요하다고 생각한다.
성실함의 기준
1일 1 커밋
, 책 내용을 블로그에 올리기
같은 활동을 개인적으로 선호하지 않는다. 후배들에게 물어보면, 깃허브의 잔디가 꽉 채워져 있는 것이 그 사람의 꾸준함과 성실함을 직관적으로 보여준다고 말한다. 하지만 내 생각은 다르다.
매일 개발을 하다 보면 자연스럽게 잔디가 채워지고, 배운 내용을 공유하는 것을 좋아하는 사람이라면 굳이 1일 1 커밋
을 해야 한다는 압박을 느끼지 않고도 커밋이 쌓일 것이다. 즉, 진짜로 꾸준하게 개발을 하고 배운 걸 공유하는 사람은 스트레스를 받지 않고도 그 결과물이 나온다.
반면, 매일 글을 쓰고 커밋을 올리는 것이 성실함을 증명한다고 생각하는 것은 보여주기식 공부라고 본다. 오히려 그 시간을 잠시 컴퓨터 앞에서 벗어나 정비하거나 스트레스를 풀기 위한 활동을 하는 게 더 효율적이지 않을까? 성실함은 잔디로 증명하는 게 아니라, 얼마나 깊이 있게 공부하고 실제로 적용하는가에 있다고 생각한다.
개발 블로그
티스토리
, 벨로그
등 다양한 블로그 플랫폼이 있지만, 나는 학부 시절부터 나만의 홈페이지를 만드는 것이 꿈이었다. 그 당시에는 취업이 더 우선이었기에, 개인 홈페이지보다는 자극적인 프로젝트
나 다른 부분에 더 투자해야 했다. 그리고 그때의 개발과 지금, 회사 일을 마치고 카페에서 여유롭게 코딩하는 심리적인 차이를 확실히 느끼고 있다.
나는 원래 지식을 공유하는 것을 좋아한다. 그래서 유튜브도 하고 있고, 블로그도 내가 직접 처음부터 만들어서, 배워보고 싶은 내용을 공부하고 정리해 올리는 것을 즐긴다. 이미 만들어진 템플릿을 사용하는 것보다 처음부터 내가 직접 만들었을 때 더 큰 애착이 생기는 것 같다. 이 과정에서 느껴지는 뭔가 특별한 만족감이 있는 것 같다.