Develop+

프론트앤드 프로덕트 개발환경 본문

그냥 내 이야기

프론트앤드 프로덕트 개발환경

Sunny Buddy 2022. 10. 11. 00:23
728x90

프론트앤드 필수 역량은 무엇인가?

프론트 앤드 개발을 위한 지식, 역량, 더 나은 개발을 하기 위해 필수적으로 알아야 하는 지식들에는 세가지가 있다.

  1. 네트워크에 대한 이해도, 깊은 지식

프론트 개발자라면 네트워크에 대한 이해도가 있어야 어떤 자원들이 언제 어떻게 내려오고, 이를 파악하여 속도 개선을 생각해 볼 수도 있다. 어느 부분보다 네트워크는 제일 먼저 학습해야 하는 부분인 거 같다.

  1. 메모리 관련 기능들이 각각 무엇이고 무슨 영향을 미치는가

나를 포함하기도 하고 많은 프론트 앤드 개발자들이 이 부분에서 부족한 경우가 많다. 개발자 도구에서 메모리 관련 기능들을 보고, 메모리 관리를 해 어떤 것들이 프로그램에 무슨 영향을 끼치는지를 디버깅 할 수 있는 능력을 키워야 한다.

  1. 퍼포먼스 부분

퍼포먼스 부문은 필수 지식이지만 굉장히 여러 분야를 걸친 지식을 요구한다. 네트워크나 메모리 관련 지식들이 쌓여야 퍼포먼스에서 빛을 발할 수 있다.

더 유연한 앱을 만들기 위한 지식을 요구하기 때문에 빠르게 익힐 수 있는 지식은 아니다.

위 세가지 지식들은 프론트앤드 개발을 하기 위한 필수 지식들이기도 하지만, 쉽게 배울 수 없기도 한 지식들이기도 하다. 이 세가지를 포함한 프론트앤드 기술에 대한 전반적인 지식을 시리즈로 작성해 볼 예정이다.

프론트앤드 프로덕트 개발환경

프로덕트 개발환경을 구성하는데 생각해봐야 할 것은,

문제는 어디서 발생하는가? 이다.

Redux/React개발환경 강의에서 말하는 문제가 발생하는 포인트는

협업과 제품을 만들어가는 과정에서 서비스가 일정 규모이상으로 성장할 때 문제가 발생한다. 트래픽이나 사용자가 높아졌을 때 아무 문제가 없던 소프트웨어가 문제를 일으킨다.

현재 상태는 어떤지 알고있어야 어느 시점부터 문제가 생길지를 미리 대비를 할 수 있다.

하지만 오버엔지니어링은 비용이 많이 들기 때문에, 적절한 유연성을 가진 개발을 해야한다.

리스크 관리

리스크를 줄이기 위해서는 필요없는 기능은 최대한 배제하고 MVP에집중해야한다.

클린코드에 집착하지 말자. 동작하는 코드가 가장 가치있는 시기가 있다.

기술관점에서 MVP를 보자면

  1. 이떤 기술이 적정기술인지 고른다. 늘 최신기술 보다는 잘 다룰 수 있는 기술.
  2. 최대한 포기하라, 포기할 것과 포기하지 못할 것을 분류하고 간다.
  3. 기술보다 중요한것은 속도, 언제나 서비스의 생존이 최우선이다.

사용자 로그를 수집하라, 그리고 분석하자!

  1. 로그는 필수 요소이다. 분석 인프라가 없더라도 초기 로그를 수집하라.
  2. 로그 분석 인프라를 마련하고, 지속적으로 발전시켜라 (Sentry…etc)
  3. 먼저 설치하고, 분석할 수 있는 역량이 될 때 분석을 해도 늦지 않다.

개발 시 고려사항들은?

프론트앤드 개발에서는 웹의 철학과 특징을 고려해야한다.

시대의 흐름에 따라 웹이 흐름이 바뀐다. 기술이 서비스 성공의 촉매 역할을 할 수도 있다.

예를들면 접근성이나, SEO등등을 생각할 수 있다. 사회적 약자를 배려한 접근성은 다양한 유저를 확보할 수 있고, SEO 를 잘 준비해둬 검색으로 이어지는 결과를 가져올 수도 있다.

모든 웹 컨텐츠는 공유될 수 있는 자원이라는 것을 고려하자.

이러한 검색엔진과 접근성 기술은 개발자가 잘 챙겨야한다.

외부 서비스 연동 정보의 관리

우리는 서비스를 이용하면서 카카오로그인, 애플로그인…. 등등 외부 서비스를 연동하는 정보를 관리하는 경우가 있다. 해당 서비스들과 연동하기 위한 데이터들은 하드코딩으로 박아놓으면 변경이 될 때 어디에서든 업데이트가 되지 않을 수가 있다.

초기부터 외부와 관련된 키들은 따로 관리하는 것이 중요하다.

신규서비스의 UI/UX 중요도.

어설픈 UI/UX는 좋은 이미지를 만들 수 없고, 이탈을 시킬 가능성이 높다. 최소한의 퀄리티는 넘을 수 있는 UI/UX를 추구하도록 해야한다.

디자이너와의 협업을 적극적으로 해야 꼼꼼하고 디테일한 UI/UX가 나온다.

만약 UI/UX와 기능이 경합을 벌이면 견고함을 선택하자.

UI/UX는 사용자 경험에 굉장히 큰 영향을 미치기 때문에 어설퍼보이는 UI/UX는 사용자를 잃기도 한다.

728x90