πŸ₯ΈReview/μ±… 리뷰

μš”μ¦˜ 개발자 by μž„λ™μ€€, 고예슬

hellohailie 2024. 4. 29. 21:51

 

 

μΈμŠ€νƒ€κ·Έλž©μ€ 메타가 2쑰원에 μΈμˆ˜ν–ˆμ„ λ‹Ήμ‹œ μ „ 직원이 20λͺ…도 μ•ˆλ˜λŠ” 규λͺ¨μ˜€λ‹€. 1λ…„ λ§Œμ— 1μ‘° μ›μ˜ κ°€μΉ˜λ₯Ό λ§Œλ“  ν΄λŸ½ν•˜μš°μŠ€λŠ” μ „ 세계 κ°€μž…μžκ°€ 수백만 λͺ…μœΌλ‘œ 증가할 λ•ŒκΉŒμ§€ κ°œλ°œμžκ°€ 단 μ„Έλͺ…λΏμ΄μ˜€λ‹€. 

 

λ‚΄κ°€ μ •μ˜ν•˜λŠ” 개발자의 λͺ¨μŠ΅μ€? 생각해보기

=> 문제λ₯Ό νŒŒμ•…ν•˜κ³  문제λ₯Ό ν•΄κ²°ν•˜κ³  ν•΄κ²° 방법을 κ³΅μœ ν•˜λŠ” 자

 

λ˜‘λ˜‘ν•˜κ²Œ μ§ˆλ¬Έν•˜λŠ” μ „λž΅

1. μ„±μ˜μžˆκ²Œ μ§ˆλ¬Έν•˜κΈ°

ex) ν˜„μž¬ AκΈ°λŠ₯을 κ΅¬ν˜„ 쀑인데 μ‚¬νŒŒλ¦¬μ—μ„œ μ‚¬μš©μžκ°€ 링크λ₯Ό ν΄λ¦­ν•˜κ³  화면을 μƒˆλ‘œ 고침해도 λ‘œλ”© λ°”κ°€ 계속 남아 μžˆλŠ” λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. 둜컬 ν™˜κ²½μ—μ„œλŠ” 잘 λ™μž‘ν•˜λŠ”λ° λ² νƒ€λ‘œ λ°°ν¬ν•œ νŽ˜μ΄μ§€μ—μ„œλŠ” 계속 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. μ œκ°€ μƒκ°ν•œ 원인은 00인데 생각보닀 잘 ν•΄κ²°λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‚¬μš©ν•˜λŠ” 라이브러리λ₯Ό λ””λ²„κΉ…ν•΄λ΄μ•Όν• κΉŒμš”? μ•„λ‹ˆλ©΄ λ‹€λ₯Έ 원인이 μžˆμ„κΉŒμš”?

 

2. μŠ€νƒ€μΌλ³΄λ‹€λŠ” ꡬ체적인 ν•΄κ²° λ°©μ•ˆ μ§ˆλ¬Έν•˜κΈ°

ex) μ €λŠ” 이런 λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν–ˆλŠ”λ° ν˜Ήμ‹œ λ‹€λ₯Έ 방법이 μžˆμ„κΉŒμš”?

ex) 이런 λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν•˜λ‹ˆ 생각보닀 문제 해결이 쉽지 μ•Šλ„€μš”. μ–΄λ–»κ²Œ ν•΄κ²°ν•  수 μžˆμ„κΉŒμš”?

 

3. 이해 λ‚΄μš©μ˜ 싱크 λ§žμΆ”κΈ°

ex) μ œκ°€ μ΄ν•΄ν•œκ²Œ λ§žμ„κΉŒμš”? 되묻기

 

효과적인 μ½”λ“œ 리뷰 방법

1. ν•΄κ²°ν•˜κ³  싢은 문제의 μ˜λ„ λ“œλŸ¬λ‚΄κΈ°

2. μ½”λ“œ 리뷰 κ³Όμ •μ—μ„œ λ¦¬μ•‘μ…˜ν•˜κΈ°

3. μ½”λ“œ 리뷰 ν›„ 회고둜 λ˜λŒμ•„λ³΄κΈ°

 

μ½”λ“œ 리뷰 μ‹œ κ²€ν† ν•  ν•­λͺ©

1. 이 μ½”λ“œκ°€ μ–΄λ–€ 문제λ₯Ό ν•΄κ²°ν•˜λŠ”κ°€

2. μ½”λ”© ν‘œμ€€μ„ μ€€μˆ˜ν–ˆλŠ”κ°€

3. μ„±λŠ₯ 및 ν™•μž₯성을 ν™•μΈν–ˆλŠ”κ°€

4. λ³΄μ•ˆ μΈ‘λ©΄μ—μ„œ μ·¨μ•½ν•œ 뢀뢄은 μ—†λŠ”κ°€

 

 

이λ ₯μ„œμ™€ 포트폴리였 μ€€λΉ„ν•˜κΈ°

 

1. JD와 κ΄€λ ¨μžˆλŠ” λ‚΄ κ²½ν—˜ μ°ΎκΈ°

 

2. μ—­λŸ‰μˆœ 이λ ₯μ„œλ‘œ ν˜ΈκΈ°μ‹¬ μžμ•„λ‚΄κΈ°

핡심! 무엇을 μž˜ν•  수 있고 그것을 μž˜ν•˜κΈ° μœ„ν•΄ μ–΄λ–€ 문제 ν•΄κ²° 과정을 κ±°μ³€λŠ”κ°€!

 

 

3. κ°€κ³  싢은 νšŒμ‚¬ νŒŒμ•…ν•˜κΈ°

 

 

μ½”λ”© ν…ŒμŠ€νŠΈ 맀일맀일 μ€€λΉ„ν•˜λŠ” 방법

1. μ•Œκ³ λ¦¬μ¦˜ μ‚¬μ΄νŠΈ 3ꡰ데 λ°©λ¬Έν•΄μ„œ κ°€μž₯ μ‰¬μš΄ 레벨의 문제 ν•œ κ°œμ”© ν’€κΈ° (leetcode, programmers, coderpad, hackerrank, topcoder, codechef)

2. μ‹œκ°„ 정해놓고 μ‹€μ œ μ•Œκ³ λ¦¬μ¦˜ ν…ŒμŠ€νŠΈλ₯Ό λ³΄λŠ” κ²ƒμ²˜λŸΌ μ„€λͺ…ν•˜λ©΄μ„œ 문제 ν’€κΈ°

3. ν•˜λ‚˜μ˜ μ•Œκ³ λ¦¬μ¦˜ 문제λ₯Ό 두세 가지 λ°©λ²•μœΌλ‘œ ν•΄κ²°ν•˜κΈ°

 

=> μ•Œκ³ λ¦¬μ¦˜ ν’€λ•ŒλŠ” λ‹€μ–‘ν•œ λΆ„μ•Ό 골고루 λ‹€λ£¨λŠ” 것이 μ€‘μš”ν•¨. λΆ€μ‘±ν•œ λΆ€λΆ„ νŒŒμ•… ν›„ λ³΄μ™„ν•˜λŠ” μ „λž΅ μ„Έμš°κΈ°! 

 

 

λ©΄μ ‘

1. μžκΈ°μ†Œκ°œ: μžμ‹ μ΄ μ–΄λ–€ λͺ©ν‘œλ₯Ό 가지고 개발자둜 μ„±μž₯ν•˜κ³ μž ν•˜λŠ”μ§€, μ΄λŸ¬ν•œ λͺ©ν‘œμ™€ 지원 동기가 μ–΄λ–»κ²Œ μ—°κ΄€λ˜μ–΄ μžˆλŠ”μ§€ μ„€λͺ…ν•˜κΈ°

ex) μ €λŠ” 섀계에 κ°•ν•œ ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžκ°€ 되기 μœ„ν•΄ λ…Έλ ₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ΅œκ·Όμ—λŠ” λ³΅μž‘ν•œ 도메인을 가진 00뱅크 μ•± μ„œλΉ„μŠ€μ˜ 화면을 ν΄λ‘ ν•˜λ©΄μ„œ mock λ°μ΄ν„°λ‘œ μ†‘κΈˆν•  수 μžˆλŠ” 토이 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ³΅μž‘ν•œ 도메인을 섀계할 λ•Œλ§ˆλ‹€ 항상 λŠλΌλŠ” 점은 ㅁㅁ가 μ€‘μš”ν•˜λ‹€λŠ” κ²ƒμΈλ°μš”, μ΄λŸ¬ν•œ κ²½ν—˜μ„ 톡해 이 νšŒμ‚¬μ˜ μ„œλΉ„μŠ€μ— 관심을 κ°€μ§€κ²Œ λ˜μ–΄μ„œ μ§€μ›ν–ˆμŠ΅λ‹ˆλ‹€. 

 

μΌν•˜κΈ°

νšŒμ˜μ „ 쀀비사항

μ°Έμ—¬μž νŒŒμ•…, λͺ©μ  밝히기, μž₯μ†Œμ™€ 맀체 μ •ν•˜κΈ°

 

이직 μš•κ΅¬

1. νšŒμ‚¬μ—μ„œ 이루고 싢은 λ‚˜μ˜ μš•κ΅¬ 리슀트 3가지 μž‘μ„±ν•˜κΈ°

2. λ‚΄κ°€ 일을 μž˜ν•  수 μžˆλŠ” ν™˜κ²½ μš”μ†Œ 3가지 μ°ΎκΈ°

3. λ‚΄κ°€ 이루고 싢은 일 쀑 ν˜„μž¬ ν™˜κ²½μ—μ„œ μ‹œλ„ν•  수 μžˆλŠ” 것 3가지 μž‘μ„±ν•˜κΈ°

 

ν˜„μž¬ νšŒμ‚¬μ—μ„œ ν•  수 μžˆλŠ” μ‹œλ„

1. λ™λ£Œμ™€μ˜ 관계λ₯Ό λ°œμ „μ‹œν‚¬ μž‘μ€ 도전 ν•œκ°€μ§€ μ‹œλ„ν•˜κΈ°

2. 기술적인 μ„±μž₯을 μœ„ν•œ μž‘μ€ 도전 ν•œκ°€μ§€ μ‹œλ„

3. λ‹€λ₯Έ μ‚¬λžŒμ—κ²Œ 도전 거리λ₯Ό κ³΅μœ ν•˜κ³  ν”Όλ“œλ°± λ°›κΈ°

 

1. κΉƒν—ˆλΈŒ ν”„λ‘œν•„ μž‘μ„±ν•˜κΈ°

2. λ§ν¬λ“œμΈμ— ν”„λ‘œν•„ μž‘μ„±ν•˜κΈ°

3. λΈ”λ‘œκ·Έμ— 무언가λ₯Ό μ‹œμž‘ν•˜κΈ° μœ„ν•œ μ€€λΉ„ λ˜λŠ” 진행 과정을 κ³΅μœ ν•˜λŠ” κΈ€ μž‘μ„±ν•˜κΈ°

 

λ‚˜μ˜ 컀리어λ₯Ό λΈŒλžœλ”©ν•˜λŠ” 방법

1. 쒋은 μ½”λ“œλ₯Ό λ§Œλ“ λ‹€. 

λ‹¨μˆœνžˆ κΈ°λŠ₯적인 것을 λ„˜μ–΄ 효율적이고 μœ μ§€ λ³΄μˆ˜κ°€ μš©μ΄ν•˜λ©° λ‹€λ₯Έ κ°œλ°œμžλ“€μ˜ μ‰½κ²Œ 이해할 수 μžˆμ–΄μ•Ό ν•œλ‹€. 

쒋은 μ½”λ“œλ₯Ό κ΅¬μ„±ν•˜λŠ” μš”μ†ŒλŠ” 상황에 따라 λ‹€λ₯΄κΈ°λ„ ν•˜λ‹€

- λ‚˜μ˜ κ²½ν—˜ 쀑 νƒμ›”ν–ˆλ˜ λΆ€λΆ„κ³Ό 어렀움을 κ²ͺμ—ˆλ˜ λΆ€λΆ„

- λ‚΄κ°€ 기술적으둜 마주쳀던 어렀움과 그것을 κ·Ήλ³΅ν•œ κ²½ν—˜

- λ‚΄κ°€ κ°€μž₯ μžλž‘μŠ€λŸ¬μ›Œν•˜λŠ” μ½”λ“œμ™€ κ·Έ 이유

2. μž‘μ—…μ˜ ν˜„μž¬ κ°€μΉ˜λ₯Ό κ·ΉλŒ€ν™”ν•œλ‹€. 

μ§€κΈˆ 진행 쀑인 μž‘μ—…μ΄ νŒ€, νšŒμ‚¬ 그리고 μ‚¬μš©μžμ—κ²Œ μ΅œλŒ€ν•œμ˜ 영ν–₯κ³Ό κ°€μΉ˜λ₯Ό μ œκ³΅ν•œλ‹€λŠ” μ˜λ―Έμž„

3. 데이터에 κΈ°λ°˜ν•˜μ—¬ μ˜μ‚¬ κ²°μ •ν•˜κΈ°

a/b ν…ŒμŠ€νŠΈ

4. λ™λ£Œμ˜ 효과적인 μ˜μ‚¬ 결정을 λ•λŠ”λ‹€. 

μ½”λ“œ 리뷰λ₯Ό 톡해 νŒ€μ›μ˜ μ½”λ“œ ν’ˆμ§ˆμ„ λ†’μ΄λŠ” 것뢀터 μ‹œμž‘ν•΄μ„œ λ³΅μž‘ν•œ λ¬Έμ œμ— λŒ€ν•œ 해결책을 μ œμ‹œν•˜κ±°λ‚˜ ν”„λ‘œμ νŠΈμ˜ 기술적 결함을 미리 νŒŒμ•…ν•˜μ—¬ κ³΅μœ ν•˜λŠ” κ²ƒκΉŒμ§€ λ‹€μ–‘ν•œ λ°©λ²•μœΌλ‘œ λ‚˜νƒ€λ‚  수 μžˆλ‹€. 

5. κΎΈμ€€νžˆ ν•™μŠ΅ν•˜κΈ°

 

 

λ„˜μ–΄μ‘Œλ‹€λŠ” 것은 λ‚΄κ°€ 무언가 μ‹œλ„ν•˜λ©° λ‚˜μ•„κ°€λ €κ³  ν–ˆλ‹€λŠ” 증거이닀. μ„±μž₯ κ³Όμ •μ—μ„œ λ„˜μ–΄μ§€λŠ” 것은 ν”Όν•  수 μ—†λ‹€. 자주 λ„˜μ–΄μ§€κ³  λΉ λ₯΄κ²Œ μΌμ–΄λ‚˜λ©΄ λ‹€λ₯Έ 이듀보닀 더 λ§Žμ€ μ‹œλ„μ™€ μ„±μž₯을 κ²½ν—˜ν•  수 μžˆλ‹€. 많이 λ„˜μ–΄μ Έ 지칠 λ•ŒλŠ” μ§€κΈˆ λ‚˜μ—κ²Œ νœ΄μ‹μ΄ ν•„μš”ν•˜λ‹€λŠ” 것을 μΈμ§€ν•˜κ³  λ‚˜λ§Œμ˜ 슀트레슀 κ΄€λ¦¬λ²•μœΌλ‘œ λ‹€μ‹œ μΌμ–΄μ„œμ„Έμš”. λ§Œμ•½ λ„ˆλ¬΄ 크게 λ„˜μ–΄μ Έ μΌμ–΄λ‚˜κΈ° νž˜λ“€λ‹€λ©΄ μ „λ¬Έμžμ˜ 도움을 λ°›μ•„μ„œ μ΄κ²¨λ‚΄λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. κ°€μž₯ 쒋지 μ•Šμ€ 상황은 λ„˜μ–΄μ§„ μƒνƒœμ—μ„œ 슀트레슀λ₯Ό 계속 μ΄λŸ¬κ°€λŠ” κ²ƒμž…λ‹ˆλ‹€. 

 

 

이 책을 읽고

- κ°€μž₯ λ‚˜λ‹€μš΄ 강점은 무엇인가?

- λ‚΄κ°€ μ–΄λ–€ 길둜 κ±Έμ–΄μ™”κ³ , μ•žμœΌλ‘œ μ–΄λ–€ λ°©ν–₯으둜 κ°€κ³ μž ν•˜λŠ”κ°€?