정말 운이 좋게도, 토스 페이먼츠에 FE직군으로 지원했던 서류가 통과하여 사전과제를 수행할 기회를 얻게 되었습니다. 그 과정에서 친절하게 메일로, 또 유선상으로도 연락을 주셔서 과제 수행 날짜를 함께 조율했는데요, 지원자를 배려해주시는 모습에 따스함을 느꼈습니다.
과제는 React 기반이었습니다.
메일에 첨부된 노션 문서에서 프로젝트 세팅, 주의사항, 기능구현과 리팩토링 관련하여 세심히 설명해주고 있어 과제 수행 준비 과정에서 큰 어려움은 없었습니다.
4시간은 기능구현, 2시간은 리팩토링이었는데 각각 PR까지 작성하고, README.md 또한 작성해야했습니다. 제 기준에서는 시간이 생각보다 빠듯하더군요. 개발자는 개발 능력 외에 협업능력도 중요하지만, 정해진 기한에 맞추어 개발을 완료하는 것이 개발자의 덕목이니, 주어진 시간 내에 기능을 구현하는 것은 필수라 생각합니다. 그런데...저는 사실 주어진 기능을 다 개발하지는 못했습니다...허허.
이렇게 정신없는 6시간을 보냈습니다.
과제를 마치고 나서는 지금 내 실력의 위치를 깨닫게 된 것 같았습니다. 조금은 아쉬웠달까요? 하지만 그러면서 동시에 앞으로 내가 부족한 부분을 보완하기 위해 어떻게 해야할 지 감이 잡혔습니다.
결과와 상관없이 과제 수행 자체만으로 많은 깨달음을 얻어갈 수 있어 유익했습니다.
과제를 제출하고 나서 상념에 잠겨있다가 문득 좋은 개발자는 무엇일까라는 생각이 들었어요.
좋은 서비스는 무엇인가요? 제가 생각하는 좋은 서비스는 사용자들이 자주 찾는 서비스입니다. 해당 서비스가 좋은 가치와 기능을 사용자에게 제공하니, 단골들이 많이 생기는 것이죠.
그리고 그 회사에 속한 개발자들은 이런 서비스의 가치를 일찍이 알아보고, 서비스의 개발에 참여하여 서비스 발전에 기여한 인물들이기에 명성과 좋은 개발자라는 평판을 얻는다 생각합니다.
그래서 대부분의 유명 개발자들은 이름을 대면 알만한 회사에 다니고 있는 것 아닐까요? 협업도 잘 하고, 비즈니스적인 안목도 있으며, 기본 개발실력이 있는 개발자가 좋은 서비스(또는 좋은 서비스가 될만한 기획)를 만나서 자신의 능력을 발휘해 서비스의 가치를 몇 배, 몇 십배로 높이게 되는 것이죠. 그리고 그렇게 성장한 서비스는 구성원들의 가치를 더 높게 평가되도록 영향을 주는 선순환이 이루어진다고 생각해요.
서비스의 가치는 좋은 개발자들이 노력한 결과인 것 같아요. 그래서 결과를 보고 너는 좋은 결과를 내었으니 좋은 개발자다! 라고 하는 것은 답을 정해놓고 이야기하는 것 같아요.
세상에는 (현재 기준으로) 아직 사용자가 많지 않고, 수익 규모가 크지 않은 서비스를 제공하는 회사들이 많아요. 그 중에서 성공하는 회사도 있고, 생각보다 성취가 나지 않는 회사도 있어요. 어떤 것이 결과에 영향을 준 것일까요?
저는 데이터에 어떤 가치를 부여했느냐
가 판가름 요인이라고 생각해요.
같은 유저 데이터여도, 링크드인이나 원티드같은 채용 서비스로 활용하는 것과 단순히 마이페이지에서만 활용하는 것에는 큰 차이가 있잖아요? 그리고 그 차이는 사람들의 수요
와도 연관되어 있겠네요. 채용을 보다 편리하고 리스크를 적게 하고 싶은 기업의 수요, 구직을 보다 편하고 다양한 정보를 얻고 싶어하는 구직자의 수요에 맞춰서요.
데이터의 접근성을 높이는 것
또한 데이터의 가치를 높이는 행위라 생각해요. 토스가 대표적으로 이러한 작업을 통해 많은 가치를 창출했다고 생각해요. 생각만해도 어려운 금융을 우리의 일상 속에서 간편하게 접할 수 있게 되었으니까요. 사용자를 배려한 UI와 훌륭한 데이터 시각화 또한 데이터의 가치를 높이는데 중요한 역할을 했다고 생각합니다.
저는 좋은 개발자도 마찬가지라고 생각해요. 개발 능력이 비슷하고, 문서화능력도 비슷하다면 결국에는 데이터에 부여된 가치를 이해하고, 이를 잘 활용할 줄 아는 개발자
가 좋은 개발자인 것 같아요.
프론트엔드 개발자 입장에서는 토스의 예시처럼 데이터를 의미있게 화면에 출력할 줄 아는 것
이 되지 않을까 싶어요. 저도 학습을 진행하면서 데이터를 단순히 출력하는 것이 아닌, 어떻게 데이터를 보여줄까?
를 조금 더 생각해봐야겠어요.
채용서비스를 예시로 들었는데, 개발자 채용에 관한 생각도 조금 적어보겠습니다.
채용자 입장에서는 지원자의 협업, 문서화, 개발적인 능력을 정량화하기 어렵다고 생각해요. 그렇기 때문에 그 사람이 속해있는 조직이 그 사람을 판단하는 가장 큰 잣대가 되는 것이기도 하다고 생각합니다. 이건 어느 직군에서나 마찬가지인 것 같아요.
그래서 채용과정에서
지원자를 가늠하려는 시도를 한다고 생각합니다. 이런 경향은 특히 주니어 채용에서 강하다고 생각해요. 아무래도 과거 이력이 전무한 경우가 많으니까 말이죠.
경력이 쌓이면 여기에 더불어 레퍼런스 체크
까지 추가되어 이 사람의 성향과 업무 스타일에 대한 정보를 얻어 조금 더 지원자를 검증하는 것이죠.
채용과정은 지원자와 채용자 둘 다 리스크를 떠안고 있습니다.
지원자는 지원한 회사의 개발문화, 업무 프로세스, 빠른 성장이 가능할 지 여부를 경험해보기 전까지는 확실히 알 수 없어요. 채용자는 지원자의 성향, 개발능력, 협업능력에 대한 정보가 부실하구요. 그래서 지원자는 자신에 대한 정보를 최대한 알리기 위해서 노력해야 하고, 회사도 회사의 정보를 최대한 오픈해서 핏에 맞는 지원자가 오기를 준비해야 하는 것 같아요.
마치 소개팅과 같은 것이죠. 직접 만나보기 전까지는 상대방에 대해 잘 알 수 없잖아요?
아무튼...그래서 지금 제가 좋은 개발자가 되기 위해 할 수 있는 것은
저는 개발공부를 시작하고 나서 지금까지 항상 내 잘한 점보다는 부족한 점이 자꾸 보였습니다.
나보다 한참을 앞서나가보이는 동료들과 나를 속으로 비교하며 스스로를 많이 다그쳤습니다.
그러다보니 어느 순간 우울감이 크게 오더라구요. 그래서 자바스크립트 기초부터 다시 공부하고 있는 것이기도 합니다. 기초를 다시 다지면서 올라가면 내 성장곡선이 더 가파르게 변할 수도 있겠다는 확신에 기반해서 말이죠.
개발자는 평생 공부해야 한다는 말이 맞습니다. 매일 공부하고 코드를 작성해도, 내가 모르는것들은 아직도 많고, 구현해보지 못한 기능도 많아요.
아직 내가 경험해보지 못한 지식들, 구현들이 있기에 나에게는 성장할 포인트들이 있는 것이기에 다행인 것 같기도 합니다 ㅎㅎ.
성장의 과정은 고통스럽지만, 싫지는 않습니다. 책상 앞에 앉으면 고통스럽지만, 내가 원하는 기능을 구현해 내는데 성공하면 참 즐거워요. 이제껏 공부한 어떤 과목보다 큰 성취감을 주는 분야라 잘 하고 싶은 욕심이 듭니다.
조금 늘어지고 있는 취업준비과정에서 이번 과제수행은 제게 경각심과 이정표를 동시에 선물해 준 소중한 경험이었습니다
역시 스스로 부딫혀 경험을 쌓아보지않으면 자신의 본 실력을 알 수 없는 것 같네요. 이 글을 읽고 계신 여러분들도 좌절하거나 포기하지 마시고 다들 많이 부딫혀보시기 바랍니다. 그래서 언젠간 우리 모두 최고의 동료가 되어 현업에서 만나요!
다들 소리내어 외쳐보죠. "나는 최고의 동료가 되어가고 있다! 잘 하고 있다!" 이렇게요 ㅎㅎ.
감사합니다.
통찰력있는 시니어 개발자의 글은 주니어 개발자들에게는 단비와 같죠. 읽어보시면 좋을 듯 하여 소개합니다.
가치 있는 정보 공유해주셔서 감사합니다.