The art of Frontend Engineering

웹이 계속 확장됨에 따라 업무와 여가를 위해 사용하는 도구는 브라우저의 URL과 동의어가 되었습니다. 최고의 디자인과 개발이 결합된 애플리케이션에 대한 요구가 그 어느 때보다 높습니다. 프론트엔드 엔지니어는 이러한 요소들을 한데 모아 모든 상호 작용에 만족감을 주는 인터페이스를 만듭니다. 그렇다면 훌륭한 프론트엔드 엔지니어는 무엇이며 왜 그렇게 특별한 것일까요?

이러한 질문에 답하기 전에 제 배경을 공유하는 것이 도움이 될 것 같습니다. 저는 기술 공동 창립자로서 초기 커밋부터 현재 웹사이트와 앱의 배포까지 모든 것을 책임지고 있습니다. 여기에는 이 사이트, Fey의 사이트, 모든 고객 사이트, Fey의 전체 프론트엔드가 포함됩니다. 이 역할은 제가 더 깊은 백엔드 시스템과 디자인을 좋아함에도 불구하고 항상 끌렸던 역할입니다.

이 특별한 역할은 항상 저를 매료시켰습니다. 하지만 그 중요성이 충분히 인정받지 못하는것 같다는 생각이 들때가 많았습니다. 이 글에서는 프론트엔드 엔지니어가 왜 그렇게 특별한 역할인지, 그리고 훌륭한 프론트엔드 엔지니어가 갖춰야 할 자질에 대해 이야기하고자 합니다.

프론트엔드가 흥미로운 이유는 무엇일까요?

프론트엔드는 HTML, CSS, JS의 아름다운 조합으로 디자인에 생명을 불어넣는 곳입니다. 어떤 사람들에게는 뒷전일 수도 있습니다. 다른 사람에게는 쉬운 일로 보일 수도 있습니다. 하지만 프론트엔드 엔지니어가 된다는 것은 사용자가 웹을 탐색할 때마다 느끼는 결과물이 바로 프론트엔드의 결과물이기 때문에 막중한 책임감을 가져야 한다는 것을 의미합니다.

저는 이러한 책임을 기꺼이 받아들이지만 도전이 없는 것은 아닙니다. 사용자 인터페이지는 상태관리, 성능, 디바이스 호환성, 브라우저 호환성 및 API를 관리해야 하는 피할 수 없는 고충을 의미합니다. 지금 작동하는 것이 나중에 고장날 가능성이 높다는 것을 알기 때문에 다른 브라우저를 열거나 새 기기를 가져와 테스트하는 것을 두려워하는 경우가 종종있습니다.

하지만 이 모든 고통에는 보상이 따릅니다. UI가 처음으로 렌더링되고 정적인 디자인이 모든 사람이 상호 작용할 수 있는 실체적인 것으로 바뀌는 마법 같은 순간이 항상 있습니다. 아이디어가 살아나고 방대한 양의 데이터가 일관성을 갖게 되는 순간입니다.

프론트엔드 엔지니어링이 특별한 이유는 디자인과 엔지니어링이 겹쳐서 인터페이스를 만드는 곳이기 때문입니다. 우리가 만드는 인터랙션이 사용자에게 어떤 느낌을 줄 수 있는지, 모든 것이 매끄럽게 느껴지도록 하기 위해 땀을 흘리는 세부 사항, 심지어 이러한 것들이 어떻게 결합되어 방어 가능한 브랜드를 구축할 수 있는지에는 마법이 있습니다.

훌륭한 프론트엔드 엔지니어의 조건은 무엇인가요?

저는 운이 좋게도 훌륭한 엔지니어들과 함께 일할 수 있었고, 그들의 작업과 능력에 경외심을 느꼈습니다. 제가 가장 존경하는 엔지니어들 사이에는 한 가지 주제가 있는데, 그들은 깊은 기술 개념을 파악하고 이를 디자인에 적용하여 각각의 개별 작품보다 더 훌륭한 최종 제품을 만들어낼 수 있다는 것입니다. 위대한 사람들은 디테일에 땀을 흘리고, 한계를 넘으며, 끊임없이 배웁니다.