개발을 잘하기 위해 생각해 볼 것

 ・ 2 min

photo by Yoksel 🌿 Zok(https://unsplash.com/@yoksel?utm_source=templater_proxy&utm_medium=referral) on Unsplash

이 글은 예전에 들었던 강의 내용을 정리한 내용이에요.

개발을 어떻게 할 것인가: 깊이와 폭의 균형#

개발자라면 누구나 더 나은 코드를 작성하고, 더 효율적으로 문제를 해결하며, 더 창의적인 기술을 탐구하고 싶어 해요. 하지만 어떻게 더 나은 개발자로 성장할 수 있을까요?

철학자 칸트는 이렇게 이야기했어요. "철학이 아닌 철학함을 배워야 한다" 그의 말을 빌려 "개발이 아닌 개발함"을 생각하고, 깊이와 폭을 키우는 것이 중요해요.


개발의 깊이#

개발의 깊이는 기술의 구조와 원리를 이해하고, 내가 사용하는 기술이 어떻게 동작하는지 알아가는 과정이에요.
내 코드가 왜 돌아가는지 정확히 아는 것은 단순한 기능 구현을 넘어서는 중요한 단계예요.

왜 깊이를 키워야 하는가?#

  • 기능을 더 빠르게 구현할 수 있어요
  • 버그가 적은 코드를 작성할 수 있어요
  • 디버깅이 효율적으로 이루어져요
  • 이렇게 함으로써 재미를 느껴요

깊이를 키우는 방법#

  • 왜 되는지/안 되는지 알아내기: 단순히 작동 여부를 확인하는 데 그치지 않고, 이유를 탐구하기
  • 블랙박스를 줄이기: Spring, Django, React 등에서 사용하는 명령어와 함수가 어떻게 작동하는지 파고들어 보기
  • 당연한 것에 의문을 품기: 익숙한 코드라도 의도를 추측하고 극단적인 상황을 상상해 보기

예를 들어, Spring에서 사용하는 어노테이션이나 React의 함수들이 내부적으로 어떻게 작동하는지 모른다면 그것은 나에게 블랙박스예요. 이를 이해해야 진정한 깊이를 키울 수 있어요.


개발의 폭#

개발의 폭은 다양한 기술에 대한 관심과 내가 하는 업무와 관련된 다른 기술에 대한 이해를 의미해요.
국내외 개발 커뮤니티에서 트렌드를 파악하고, 새로운 기술에 도전해 보는 것도 폭을 넓히는 좋은 방법이에요.

왜 폭을 키워야 하는가?#

  • 새로운 기술을 빠르게 배울 수 있어요
  • 좋은 설계에 대한 안목이 높아져요
  • 내가 더 잘할 수 있는 일을 발견할지도 몰라요
  • 이렇게도 재미를 느낄 수 있어요

폭을 넓히는 방법#

  • 다음 토이 프로젝트에는 GraphQL을 사용해 보기
  • 웹과 상관없는 프로그램 만들어 보기 (예: 메일 클라이언트)
  • Django로 만든 블로그를 Spring MVC로 다시 만들어 보기
  • React-hook-form으로 구현한 form을 Recoil로 재구현하기

추천 활동 및 도서#

폭을 넓히기 위해 아래와 같은 책들을 읽어보는 것도 좋아요:


사람과 기술에 대한 존중#

기술 뒤에는 사람도 있다는 사실을 꼭 기억하세요. 모든 기술적 선택은 양자택일이며, 어떤 기술이 엉망처럼 보일지라도 대신 얻는 무언가가 있을 가능성이 있어요.
비난하기 전에 더 나은 방법을 고민하고, 다양성을 존중해야 해요.


I Love My Job#

개발자는 단순히 코드를 작성하는 사람이 아니에요.
철학적 사고와 실용적 접근법을 통해 깊이와 폭을 균형 있게 키워 나갈 때 진정한 즐거움을 느낄 수 있어요.
여러분도 자신만의 방식으로 개발함을 실천해 보세요!


Anybody can make history. Only a great man can write it.

— Oscar Wilde


Other posts
cover_image
 ・ 9 min

팔란티어는 뭘 할까?

cover_image
 ・ 4 min

AI assistant를 지원하는 IDE 돌려쓰기

cover_image
 ・ 3 min

피그마를 위한 디자인 학습 정리