IT,Programming/TIL

프론트엔드 개발자가 되기 전에 알았으면 좋았을 20가지

(범) 2022. 6. 17. 11:34

* 본 내용은 태곤님의 강의 내용을 필기 한 것입니다*

 

개발자의 역량이란 무엇일까요? 보통 아래와 같습니다.

개발자의 능력 = Hard Skills(30~50%) + Soft Skills(50~70%)

즉, 프로그래밍 능력 + 커뮤니케이션, 협업, 글쓰기,커리어관리 등 프로그래밍 외적 능력이 개발자의 역량입니다.

 

그래서 오늘의 주제...

 

 그렇다면 Soft Skills을 어떻게 기를까?


 

1. 테스트에 용이한 코드를 작성하자

 

a. 테스팅 프레임워크를 활용

cypress / playwright 등 사용할 수 있다.

 

b. 최대한 코드를 쪼개서 작성 

코드를 기능별로 쪼개서 작성하면 문제가 발생하는 코드를 발견하기 쉽다.


 

2. 읽기 쉬운 코드를 작성하자

 

a. 코드에 배려심을 담느냐의 문제

회사에서 동료들과 협업을 하다가 읽기 쉬운 코드를 만들어줘야 서로 시간도 절약하고 화병 안난다.

 

b. 네이밍은 자세하게

네이밍은 가독성길이보다 중요하다.

따라서 네이밍은 다른 사람이 봐도 이해하기 좋게 최대한 자세하게 작성해준다.


 

3. 테스트 코드를 작성하자

 

a. 테스트 코드는 가능한 부분부터 작성

보통 작성하지 않는 회사가 많다.

하지만 한 번 겪은 버그는 테스트 코드로 작성해놓으면 회귀버그(전에 발생했던 버그)를 예방할 수 있다. 

 

b. 리펙토링 전에 테스트 코드를 꼭 작성

귀찮을 수 있지만 훨씬 안전하고 필요하다. 테스트 코드를 작성하지 않고

리펙토링에 들어가는 것은 낙하산 없이 뛰어내리는 것과 같다_ 마틴 파울러


 

4. 가능한 쪼개서 하나씩 하자

 

a. 한 커밋에는 한 가지 문제만

그래야 추후에 추적하기가 쉽다.

 

b. 실험은 한 번에 하나씩만

새로운 기술이나 방법론을 실험하는 것은 좋으나 하나씩 해야지 자칫 너무 고생만 하고

다시 원래 방법으로 돌아가는 경우가 많다.

고생 = (학습+프로젝트)*2


 

5. 지속적인 학습을 하자

 

a. 나만의 학습 루틴을 만들어두자

개발자는 어차피 평생 공부할테니 본인에게 맞는 개발 공부 방법을 찾아야 한다.

 

b. 영어는 필수 

읽기는 최우선으로 해야 한다.

많은 개발문서를 영어로 읽는 연습을 꾸준히 하면 실력이 늘것이다.


 

6. 개방적인 사고를 가지자

 

현업에서 정답은 없다

대체로 옮은 기술은 없다. 상황에 따른 선택이 있을 뿐.

따라서 불만을 가지거나 화를 낼 필요가 없다.


 

7. UX전문가를 지향하자

 

절반쯤은 UX 전문가가 되어야 한다

프론트엔드의 개발물은 사용자가 직접적으로 사용하기 때문에 UX에 대하여 깊은 고민을 해야 한다.


 

8. 풀스텍 엔지니어링 지식은 익히되 풀스택 엔지니어를 지향하지는 말자

 

a. 전문 분야를 갖추기

하나 잘하기도 점점 더 어려워지고 있으니 전문 분야를 가져야 한다. 

 

b. 실망감을 주지않기

오히려 잘한다고 하고 잘 못하면 실망감을 주니 아는것이 별로 없다고 말하는게 오히려 낫다.


 

9. ' 안 된다 '는 말은 그만

 

a. 시간과 돈을 근거로 이야기 하자

단순히 안 된다고 말하는 것 보다, "되는데 시간과 돈이 이만큼 들어요"라고 자세하게 근거를 들어서 설명하기.

안 된다는 판단을 상대방이 하게 이끌어 내기.

 

b. 거절의 3단계

숙고- 상대방의 말을 고민해봤다는 것을 표현.

대안 제시- "이렇게 우회하면 돼요"등 누가봐도 이렇게 안하지만, 단순히 거절보다는 대안을 제시하기. 

이득- 싫은 정도에 비례해서 추가를 하고 이야기 해서 이득 챙기기.

예를 들어, 3개월이 걸리는데 5개월이 걸려요. 혹은 300만원이면 하는데 500만원에 할 수 있어요 등.

안 돼도 좋고 돼도 이득.


 

10. 이직은 늘 준비하는 것

 

a. 1년에 한 번은 이력서를 업데이트 하자

인생은 어떻게 될지 모른다. 항상 본인의 기술을 점검 및 개발하자.

이력서를 항상 업데이트 하면 좋은 기회가 왔을 때 바로 잡을 수 있다

 

b. 회사에서 스트레스를 덜 받는다

한 발짝 물러서서 생각하게 되니 마음을 여유롭게 가질 수 있다.


 

11. 이직할 때 고려할 것과 이직 시기

 

a. 커리어

첫 회사는 중요하지 않다. 시간 + 스토리_ 시간을 알차게 보내는 것

기능하면 자신의 기술이 메인으로 사용되는 회사로 가기(고용 안정성도 있음)

 

b. 연봉과 워라벨

성과급/복지보다는 연봉이 중요.

 

c. 이직 시기

뱀의 머리가 된다고 느낄 때 이직하기.

왜냐하면 뱀의 머리가 된다는 것은 배우는건 없고 밑천이 털리는 중이라는 의미이다.

(하드캐리할 자신 있으면 예외)

 


 

12. 호인과 호구는 다르다

 

부탁을 혹시 해주게 되더라도 특별히 들어주는 것처럼 하던가 아예 안 해주는게 낫다.

묵묵히 해주면 묵묵히 해주는 사람으로 안다.


 

13. 독서하듯 코드를 읽자

다른 사람이 오래 고민하고 작성한 코드를 많이 읽으면 곧 나의 시간과 리소스를 절약하는 것이다.

독서하며 트랜드를 파악하기 좋은 사이트: https://github.com/trending


 

14. 문제는 시스템으로 예방하자

문제는 시스템으로 예방하자

Linter, Formatter, TypeScript, SCM 을 활용

이미 좋은 시스템이 너무 많으니 이걸 활용하여 나의 리소스를 아끼기


 

15. Repeat Yourself(좋은 반복)

기존 코드를 새로운 기술로 개발하며 반복하면 학습효과가 좋다.

예를 들어 JS를 TS로 바꿔보기.


 

16. Divide and Conquer

경험이 많아도 한 번에 숲을 보기는 어렵다.

따라서 가능한 작게 나누어 정복하라


 

17. 질문에도 기술이 있다.

 

a. 고민하지 않은 질문은 기분이 나쁘다.

그냥 답을 떠먹여달라고 질문 하는 것은 티가 난다. 고민을 해야 한다.

질문은 신경써서 하다보면 더 간결하게 질문 할 수 있게된다.

 

b. 일단 15분은 문제 해결을 위해 노력하고, 그 이후에 질문한다.

15분도 고민 안하면 동료의 시간을 낭비하게 되고, 

15분 이상 고민을 하면 나의 시간을 낭비하게 된다.


 

18. 시간은 금이다.

 

선택의 순간에서

내 시간을 시급으로 환산했을 때 무엇이 이득인지 고민을 해본다.

의외로 선택하는데 좋은 기준이 될 것이다.

 


 

19. 너무 열심히 안 살아도 된다.

 

너무 열심히 하려다가 번아웃이 오는것보다,

내가 어제보다 더 나은 사람인가를 기준으로 삼고 살자

중요한 것은 포기하지 않는 것이다.


 

20. 전문가 얘기 너무 많이 듣지 말자.

내 문제는 내가 제일 잘 안다. 인생의 정답은 스스로 고민하고 만들어 가는 것!

자신만의 가치관을 잘 정립하여 살자