FrontEnd

시니어 프론트엔드 개발자가 전하는 37가지 팁

범데이 2024. 5. 28. 00:29
728x90

이 포스팅에서는 프론트엔드 개발자라면 참고할만한 중요한 팁 37가지를 잘 정리한 포스팅이 있어서, 영어 원문을 번역하여 가져오게 되었다.

(원문 사이트: https://dev.to/_ndeyefatoudiop/37-tips-from-a-senior-frontend-developer-251b)

 

 

프론트엔드 개발을 하는데에 있어서 좋은 양분이 되는 내용이 될 것이다.


1. 기본을 마스터하자

흔들리는 땅 위에 지어진 집은 작은 문제에도 무너진다.

마찬가지로, 강력한 기본 사항이 없는 경우

  • JavaScript 프레임워크로 어려움을 겪을 것이다.
  • 익숙하지 않은 첫 번째 문제에 막히게 될 것이다.
  • 일부 문제 사이의 공통 주제를 파악하지 못할 것이다.

따라서 프론트엔드 개발자로서 발전하고 싶다면 먼저 HTML, CSS, JavaScript를 마스터하자.

 

 

2. 웹이 어떻게 동작하는지 이해하자

프론트엔드 개발은 지난 몇 년 동안 더욱 복잡해졌다.

다양한 도구가 사용된다.(bundlers, transpilers, etc..)

 

웹이 어떻게 작동하는지 이해하지 못하는 경우(예: 지원되는 “유일한” 언어는 HTML(구조용), CSS(스타일 지정용) 및 JavaScript(상호작용용)), 온라인에서 코드를 실행하려면 왜 그렇게 많은 도구가 필요한지 이해하기 어려울 것이다.

 

 

3. 데이터 구조 및 알고리즘에 익숙해지자

데이터 구조 및 알고리즘은 코딩 인터뷰로 인해 종종 나쁜 평가를 받는다.

 

그러나 핵심 항목과 그 복잡성을 이해하는 것이 중요하다. 이러한 지식이 없으면 복잡한 프로그래밍을 코딩하거나 코드 효율성을 평가할 수 없다.

 

다음은 알아야 할 데이터 구조/알고리즘의 대략적인 목록이다.

데이터 구조: 스택, 큐, 해시맵, 세트, 그래프 등..

알고리즘: 동적 프로그래밍, 탐욕 알고리즘, 재귀 등..

 

 

4. 읽거나 보는 것보다 직접 해보면서 배우자

튜토리얼은 당신이 발전하고 있다는 느낌을 갖도록 속인다.

 

그들은 당신이 배우고 발전하고 있다고 믿게 만들지만 앞으로 나아갈 수는 없다.

실제 학습은 연습이나 교육을 통해 이루어진다.

 

그러니 많이 연습하고 튜토리얼 지옥에 갇히지 않도록 하자.

 

 

5. 막혔을 때는 도움을 요청해라

당신은 혼자가 아니다.

도움을 요청할 수 있는 시니어 개발자가 근처에 있을 가능성이 있다.

 

그러니 토끼굴로 내려가는 데 시간을 낭비하지 말자. 당신의 목표는 가치를 제공하는 것이다. 다른 사람들이 이미 해결한 문제를 해결하는 데 시간을 낭비한다면 가치를 달성할 수 없다.

 

 

6. 올바른 방법으로 도움을 요청하자

도움을 요청하기 전에 최소한의 조치를 취했는지 확인해라.

 

먼저 다음을 수행해야 한다.

  • 해결을 위해 Google/Stack Overflow/ChatGPT 에 검색한다.
  • 목표를 이해하고 무엇이 동작하지 않는지 숙지한다.
  • 실패한 모든 시도를 기록해둔다.

또한 동일한 문제에 반복적으로 도움을 요청하지 말자. 도움을 받으면 잊지 않도록 어딘가에 메모를 해두자

 

 

7. 이해하지 못하는 코드를 복사/붙여넣기 하지 말자

이는 여러가지 이유로 심각하게 좋지 않다.

  • 토큰과 같은 민감한 정보를 노출하는 안전하지 않은 코드가 발생할 수 있다.
  • 코드를 쉽게 디버깅할 수 없다.
  • 동료들에게 설명할 수 없다.

ChatGPT는 때때로 80%의 정확한 답변만 제공하기 때문에 특히 그렇다.

 

 

8. 온라인에서 찾은 모든 조언을 맹목적으로 적용하지 말자

온라인에서 조언을 볼 때 먼저 다음 질문을 스스로에게 물어보자

  • 이 조언이 나에게 적용되나?
  • 그 사람이 나와 비슷한 맥락에서 조언하고 있는 걸까?

TLDR: 상식을 발휘하자.

 

 

9. 좋은 의도를 가정하자: 사람들은 당신이 성공하기를 원한다.

당신이 신입이라면 사람들이 당신의 실수를 잡아서 해고하기를 기다리고 있다고 생각하는 것이 일반적이다.

그러나 그것은 그 반대이다.

 

회사가 당신을 고용하면 당신이 크게 성공하기를 원한다. 그렇지 않으면 교육 및 온보딩에 투자한 시간과 리소스가 낭비된다.

 

그러므로 회사가 당신이 잘되기를 원한다는 것을 믿고, 주저하지 말고 동료들에게 지원을 요청하자.

 

 

10. 완료된 것이 완벽한 것보다 낫다

완벽함을 추구하면 종종 다음과 같은 결과가 발생한다.

  • 꾸물거림
  • 시간 낭비
  • 과도한 복잡성
  • etc

따라서 더 많은 것을 추진하기 전에 V0를 출시/검증하는 것을 목표로 하자

 

 

11. 항상 작업을 관리 가능한 작업으로 나누자

압도감을 느끼는 가장 쉬운 방법이 무엇일까?

→ 씹을 수 있는 것보다 더 많이 깨물려고 노력하는 것이다.

항상 프로젝트를 더 많은 작업으로 나누자.

 

이는 다음을 수행한다.

  • 압도감을 느끼지 않도록 하자
  • PR(풀 리퀘스트)를 더 쉽게 검토할 수 있도록 하자
  • 진행 상황을 제공하자.

 

12. 도움이 필요할 때 연락할 수 있다는 신뢰를 얻자.

무언 갈 시작할 때 최우선 순위는 관리자의 신뢰를 얻는 것이다.

그들은 당신에 대해 생각할 때 마음의 평화를 가져야 한다.

그들은 다음을 믿어야 한다.

  • 당신은 간단한 일에는 믿음직스럽다.
  • 당신은 필요할 때 도움을 구할 것이다.
  • 당신은 문제가 있으면 의사소통을 할 것이다.

당신은 관리자가 지속적으로 모니터링 해야 하는 골칫거리가 되어 관리자의 작업량을 늘리고 싶지않을 것이다.

 

 

13. 일에 대한 열정을 보이자

열정으로 많은 단점을 보완할 수 있다.

당신이 새로운 사람이라면, 열성적이고 흥분하자.

숙련된 개발자만이 열정이 부족할 수 있다.

 

누구도 끊임없이 누군가를 일하도록 강요하고 싶어하지 않는다. 멘토링은 이미 충분히 힘든 일이다. 누군가에게 동기를 부여하는 것은 그것을 더욱 어렵게 만든다.

 

 

14. 새로운 것/도구/방법을 배우는 데 열린 자세를 유지하자

프론트엔드 개발은 끊임없이 발전하고 있다.

따라서 새로운 기술을 받아들이는 데 개방적이어야 한다.

현재 도구에 너무 집착하지 말자. 대신, 학습에 대한 열정을 보이자.

 

 

15. 사용하는 개발 도구를 마스터하자

개발 시간을 단축하고 싶다면?

개발 도구를 마스터하자:

  • IDE (예: VSCode)
  • 소스 컨트롤 시스템 (예: Github)
  • 브라우저 및 개발자 도구(예: 크롬 개발자도구)
  • 등등

 

16. 가치 전달에 집중하자

아무런 맥락없이 코드를 작성하지 말자

작성하는 모든 코드는 다음에 대한 가치를 제공해야 한다.

  • 나의 고객
  • 나의 회사
  • 나와의 이해관계자
  • 등등

나의 보상은 내가 작성한 코드가 아니라 내가 제공한 가치에 따라 결정된다.

따라서 목적에 부합하는 효과적인 코드 작성을 우선시하자.

 

 

17. 나의 일을 옹호하자. 그것은 스스로를 대변하지 않는다.

아마도 초보 개발자가 저지르는 가장 흔한 실수중 하나일 것이다. (특히 겸손을 중시하는 문화권 출신인 경우)

  1. 당신은 주목할 만한 일을 해냈다.
  2. 아무도 그것에 대해 모른다.

→ 그 일은 중요하지 않을 것이다.

따라서 글쓰기, 데모 등을 통해 작업을 공유하자.

 

 

18. 영리한 코드보다 멍청한 코드 작성을 선호한다.

코드는 작성된 것보다 훨씬 더 자주 읽혀진다.

따라서 자신만이 이해할 수 있는 영리한 코드를 작성하지 말자.

가독성 > 성능 > 영리함.

동료가 코드를 효율적으로 사용하고 필요한 경우 도움을 주기를 원한다.

 

 

19. 당신의 관리자는 당신의 최고의 동료이다.

특별히 운이 좋지 않은 경우를 제외하고는 관리자가 당신의 성장을 지원해 줄것이다.

 

그들은 일반적으로 당신이 다른 곳에서 기회를 찾는 대신 성공하고, 팀에 기여하고, 회사에 남아 있기를 원한다. 따라서 목표를 달성하려면 반드시 그들을 참여시키자.

 

혼자서 어려움을 겪는 대신 승리, 실패(긍정적인 관점에서) 및 좌절감을 공유하자

 

 

20. 관리자의 삶을 편하게 해주자

이것은 쉽지만 종종 간과된다.

당신의 관리자에게는 다음과 같은 문제가 있을 수 있다.

  • 문서를 추가해야 하지만 시간이 부족하다
  • 업무량이 너무 많아 지원이 필요함
  • 등등

이는 아마도 관리자의 지원(승진, 임금 인상 등)을 얻는 가장 간단한 방법일 것이다. 그들은 이미 작업을 알고 있으며 (적어도 그들에게는) 그 영향을 직접 확인할 수 있다.

 

 

21. 작업 이면의 큰 그림을 이해하자

무식한 코드 원숭이가 되지 말자

(시작할 때 도움이 될 수는 있다.)

하지만 다음 단계에 도달하려면 작업 이면의 맥락을 이해해야 한다.

  • 왜 그것들이 가치 있는가
  • 당신이 그들에게 배정된 이유
  • 회사의 전반적인 전략에 어떻게 부합하는지

이러한 이해는 경력의 다음 단계로 발전하는 데 필수적이다.

 

 

22. 팀에 기여하자(문서화, 기술 토크, 데모 등)

이는 회사뿐만 아니라 당신에게도 이익이 된다.

데모 수행, 문서 공유 등을 통해 기술을 선보이고 팀의 생산성을 향상시킬 수 있다.

항상 팀의 성과를 최대한 향상시키는 것을 목표로 하자. (즐겁고 보람찬 일이다.)

 

 

23. 특정 지역의 “참가자”가 되어 보자.

딱 한 가지 팁을 제시해야 한다면 이것이다.

 

경력 초기에는 다양한 분야를 탐색하는 것이 좋다.

하지만 중-고급으로 진출하려면 한 분야의 전문성을 키우는 데 집중해야한다. 이는 여러 영역에서 평균이 되는 것보다 프로모션에 더 매력적이다.

 

따라서 T자형 기술: 즉 한 분야에 대한 깊은 전문 지식과 폭넓은 지식을 목표로 하자.

 

 

24. 의사소통 능력을 키우자

불행히도 이것은 필수이다.

 

개발자에게는 의사소통이 매우 중요하다. 우리는 종종 다음과 같은 작업을 수행해야 한다.

  • RFC(Request for Comments)
  • 데모
  • 프리젠테이션

따라서 기본 수준의 의사소통 능력을 갖추고 있는지 확인하자

 

 

25. 문제에 봉착했을 때 휴식을 취하자

문제에 깊이 빠지면 잠시 멈추기가 어렵다.

하지만 쉬고 나면 계속해서 새로운 아이디어가 떠오른다.

그러니 너무 오랫동안 갇혀 있었다면 잠시 물러나자.

 

 

26. 약점이 아닌 강점을 활용하여 일하자

명백한 약점을 고치려고 시간을 낭비하지 말자.

같은 수준의 다른 사람들이 5분 안에 완료하는 작업을 수행하는 데 지속적으로 1시간 이상이 걸린다면 해당 작업을 피하자.

아마도 더 많은 에너지를 투자한다고 해서 당신이 그 분야에서 뛰어난 사람이 되는 것은 아닐 것이다.

대신, 꼭 필요한 일을 하고 자신의 강점을 극대화하는 데 집중하자. 어떤 것이 당신에게 자연스럽게 다가오고 가치 있다면, 더 많이 하자.

 

 

27. 나의 진로에 대해 주인의식을 갖자.

아무도 나를 위해 나의 경력을 계획하지 않을 것이다.

그리고 계획이 없으면 다른 사람의 계획을 위해 일하게 될 것이다.

따라서 1/2/5년 안에 달성하고 싶은 것에 대한 계획을 세워야 한다.

 

 

28. 다른 개발자들과 어울리자

현재 *가면증후군을 겪고 있는가?

*가면 증후군: 어떤 성취를 이뤄 냈을 때 충분한 자격과 실력이 있음에도 불구하고 자신이 그 자리에 있을 자격이 없고, 언젠가는 이 가면이 벗겨질 것이라는 불안을 느끼는 증상

 

그렇다면 다른 개발자들과 시간을 보내자.

나는 혼자가 아니라는 것을 금방 깨닫게 될 것이다.

 

다른 개발자와 소통하면 다음과 같은 추가 이점이 있다.

  • 새로운 요령/팁을 얻을 수 있다
  • 공유된 경험에 대해 토론할 수 있다.
  • 서로의 작업을 보완할 수 있다.

 

 

29. 젊은 개발자를 멘토링하자

이것은 가면 증후군에 대한 최고의 치료법 중 하나이다.

 

젊은 개발자 멘토링을 시작한다면 다음과 같은 효과가 있다:

  • 내가 뭔가 알고 있다는 것을 깨닫게 된다.
  • 나는 중/고급 개발자로 자리매김하게 될 것이다.

 

 

30. 해결하는 문제를 다양화하자

동일한 문제를 지속적으로 다루고 있다면 진행 상황이 정체될 것이다.

다음을 수행할 수 있도록 다양한 문제를 해결하고 있는지 확인하자.

  • 다양한 접근 방식
  • 비교 문제 해결을 위한 툴킷 개발

 

 

31. 멘토 찾기

훌륭한 멘토를 갖는 것이 정말 중요하다.

  • 멘토는 나의 여정을 이해하면서 나를 기반으로 유지한다.
  • 그들은 자신이 저지른 실수를 피할 수 있도록 안내한다.

어떻게 멘토를 찾을 수 있을까?

경험히 풍부한 개발자와 소통하고, 질문하고, 그들의 경험에 대해 토론하자.

 

고위 개발자에게 접근할 수 없다면 X와 같은 플랫폼에서 개인과 소통하고 관계를 구축한 다음 연락하자

 

 

32. JavaScript 프레임워크에 전념하고 마스터하자

최고의 프레임워크는 목표를 가장 빠르게 달성하는 데 도움이 되는 프레임워크이다.

따라서 온라인에서 무의미한 논쟁을 무시하자.

가장 편안하거나 배워야 하는 프레임워크를 선택하자.

그리고 그것을 마스터하자. 그거면 충분하다.

견고한 JavaScript 기본 사항을 사용하면 다른 프레임워크로 빠르게 전환할 수 있다.

 

 

33. 사용자 경험을 끊임없이 생각하자

프론트엔드 개발자라면 사용자에 대해 생각해야 한다.

PM이나 디자이너가 이더라도 사용자 경험이 좋은지 확인하자.

  • 필요할 때 로드 상태 사용
  • UI에서 진행 상황 전달
  • 사용자에게 피드백 제공

 

 

34. “No” 라고 편하게 말하자

개발자로서 관리할 수 있는 것보다 더 많은 요청을 받는 경우가 많다.

따라서 목표에 가장 부합하는 항목의 우선순의를 정하자

 

 

35. 나의 능력에 지속적으로 투자하자

프론트엔드 개발자가 되기로 선택함으로써 나는 지속적으로 배워야 하는 직업에 전념하게 된다.

그러므로 새로운 언어를 습득하고 새로운 기술을 익히는 등 기술에 계속 투자하자

 

 

36. 작업이 너무 많으면 기능을 줄이고 코드 품질을 낮추자

앱에 기능이 많을 수록 좋다. 과연 그럴까?

처음에는 이것이 사실처럼 보일 수 있지만 추가 기능으로 인해 더 많은 코드가 필요하다. 그리고 더 많은 코드는 더 많은 문제(유지 관리, 버그 등)를 의미한다. 따라서 시간이 지남에 따라 코드 품질을 희생하면서 기능을 다듬어야 한다.

 

 

37. 공동 작업자(디자이너, 백엔드 개발자 등)를 이해하려고 노력하자.

항상 협력자(백엔드 개발자, 디자이너, PM 등)를 존중하자.

앱 개발은 팀 노력이다. 팀원 간의 시너지가 높을수록 환경은 더 행복하고 효율적이 될 것이다.

반응형