3 minute read

김지한_프론트엔드 개발자가 되려면 무엇을 공부해야 하나요?

  • 손코딩을 시키는 이유 :
    • 알고리즘이 어떤 논리와 흐름으로 일어나는 일인지 이해하고 있는지를 테스트하기 위함.
    • 문제에 대한 답을 낼 수 있는 논리력, 공학적 사고방식을 갖고 있는지 확인하기 위함.
  • 최신 기술과 최신 스타일 코드도 좋지만, 내가 진행할 과제, 만들어야 할 제품에 적합한지를 먼저 생각하고 ‘적당한 기술’을 ‘적당한 구조’로 선택하는 것도 기술이다.
  • 내가 만드는 서비스를 누가 얼마나 쓸지, 지금 만드는 코드가 어느 시점에 다시 교체가 필요할지 생명 주기를 먼저 생각하라.

  • 일반적으로 컴포넌트 단위 개발 프레임워크와 상태 관리 라이브러리를 조합해서 사용하는데, 이런 컴포넌트 단위의 설계는 기획 및 디자인 단계부터 함께 고려해야 수월하게 진행할 수 있다.

하성욱_미국의 신입 개발자 한국으로 돌아오다

  • 회사에 지원했다면 스팸 메일도 반드시 매일 체크하자.
  • 미국의 방식 : 역량에 따른 직급이 존재하지만, 수직적인 관계를 형성하는 것이 아니라 직원들에게 명확한 성장의 기준을 제시해주고 시니어가 주니어를 이끌어주는 구조이다.
  • top-down 방식으로 일을 시키지 않고, 개개인이 책임감을 가지고 자유로운 환경에서 일을 해나가는 만큼 본인의 책임을 다하면 연차와 상관없이 기회가 주어졌다.
  • 한국은 미국보다 법적인 이유로 신경 써야 하는 부분들이 상당히 많았다.
  • 개발자들의 실력은 결코 미국에 비해 뒤쳐지지 않았지만, 조용히 있는 것을 미덕으로 여긴다는 것이 활발한 토론이나 의견 제시에 걸림돌이 되었다.

장기효_프론트엔드 개발 상담, 무엇이든 물어보세요

  • 회사가 신입 사원에게 요구하는 제 1의 역량은 입사 즉시 팀 성과에 도움을 줄 수 있는 역량이다.
  • TIL (Today I Learned) : 배운 내용을 잊지 않으려고 개인 학습 노트를 정리하는 것.
    • 새로운 지식을 매일 학습해야 하는 프론트엔드 개발자에게 있어서는 더할 나위 없는 학습법이다.
  • 프론트엔드 개발자의 역량은 자격증이 아니라 코드가 대변한다.
  • 대기업은 신입 사원을 교육시킬 여유가 있기에 학습 능력을 중요시한다. 반대로 스타트업은 당장 실무에 투입해도 바로 일할 수 있는 실무 능력을 좀 더 본다.
  • 개발자는 무언가를 만드는 행위 자체를 좋아해야 한다.

윤정현_오류와 실수, 신기술 도입, 성능 지표 이야기

  • 개발자로서 프로젝트를 진행하다 보면 프로젝트의 흥망성쇠가 생각과는 굉장히 다르게 흘러가는 경우가 종종 있다.
  • 의문: 정말 최선을 다해 개발하면 내가 담당하는 서비스의 성공 가능성이 1%라도 높아지는 걸까? 프론트엔드 개발자가 할 수 있는 것은 기획에서 정의한 기능을 문제없이 잘 동작시키는 것뿐일까?
  • 오류 처리 시스템
    • 오류 발생을 감지한 시점에 최대한 빠르게 동료와 공유하기
    • 오류가 더 이상 발생하지 않는 방향으로 최대한 빠르게 수정하기
    • 오류 원인 파악 및 수정하기
    • 오류 내용 공유 및 재발 방지 대책 수립 또는 논의하기
  • 유닛 테스트통합 테스트는 깃허브 액션을 이용해 PR 발생 시점에 자동으로 동작해 테스트를 통과했는지 바로 확인할 수 있도록 자동화한다.
  • E2E 테스트는 특정 개발 서버가 배포되는 시점에 수행하도록 설정한다.
  • 센트리 툴을 통해 오류 로그를 적재했다.
    • 경험상 배포한 직후에 오류가 발생할 확률이 높았기에 배포를 진행한 사람이 모니터링까지 담당하는 것으로 했다.
    • 너무 많은 로그 때문에 한눈에 파악하기 어려웠고, 이를 개선하고자 로그 레벨을 분리하였고 특정 조건을 지정해 알람을 설정했다.
    • 네트워크 오류와 관련된 로그는 바로 확인하지 않아도 되는 로그에 속한다.
  • 많은 프로젝트들이 시간이 지나면 ‘그때는 맞았지만 지금은 틀린’ 상황이 된다.
  • 신기술을 적용해서 리팩토링을 할 때는 최대한 사용자의 눈에 안 띄는 부분부터 적용을 해서 문제없이 동작하는지를 확인한다.
  • 웹 바이탈 지표 (구글) : LCP, FID, CLS
    • web-vitals 라이브러리를 이용해서 웹 바이털을 측정한다.
    • 이 중에서 가장 핵심이 되는 것은 LCP 값이다. 다만 측정 과정에서 사용자가 완전히 웹 페이지가 로드되기 전에 화면을 벗어나면 왜곡된 LCP 값이 로그에 적재될 수 있다.
  • 적재된 로그를 바탕으로 매주 정기적으로 리포트를 작성했다.

손찬욱_꿈을 현실로, 프론트엔드 솔루션과 서비스 개발

  • 프로젝트 과정 (예 : 내가 작성한 글을 보여주는 서비스)
    • 기획에서 목록에 들어갈 노출 정보를 정의하고 사용자 유입 경로를 정의한다.
    • 정의된 정보를 사용자가 더 잘 인시갛기 위한 화면 설계를 진행한다.
    • 해당 설계를 바탕으로 필요한 데이터와 초기 노출되는 화면에 대한 페이지 작성도 백엔드에서 준비한다.
    • 준비가 끝난 후, 프론트엔드 개발자는 디자인된 화면과 백엔드에서 전달하는 페이지, 그리고 데이터를 바탕으로 UI 작업을 진행한다.
    • 프론트엔드 개발이 끝난 후 서비스 품질 검증을 위한 QA를 진행하고 QA 확인과 대응이 끝나면 서비스를 오픈한다.
  • 콘웨이의 법칙 : 시스템의 구조는 설계하는 조직의 커뮤니케이션 구조와 닮는다.
  • 솔루션 개발자에게 필요한 덕목은 호기심과 탐구심이고, 반복적인 일을 싫어하는 성격까지 갖췄다면 더 좋다.
  • 서비스 개발자에게 필요한 덕목은 서비스를 이해하는 능력과 프로세스 관리이다.

박재성_글로벌 오픈소스 프론트엔드 개발자로 성장하기

  • 스티브 소더스 : ‘웹사이트를 빠르게 로딩하기 위한 14가지 룰’
  • 오픈소스 메인테이너가 되면, 꾸준하고 지속적인 릴리스를 해야 하고 새로운 기능을 구현하고 발견된 버그를 수정해야 하며 사용자의 질문과 의견에 답해줘야 한다. 또한 생태계 변화에 따른 지원도 필요하다.
  • 브렌던 아이크 : “항상 자바스크립트에 베팅하라.”
  • 네 가지 성장 노하우
    • 공유를 목적으로 기술 글을 작성해본다. (TIL)
    • 한 번 작성된 내용은 재사용한다.
    • 나만의 시리즈, 프로젝트를 기획한다.
    • 실천한다.
  • 학습을 통한 성장은 필수이기에 피하기보다는 어떻게든 맞서고 이뤄내야 하는 영역이다.
  • 제프 앳우드 : “자바스크립트로 작성될 수 있는 앱들은 결국 자바스크립트로 작성될 것이다.”

윤영재_유사 전공자의 개발자 그리고 리더 이야기

  • 프론트엔드는 전공 지식이 많이 필요하지 않다고 이야기하는 사람도 있다. 그러나 유지보수하기 좋으면서 성능까지 고려하려면 전공 지식은 필수다.
  • 연차가 쌓일수록 지금 연차면 더 많은 것을 알아야 하는 것이 아닌가 불안함을 느끼는데 중요한 것은 내가 전문성을 갖춘 분야이다.
    • 약점이 보완해야 할 대상은 맞지만, 집중해야 하는 부분은 나의 강점이다.
  • 열정과 흥미가 있다면, 아무리 비전공자라도 열정과 흥미가 부족한 전공자보다 훨씬 더 빠르고 크게 성장할 수 있다.
  • 개발 리더가 되면 개발 시간이 줄어든다. 여기저기 회의에 참석하고 면담하고 면접보는 시간으로 스케줄이 가득 찬다.
  • 스타트업과 사업은 ‘사람이 전부’이다. 개발 팀도 마찬가지다. 좋은 사람을 잘 뽑으면 모든 것은 잘 돌아간다.

Updated: