# 좋은 프로그래머들의 데이터 구조 및 관계에 대한 우려

> Clean Markdown view of GeekNews topic #16343. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16343](https://news.hada.io/topic?id=16343)
- GeekNews Markdown: [https://news.hada.io/topic/16343.md](https://news.hada.io/topic/16343.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-08-17T10:06:01+09:00
- Updated: 2024-08-17T10:06:01+09:00
- Original source: [read.engineerscodex.com](https://read.engineerscodex.com/p/good-programmers-worry-about-data)
- Points: 1
- Comments: 0

## Topic Body

##### 좋은 프로그래머는 데이터 구조와 그 관계를 걱정함

###### Git와 Linux의 창시자 Linus Torvalds의 지혜

- 최근 Linus Torvalds의 인용문을 접했음
  - "나쁜 프로그래머는 코드에 대해 걱정함. 좋은 프로그래머는 데이터 구조와 그 관계에 대해 걱정함."
  - Linus는 Git의 성공 이유 중 하나로 안정적이고 잘 문서화된 데이터 구조를 꼽음
  - 좋은 데이터 구조는 코드 설계와 유지보수를 쉽게 만듦

- 데이터 모델을 사후에 고려하면 더 많은 작업이 필요해짐
  - 잘 설계된 데이터 모델은 마이그레이션과 복잡한 시스템 구축을 용이하게 함

- 과거 프로젝트에서 데이터 구조를 재구성하여 문제를 해결한 경험
  - 500줄의 함수를 50줄로 줄이고, 더 빠르고 이해하기 쉬운 코드로 대체함

###### Unix 프로그래밍의 예술에서의 관련 인용문

- "지식은 데이터에 접어 넣어 프로그램 로직이 단순하고 견고하게 만듦"
  - 복잡한 데이터 구조는 모델링하고 이해하기 쉬움
  - 데이터 구조의 복잡성을 코드의 복잡성보다 우선시해야 함

- 데이터 구조를 먼저 생각하는 것이 중요함
  - 인터페이스나 데이터베이스에 더 엄격한 타입을 적용하여 코드 복잡성을 줄임
  - 데이터 흐름과 컴포넌트 간의 상호작용을 먼저 고려해야 함

- FAANG의 시니어 엔지니어(L5) 요구사항
  - 복잡한 시스템에 대한 고수준 설계 문서를 작성하는 것이 포함됨

###### 관련 기사

- Ryan Peterman의 FAANG 커리어 사다리 비교
  - 중급(L4)과 시니어(L5) 엔지니어의 차이점 설명

- Jordan Cutler의 주니어에서 시니어 엔지니어로 빠르게 성장하는 방법
  - Gusto에서 L1(주니어 엔지니어)에서 L3(시니어 엔지니어)로 2년 만에 승진한 경험 공유

##### GN⁺의 정리

- 이 기사는 좋은 프로그래머가 데이터 구조와 그 관계를 중요하게 여겨야 한다는 점을 강조함
- Linus Torvalds의 인용문과 Unix 프로그래밍의 예술에서의 인용문을 통해 데이터 구조의 중요성을 설명함
- FAANG 시니어 엔지니어의 요구사항과 관련된 기사들을 통해 고수준 설계 문서 작성의 중요성을 언급함
- 데이터 구조를 먼저 고려하는 것이 코드 복잡성을 줄이고 유지보수를 쉽게 만듦

## Comments



_No public comments on this page._
