프론트엔드, 왜 하니?

Chan - Aug 29 '23 - - Dev Community

🤔글을 쓰는 계기

IT 관련된 대외활동 질문 문항 중 단골 문항 중 하나로 지원 동기가 있다. 보자마자 머리가 아프고 어떻게 답변을 해야하는지 감도 잘 오지가 않는다. 키보드로 두들겨 보는 답변은 다음과 같다.

어쩌다보니 하게 됐어요.

웹개발 공부를 하다 보니 프론트엔드 쪽으로 어느새 관심이 가있었다. 어찌보면 솔직한 답변이다. 하지만 이런 답변을 적는다면 떨어질 것은 누구나 알고 있다. 충분한 고뇌와 통찰은 커녕 성의가 없는 답변을 하는 사람이 대외활동을 잘 할 거라고 믿을 수 있겠는가. 무의식적으로 프론트엔드를 선택했더라도 그 속에서 어떠한 이유가 있을 것이다. 그래서 이번 글에서는 내가 프론트엔드를 공부하는 이유를 정리했다.

🚉높은 접근성: 쉽게 인터넷에서 찾을 수 있는 학습 자료

고등학생부터 대학교 1학년 정도까지는 학습 자료가 많아서 웹개발 공부를 했다. 우리 고등학교에는 정보 수업이 없어서 구글이 내 코딩 선생님이 되어주었고 제일 자료가 풍부한 분야가 웹이라 이 쪽을 공부하였다. 대표적으로 웹개발을 공부한 사이트는 FreeCodeCamp이다. HTML, CSS, Javascript를 문제를 단계별로 해결할 수 있고 설명도 쉬워서 진도를 쭉 나갔다. 프로젝트 과제도 있어 random quote machine, weather app을 만들었다. 과제를 해결할 때 웬만한 웹 기술 정보는 MDN에서 찾을 수 있다. 내가 가질 수 있는 대부분의 질문은 스택오버플로우에 등록되어 있다. MDN의 설명이 너무 복잡하다면 w3schools를 읽고 나중에 심도있게 공부하면 되었다.

👀눈에 바로 보이는 결과

우선 프론트엔드가 무엇인지 위키피디아에서 찾아보면 다음과 같이 설명한다.

Front-end web development is the development of the graphical user interface of a website, through the use of HTML, CSS, and JavaScript, so that users can view and interact with that website.

  • 사용자가 볼 수 있는 UI를 HTML, CSS, Javascript를 이용하여 개발한다.
  • 사용자는 UI를 통해 웹사이트와 상호작용할 수 있다.

서버를 개발하는 백엔드 개발과 비교했을 때 UI를 개발하다보니 내가 HTML, CSS, Javascript로 작성하는 코드의 결과를 볼 수 있다. 춤 영상 보기를 좋아하고 여행 다니면서 여러 아름다운 풍경 보기를 좋아하기 때문에 그래피컬하게 아름다운 결과가 나오면 굉장히 뿌듯했던 것 같다.

🤝 사용자 경험을 고려하는 과정에서 오는 흥미로움

기존에는 첫번째와 두번째 이유가 프론트엔드를 공부하는 주요한 동기였지만 최근에 들어서 사용자 경험을 고려하는 코드를 작성할 수 있다는 점이 핵심적인 공부 동기로 작용하고 있는 것 같다.

웹 접근성

프론트와 UX의 연관성을 다루는 글을 읽으면서 '프론트엔드 개발과 UX를 연관지을 수도 있구나'라고 생각했다. 그러다가 이번 여름 방학에코멘토에서 웹 접근성 직무부트캠프를 들으면서 더욱 확실하게 UX와의 연관성을 경험했다. 해당 캠프에서 맹인, 저시력자, 색각이상자(색맹/색약), 손가락이 없는 사람 등 다양한 종류의 사람뿐만 아니라 검색엔진 봇(SEO)까지도 접근이 용이한 웹 애플리케이션을 만드는 방법에 대해서 배웠으며 유명한 웹사이트의 웹 접근성 관련 문제점들을 찾고 개선사항을 작성하는 보고서를 작성했었다. 웹 접근성도 사용자의 제한 사항을 고려하는 과정이기 때문에 UX의 범주에 들어간다. 사람을 고려하면서 코드를 작성한다는 점 덕분에 해외 여행을 하는 동안에도 열정적으로 캠프에 참여할 수 있었다.

프론트엔드 성능 측정

또한 우아한 테코톡: 프론트엔드 성능 측정에 나온 성능 지표인 LCP(Largest Contentful Paint, 가장 큰 이미지/텍스트 블록의 렌더링 시간), INP(Interaction to Next Paint, 상호작용에 따른 응답 시간), CLS(Cumulative Layout Shift, 비동기적 DOM 렌더링으로 인해 의도치 않은 컨텐츠와 인터렉션) 등도 결국 UX로 귀결되지 않다 싶다.

백엔드와 비교

백엔드든 프론트엔드는 시스템(운영체제, 브라우저) 위에서 돌아갈 수 있는 코드를 작성할 수 있다는 점에서는 같지만 UX에 기여할 수 있는 부분이 많다는 점이 백엔드와 다른 것 같고 이 부분이 매력적이라 계속 공부하고 있는 것 같다.

🕦 결론

접근성이 좋아 공부하기 편하고, UI를 작성하기 때문에 결과를 눈으로 확인할 수 있고, 사람을 고려하는 설계가 재미있어 나는 프론트엔드를 공부한다. 반대로 백엔드 공부하는 사람들은 어떤 점이 좋아서 빠져들었을까?

. . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player