어느덧 3개월 하고도 2주가 지났다. 14주전 처음 코딩을, 프로그래밍을 배우기 시작하며 그동안 걱정없이(?) 신나게(?) 개발만 했던 것 같다.
3개월간의 위코드 수강기간 걱정없이
(사실 가슴한켠에는 조그맣게 아니 사실은 매우 크게 수료 후 방향에 대해서 걱정과 두려움도 있었다)
다른 생각을 할 틈도 없이 바쁘게 개발에만 몰두해서 일까? 수료 후 무언가 무기력함이 느껴졌다.
개발자가 되고 싶은데 당장 개발할 것들이 없어서 일까? 아니면 미래에 대한 막연한 걱정과 두려움 때문일까? (만약 내 실력이 엄청나게 뛰어났다면 걱정도 두려움도 없었을까?)
아 어찌되었든 이 글을 쓰게 된 이유도 그 무기력함 때문이다. 그냥 주니어 개발자로 커리어를 시작하려는 햇병아리가 취업에 앞서 뭐라도 해보려는 발악정도로 보면 될 것같다.
워드프레스로 작성해오던 기술블로그도 velog로 옮겨야 하는데 그 전에 머리가 너무 복잡해서 생각정리할 겸 반성문인듯 회고록인듯한 생각정리를 해보려 한다! (새로운 블로그에 첫 글이다!)
3개월간 (그 누구나만큼) 쉼 없이 달려오며 수료 후 잘 쉬었다. 이만하면 되겠다 싶을 정도로 잘 쉬었다. 근데 나태해진 것일까? 자꾸 무기력해지는 기분 + 수강기간 때 나왔던 퍼포먼스가 나오지 않을 뿐 더러 의지마저 박약해진 기분이 많이 느껴졌다 (마치 벌써 뭐라도 된듯마냥 말이다)
마치 목적없이 구천을 떠도는 귀신마냥 멍하니 시간만 보냈던 것 같다.
그렇게 개발자가 되기위해 쏟아부은 노력과 고생이 무색해질만큼 개발자가 되려는 사람의 모습이 아니였다. (넷플릭스 컨텐츠의 다양함 때문이라고 변명해두자)
도대체 그동안 열심히 해놓고서는 갑자기 왜 나태해진 것일까? (소위 나태지옥)
아직 개발자가 된것도 아니며 자연스럽게 개발자가 될 수 있는 것도 아닌걸 너무 당연히 알면서도...
그래도 무기력함과 나태함을 무시(?)한채 이력서 준비를 시작했다. 이력서를 수정하면서 여러 취업 정보 사이트에서 취업 공고를 꼼꼼히 읽어보았다. (여전히 난 아직 부족하다는 걸 또 한번 깨닳았다)
솔직히 공고를 꼼꼼히 읽어보는 것에 더 집중했었다. 모집공고들을 쭉 읽다보니 단순히 이력서에 내 기술 스택과 프로젝트들을 나열하는 것 뿐만 아니라 "나"를 어떻게든 어필해야 승산이 있어보였기 때문이다.
나를 개발자 중 한명으로서 어떻게 회사에 어필할 수 있을까? 이 질문에 진지하게 고민해보았다. 내가 개발자로서 가지고 있는 매력은 무엇일까? 답은 아무리 생각해도 확 땡길만한 매력이 없다는 것이다.
나는 비전공자일뿐더러 코딩을 배우기 시작한지 고작 3개월 하고 2주가 흘렀을 뿐이니까. 너무나 당연한 사실이다. 이 세상에 완성된 개발자는 없다지만 난 미완이여도 너무나 미완이였다.
그래도 하나 자랑할만건 있다. 코딩, 즉 html, css 그리고 javascript를 딱 한달간 배우고 리액트를 활용해서 한달 간 2개의 프로젝트를 완성했으며 (물론 팀원들과 함께) 또 다른 한달 간은 현업에 나가 실무 개발 프로젝트에 당당히(?) 참여하였다.
내 자랑은 이것이다. 내가 3개월만 배웠으니 이정도이지 나에게 6개월 12개월의 시간이 있었다면 나는 지금보다 두 배, 네 배 혹은 그 이상의 퍼포먼스를 낼 수 있다는 것이다.
나는 미완이지만, 언제나 미완이였지만 그 언제나 나는 완성의 내 모습을 꿈꾸며 그 모습으로 나아가기 노력해왔고 하고 있고 노력할 것이라는 것. 그것이 내가 개발자로 전향하기 마음먹은, 위코드 부트캠프에 수강을 시작하는 그 순간부터 항상 나의 원동력이 되어왔다는 것이며 앞으로도 그럴것이라고 확신한다는 것이다.
그래. 현재 나는 많이 부족하고 미완의 개발자다. 그렇다면 내일 혹은 다음달 아니면 반년 뒤 1년뒤 나는 여전히 많이 부족하고 미완의 개발자일까?
여전히 부족할 수 있겠지만 지금보다는 덜 부족할 것이다. 단지 한끗 차이가 아니라 많은 차이를 보일 것이라고 나는 당당히 자부할 수 있다.
그래서 이 부분을 이력서에 녹여보자했다. 명백한 사실을 토대로 말이다.
3개월 만에 이정도가 되었다는 것을 자랑하는 것이 아니라 그 부분을 근거로 삼아 내가 미래에는 더 실력이 좋은, 발전하는 개발자가 될 것이고 현재 부족한 부분도 시간안에 채울 수 있을 것을 말이다.
그렇게 드디어(?) 이력서 version 1과 여러 구직 사이트에서 프로필을 작성하였다.
그런데 이력서를 써도 또 고치게 되고 프로필을 작성하여도 계속 수정하며 심지어 version 1이 완성된 이력서 마저 고치려 하고 있었다.
물론 내 필력이 문제이겠거니와 나름 괜찮게 원하고자 하는 바를 잘 녹여써낸 문장들은 서로 각기 다른 주제에 대해 말하는 느낌을 받았다. 너무 난잡해 보였다.
도대체...무엇이....문제일까?? 무엇이 원일일까??
문득 이런 생각이 들었다. 내가 이력서로 말하고자 하는 것이 무엇일까?
단순히 "기회만 준다면 더더 잘할 수 있어요! 왜냐면 3달동안 어느정도 증명했으니깐요!" 라는 메세지를 이력서에 담고 싶었던 것은 아니다. 하지만 완성된 이력서를 보고 있자니, 누구나만큼하는 기술 스택에 누구나만큼 해온 프로젝트에 누구나할 수 있는 "뽑아주시면 잘할 수 있습니다"로 만들어진 이력서였다.
이 이력서는 과연 매력이 있는 것일까? 이정도의 이력서만 보면 과연 그 어떤 채용 담당자가 "흠 흥미로운데? 한번 만나서 이야기해보고싶네"라고 바로 생각할 수 있을까?
나는 어김없이 또 삽질을 하고 있었다.
나의 목표는 인사 담장자가 내 이력서를 열람할때 빨리 면담하고 싶어서 근질근질한 수준은 못되더라도 적어도 '이런 사람이면 한번쯤 불러서 이야기 해보고 싶다"라는 인상을 주는 것이였다. 그렇다면 다시 근본적인 질문을 해보았다. 어떻게 내 이력서가 최대한 흥미로워 보일 수 있을까?
물론 내 생각이 정답은 아니겠지만 적어도 내가 프론트엔드 개발자가 되려는, 내가 이러이러한 프론트엔드 개발자가 되려는 이유와 회사에 지원한 명분 정도는 큰 틀에서 확립되어 있어야 한다고 생각이 들었다.
결국은 프론트엔드 개발자의 본질과 이 직무에 대한 이유를 생각해보았다. 프론트엔드 개발자는 무엇이며 무엇을 하는 것이며 왜 필요한 것일까? 더 나아가 나는 왜 프론트엔드 개발자가 되려했고 어떤 프론트엔드 개발자가 되고 싶은 것일까? 등등 여러 질문이 떠올랐다. 그 중 나는 어떤 프론트엔드 개발자가 되고 싶은 것인지에 대해 깊게 생각해보았다.
앞서 말한 것처럼 미래에는 나는 매번 실력이 더 나은 개발자가 될 것이라고 자부했다. 하지만 나는 어떤 부분에서 그리고 무엇에 대해서 실력이 나아질지에 대해 생각하지 않았다. 그래서 이력서가 잘 안읽히고 만약 다 읽는다하여도 말하고자 하는 하나의 큰 메세지가 안느껴졌던 것 같다. 좀 더 본질적으로 들어가보기로했다.
내가 프론트엔드 개발자로서 본질적으로 생각하는 우선 가치들은 무엇일까?
솔직히 말하면, 정말 창피하지만, 한번도 진지하게 생각해본적이 없는 것 같다.
아마 1차 프로젝트를 하고 나서 후기를 작성하며 생각해본 것이 다 일것이다.
아차 싶었다. 이래서 내가 목표 없는 사람 마냥 방황하고 동기부여가 안됐던 것 같다라는 생각이 강하게 들었다.
진짜 개발자로서는 아니지만 내가 지금껏 수행해온 프론트엔드 개발자란 포지션은 어떤 포지션이였을까?
이 고민으로, 이 하나의 생각으로 하루가 통째로 날아갔다. 그래도 나름 아래와 같이 정리가 되었다.
프론트엔드 개발자가 왜 필요할까 (이유)
프론트엔드 개발자는 무엇을 하는 것일까? (본질)
종합해보면 프론트엔드 개발자는
"사용자에게 서비스를 제공할 수 있는 field를 제공하는데
그 field 안에서는 서비스와 사용자간 interaction, 즉 사용자에게 어떠한 경험을 남기는 상호작용이 이루어지는 field를 개발하여 제공하는 직업이다."
(단순한 개인의 의견일뿐)
그렇다면 내가 여태까지 프론트엔드 개발자를 꿈꾸면서 해왔던 여러 프로젝트속에서 느낀점은 무엇일까?
개인적으로 생각한 프론트엔드 개발자의 본질, 이유 그리고 중요 가치들을 종합해보면
"사용자에게 서비스를 제공할 수 있는 field를 제공하는데
그 field 안에서는 서비스와 사용자간 interaction, 즉 사용자에게 긍정적인 경험을 남기는 상호작용이 이루어지는 field를 개발하여 제공하는 직업이다."
(이 또한 단순한 개인의 의견일뿐)
그럼 도대체 나는 그동안 어떤 가치를 중점적으로 두고 프론트엔드 개발을 해왔을까?
긍정적인 사용자 경험이란 무엇일까란 고민을 많이 했던 것 같다.
궁극적으로 사용자가 어떠한 서비스를 이용함에 있어서 어떠한 불편함 없이 더 편리한 방법으로 이용할 수 있게 만들어진 UX라고 생각한다.
예를 들어 사용자가 배달 서비스를 이용한다고 치자.
등등의 지속적인 고민과정의 결과가 UX에 대한 고민이며 기본적으론 빈틈없지만 더 간편하게 사용자가 서비스의 본질을 이용함에 있어서 편리하게 만들어진 UX는 사용자에게 긍정적인 경험을 줄 것이다.
아니 개인적인 의견을 좀 더 말해보자면
편리하게 만들어진 UX가 아니라 불편하지 않은 UX가 맞을 것이며
긍정적인 경험이 아니라 부정적이지 않은 경험이 맞을 것이다.
그 이유는 단순하다고 생각한다. 인간은 좀 더 편리한 삶을 살기위해 노력해왔고 많이 발전해왔다.
먼 거리를 편리하게 도달하기 위해 결국은 비행기까지 탄생시켰고
더 빨리 메시지를 전송하기 위해 이메일이 등장했다.
즉 아마 사용자가 서비스를 이용할 때 편리했다면 zero sum일 것이다. 긍정적이지도 부정적이지도 않은.
하지만 불편했다면 minus일 것이다.
편리한 것은 당연시 됐고 불편한 것은 그래서는 안되는, 즉 이해가 안되는 경험이 될 확률이 높다고 생각한다.
프론트엔드는 서비스를 가시적으로 보여주는 일을 하는 것이다. 근본적으로 서비스를 제공하는 것과 다름이 없다고 생각한다. 만약 그러하다면 근본적으로 서비스는 무엇을 말하는 것일까?
사용자 경험을 중점적으로 고민했던 이유는 아마 내가 서비스업에 관심이 많아서 라고 생각한다.
실제로
식당운영에 대해 배우고 싶어서
1. 휴학을 하고 식당의 본질인 음식을 만드는 주방장으로 일을 했고
2. 실제 제품을 서비스하는 일을 배우고자 홀에서 매니저로 일을 했다.
더 나아가 실제 서비스의 판매를 경험하고자
1. e-bay를 통해 제품들을 해외 고객들에게 판매하며 c2c를 경험해보았고
2. 유모차를 판매하는 회사에 들어가서 불특정 다수 고객들을 대상으로 제품 판매를 경험해보았다.
전문적으로 경험한 일들은 아니지만 그래도 나름 욕심과 목표를 가지고 일했었다. 또한 판매라는 행위 과정에 기여되는 서비스의 본질에 대해서도 진지하게 고민도 해보았다.
서비스의 본질에 대한 내 생각은 인간미와 무형이라고 생각한다.
요즘 기계로 서비스가 이루어지는 매장이 점점 많이 보인다. 실수 없이 완벽하게 정확한 input에 대해 정확한 output를 가져다줄 정도로 뛰어나다. 그럼에도 불구하고 개인적으로 서비스에 대한 역량은 기계가 사람을 넘을 수 없다고 생각한다.
그 이유는 위에서 언급한 것 처럼 바로 상호작용이다.
좀 더 자세하게는 인간미로 통용될 수 있는 소통이다.
사람과 대화가 가능한 ai가 개발이 되었지만 아직까지 상용화된 기계들은 단순 입력-결과로 작동한다.
맥도날드를 예를 들어 생각해보자
많은 맥도날드 매장들이 무인 종합정보안내시스템인 키오스크 시스템을 구축해 놓았다. 적은 인력으로 많은 인원에게 서비스가 가능하고 심지어 오차와 실수없이 일을 수행한다. 하지만 만약 내가 햄버거에 들어가는 피클을 빼고 주문하고 싶다면? 키오스크는 내 주문을 받아줄 수 없다. 소통이 불가능하고 이미 정해진 한정된 정보 내에서만 가능하다.
만약 사람이 받는 주문이라면? 충분히 수용이 가능하고 간단하게 처리가 가능한 상호작용이다.
더 나아가 키오스크는 자주오는 단골손님을 기억해주지 않는다. 물론 포인트로 단골 손님에 대한 보답을 해 줄 수 있지만 그것은 단골손님으로써 혹은 충성고객으로써 누릴 수 있는 특권은 아니다. 다른 일반 손님들도 포인트 적립은 가능하기 때문이다.
하지만 human-being은 어떨까? 개개인의 스타일 마다 다르겠지만 더 반갑게 반겨주고 무료의 서비스를 제공할 수 있을 것이다. 이것이 바로 무형이라는 서비스의 본질이라고 생각한다. 바로 사람의 마음이다. 충성고객에 보답하는 그리고 그들이 누릴 수 있는 특권 아닌 특권은 바로 이 마음이다. 별것 아닌 사소한 것에 불구하지만 사용자가에게 좋은 경험을 주는, 그 어떠한 수학적 계산으로도 도출할 수 없는 그것.
이를 기계가 수행하기엔 다소 큰 무리가 있다고 생각하는건 착각이 아닐 것이다.
나는 앞서 말한 서비스의 본질적인 것들이 이루어지는 과정에서 이루어지는 고객과의 상호작용에 큰 매력을 느껴왔다. 이는 개발자란 직업의 기로로 들어선 이유들 중 하나이다. 개발과 서비스, 참 매칭되지 않아 보이는 두 단어이지만 요즘 대부분의 서비스는 온라인을 통해서 제공된다. 나는 그점에 매료되었던 것이다.
이제 드디어 대답할 수 있을 것 같다. 진짜 내가 되고 싶은 프론트엔드 개발자는 어떤 모습일까?
앞서 말한 부정적이지 않은 경험을 사용자에게 남겨주는 서비스를 웹페이지로 만들 수 있는 역량을 그동안 우선 가치로 생각해왔다. 결론적으로 나는 서비스, UI 그리고 UX에 대한 본질과 원인에 대한 깊은 이해를 바탕으로 인간미가 담긴 경험을 서비스 사용자에게 남겨줄 수 있는 프론트엔드 개발자가 되고싶다.
직접적으로 소통하지 않지만, 사용자가 느낀 불편함이나 요구사항을 즉각에서 처리해줄 수 없지만,
사용자가 불편함이나 요구사항을 느끼기 전에 미리 해결해 놓는 것이다.
그렇기에 UX 사용자 경험 측면에 대한 무한 고민이 해결책이지 않을까 싶다. 물론 기획자 그리고 디자이너의 의견이 크게 작용하겠지만 적어도 웹사이트를 개발할 때 그리고 코딩을 할 때 생각없이 단순노동식으로 하는 개발자는 되기 싫다. 이미 나온 기획안일지라도 기능 구현에 있어서 아니면 웹사이트를 만드는 과정에 있어서 지속적으로 사용자 편리함을 생각하고 고민하면서 개발하는 그런 개발자가 되고싶다.
또한 무형의 것 즉 마음으로 줄 수 있는 부분에 대해서도 깊은 고민을 할 수 있는 개발자가 일단은 되고싶다.
이 부분에 대해서는 아마 정답일지 아닐지 아직도 모르겠다. 그냥 내 개인적인 경험과 생각에 대한 종합적인 도출일뿐. 아마 더 경험을 하다보면 개발자로 커리어를 쌓아가다보면 느끼는 것이 달라지겠지.
아 물론 코딩에 대한 욕심도 있다!
우선 지금 단계에서 여러 화려한 기술들에 대한 욕심(도 있지만)보다는 내가 현재 사용 가능한 기술 스택들을 사용해서 의미있는 코드를 작성하고 싶다.
의미있는 html 태그들을 사용하고 의미있게 컴포넌트화 모듈화를 하고 의미있는 자바스크립트 코드를 작성하고 싶다.
더 나아가 경제적인(?) 퍼포먼스를 내는 코드를 작성하고 싶다. 불필요한 출력 누수를 막고 효율적으로 웹사이트를 구현하고 구동시킬 수 있는 그런 코드를 작성해서 웹사이트를 구현하는 프론트엔드 개발자가 되는 것이 지금 상에서는 제 1단계의 목표이다.
이렇게 장정 하루 반의 시간의 생각삽질이 끝이 났다. 정리하려고 쓴 글인데 비록 머리는 어느정도 정리가 되었지만 글은 이상하게 아직도 복잡해 보인다.
이 글의 시작은 이력서상 매력 어필 포인트를 찾기 위해서였다. 그리고 그 생각이 꼬리에 꼬리를 물어 여기까지 왔다. 결국은 내가 되고싶은 1단계의 프론트엔드 개발자의 모습을 정리해 볼 수 있었다.
나는 미완의 개발자지망생(?)이다. 아직 어떠한 방향으로 나아가야할지도 확립되어 있지 않다. 물론 주변에서 좋은 이야기들을 많이 해준다. 하지만 그 이상의 나만의 생각은 가지고 있고 싶었고 그것을 바탕으로 나를 취업시장에서 어필하고 싶었다. 적어도 진정성만은 남들보다 뒤쳐지지 않게 보여주고 싶었다. 그래서 내가 개발자라는 커리어의 기로에 들어선 이유, 내가 하고자 했던 것, 수강 과정에서 느낀 점들을 종합해서 내 첫걸음의 발자국으로 삼고자 한다.
그 발자국이 다른 사람들에게 매력적이지 않을 수도 내가 정말 무의미한 삽질을 한 것일 수 도 있다. 그래도 일단 이 방향성은 잡고 가보려고 한다. 진실되게 나는 저런 모습의 프론트엔드 개발자이고 싶기 때문이다. 이 글 내용이 처음부터 끝까지 틀린 내용일지라도, 진정한 프론트엔드 개발자의 모습을 도출하지 못했다 하더라도 음... 슬프지만 지금은 괜찮다! 난 아직 시작을 위한 준비를 하는 단계이니까 그리고 나는 그 한걸음에서 절대 끝낼 생각이 없으니까!
언젠가는 정말 더 깊고 심오한 가치를 쫒는 개발자를 꿈꾸는 그 단계가 올때까지 아마 이 생각의 꼬리는 이어지지 않을까 싶다! 그때 이 삽질마저 도움이 되었으면 한다.
2단계의 모습이 나오면 그때 다시 한번 정리를 해보도록 하겠다 (아마 굉장히 가까운 미래일것 같은 느낌!)