책멍듣멍 독서 감상 후기 - 나는 네이버 프런트엔드 개발자입니다 를 읽고

도서출판 제이펍의 개발서적 서평단 이벤트에 선정되어 독서 후기를 적어 보았습니다.

cover-image

들어가면서

나는 네이버 프런트엔드 개발자입니다

표지에 드러나는 제목과 초록색 옷을 입고 계신 여덟 분의 개발자 삽화를 잠시 보다가 이윽고 정성들여 써주신 글들을 토요일 내내 읽어 보았습니다.

다 읽은 책을 덮고 잠시 생각하다가 프런트엔드 개발자로 근무 기간이 정확히 24개월 째에 접어들고 있는 현재의 나. 지금 잘 하고 있는 것인지 다시 한번 생각해 보았습니다.

여덟 명의 프런트엔드 개발자 분들이 써주신 경험과 조언이 담긴 글 중에서 김지한님이 쓰신 "프런트엔드 개발자가 되려면 무엇을 공부해야 하나요?" 챕터는 제가 현재 고민하고 있는 주제와 관련해 작은 울림을 선사해 주었습니다.

프런트엔드 개발자의 역할

사람과 기술 그 중간에서 눈에 보이고, 손에 잡히는 가치를 만들어내는 것이 프런트엔드 개발자의 일이다.

프런트엔드 개발자의 역할 그 어느 사이를 이해하는 데 적합한 다이어그램이라 생각되어 공유해보았습니다.

자료 구조, 알고리즘

1️⃣ 머지 소트(합병 정렬)를 손코딩? 머지 소트 같은 기본 알고리즘을 직접 만들어서 쓸 일이 있나요? 2️⃣ 왜 기초 알고리즘을 코드로 표현하라고 묻는 것일까?
  • 자료를 정렬하는 동작을 어떤 논리와 흐름으로 일어나는 일인지 원리를 이해하는지 알아보기 위해서.
  • 그 답을 낼 수 있는 논리력, 공학적 사고방식을 갖고 있는지 묻는 것.

글을 읽으면서 마음 한켠이 저릿함을 느꼈습니다. 알고리즘, 자료구조라 하면 개발자라면 잘 이해하고 있어야 하는 부분이라는 것을 머리로는 이해하지만 사실 저도 위와 같은 생각을 했기 때문이였습니다. 조금 부끄러워졌습니다.

부트캠프에서 고차 함수 등의 작동을 자바스크립트로 직접 구현해 보면서 어떤 동작인지 자세히 알아봤던 경험을 해본 기억이 있지만 그때 뿐. 대개는 그런 것 잘 모르지만, 이렇게 하면 (특정 도구 라이브러리 등이 지원하는) 돌아가니까 된 것이 아닌가 하며 스스로를 합리화 하며 명확한 이해를 건너뛰었던 순간들이 적지 않아서 더 반성이 되었습니다.

필요 없는 수식어, 핑계를 대지 않기 위해서라도 컴퓨터 공학 지식, 자료 구조에 대한 이해와 공부를 다시 시작해야 겠음을 느끼게 했습니다.

뿌리깊은 HTML, CSS, Javascript

자바스크립트를 거의 모르지만 리액트는 쓸 줄 아는 신묘한 능력을 가진 인재들을 어렵지 않게 만날 수 있다.

1️⃣ 프레임워크, 라이브러리에 의해 알아서 착착 돌아가는 마법같은 일은 언젠가 반드시 한계가 오기 마련이다. 2️⃣ 프레임워크가 해당 동작을 어떻게 구현했는지, 어떤 원리로 동작하는지 알아야 더 잘 다룰 수 있다. 3️⃣ 고로 자바스크립트 자체에 대한 이해와 숙련은 필수이다. 4️⃣ 렉시컬 스코프니 호이스팅이니 용어 정의는 줄줄 외우면서 자신이 작성한 코드의 영향 범위를 모른다면 디버깅에 정말 많은 시간을 쓰게 될 것이다.

회사 작업을 하면서 코어 자바스크립트 언어에 대한 보다 깊은 이해를 필요로 하고 그에 따른 부족함을 느껴서 저번 주부터 깃허브 저장소에 마크다운 형식으로 공부한 내역들을 작성해 나가고 있습니다.

특히 저 윗 줄의 문장을 읽고 또다시 뼈를 맞은 듯해서 계획한 바대로 잘 공부하고 정리해야 겠다고 생각했습니다.

네모난 바퀴를 둥글게

네모난 바퀴를 힘들게 미는 것보다는 잘 깎아서 동그란 바퀴를 미는 게 훨씬 빨리, 멀리 갈 수 있지 않을까.

자신의 바퀴를 충분히 둥글게 깎는 수고를 아끼지 말자고 써놓은 문장도 인상 깊어서 찾아온 이미지와 함께 남겨봅니다.

기획, 설계 의도를 파악할 줄 아는 유연한 개발자

'디자이너가 이렇게 줬으니까', '기획서가 이렇게 되어 있으니까', '피그마 명세에 구현한대로 했다구'

라며 사용자 경험에 맞지 않는 상황을 탓만 하는 프론트엔드 개발자가 과연 적합한 덕목을 가진 개발자인지. 설계 의도를 파악하고 적절한 대안을 제시하는 것이 좋은 프론트엔드 개발자의 자세라는 내용을 전달해 주었습니다.

회사에서 팀장님이 말씀해 주셨는데 개발자의 관점에서 이렇게 하면 되는 것이니 사용자들에게 이해를 구하는 것은 좋은 UX 관점이 아니라고 했습니다. 책에서 사용자의 시선과 동선을 고려하는 등 사용자 관점에서 발생할 수 있는 다양한 상황과 조건을 고려해서 기술적으로 잘 반영할 수 있어야 한다는 내용과도 일치되는 내용이여서 공감이 되었습니다.

회사에서 기획을 하시는 팀장님과 피그마에 명세된 사항을 검토해 보면서 의사소통을 합니다. 이 때, 사용자 관점에서 평소에 추가로 혹은 무언가를 수정하면 좋겠다 등으로 제안을 자주 하는 편입니다. 글을 읽으면서 사용자 관점에서 생각하는 개발자를 지향하고 더 노력해야 겠습니다.

마치면서

책의 첫 챕터에 소개된 김지한 개발자님의 글은 현재 프런트엔드 개발을 대하고 있는 저에게 다시 생각할 거리를 주었습니다.

새내기 개발자 분들이 커피챗 등을 통해 경력 있는 개발자 분들에게 조언을 구한다고 합니다.

그런데 저의 경우는 해당 책을 통해 한 장 한 장 넘기면서 책 속의 개발자 분들과 커피챗을 경험하는 느낌이 들어 좋았습니다.

무엇이든 공부란 모르는 것을 인정하는 데서 시작한다 하는데, 책에 나온 개발자 분들과 같이 좋은 개발 경험을 가질 수 있게 하려면 개발에 대한 고정 관념과 프런트엔드를 대하는 자세를 개선해야 하지 않나 생각이 들었습니다.

그러한 위기 의식을 스스로 느끼고 계획을 옮겨 실행해 나가는 것들을 착실히 더 잘 수행해 나가고 지켜야 겠다고 생각했습니다.

감사합니다.

이전 블로그로
다음 블로그로