# 7년간의 오픈소스 DB 개발에서 배운 것

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

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=4096](https://news.hada.io/topic?id=4096)
- GeekNews Markdown: [https://news.hada.io/topic/4096.md](https://news.hada.io/topic/4096.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2021-04-19T10:16:39+09:00
- Updated: 2021-04-19T10:16:39+09:00
- Original source: [philipotoole.com](https://www.philipotoole.com/7-years-of-open-source-database-development-lessons-learned/)
- Points: 19
- Comments: 1

## Topic Body

- SQLite 기반의 가벼운 분산 데이터베이스인 rqlite 개발자의 회고

ㅤ→ 처음엔 재미 삼아 RAFT로 SQLite를 분산 복제하려는 시도에서 출발

- 가능하면 작게, 기능 하나씩 개발 할 것

- 명확한 중간 산출물 없이 큰 코드 재작성은 피할 것

- 창의성은 불규칙하고 예측할 수 없음

- 코드의 품질을 높인 건 광범위한 테스트 커버리지

ㅤ→ 실제 코드에 최대한 가깝게 테스트 케이스를 작성할 것

ㅤ→ 스모크 테스트에 대한 통합 테스트를 반드시 유지할 것

ㅤ→ 유닛 테스트가 핵심. 유닛 테스트 수준에서 훌륭한 커버리지가 없다면 소프트웨어는 결코 고품질이 될 수 없음

- Go 는 7년 동안 충분히 생산적이었고 계속 즐기고 있음.

- 홍보는 어려움. GitHub에서 8000개의 Star를 얻는데 7년이 걸렸음.

- 프로그래밍은 치유(therapeutic)

ㅤ→ 내 직업은 프로그래머를 관리하는 것(구글의 엔지니어링 매니저)이고, 흥미롭지만 직접 코딩 하는 것과는 다름

ㅤ→ 팀 활동으로서의 프로그래밍은 코딩 스타일, 버그 해결 정책, 코드 리뷰, 기능 우선순위 결정 등의 활동을 필요로 함. 팀 단위의 소프트웨어 구축에는 많은 비코딩 활동이 필요.

ㅤ→ 내 프로젝트에서는 자유로움. 코딩 스타일을 내가 정하고, 기능도 내가 정함. 어떤 버그를 고칠지 내가 결정하고, 미팅에도 갈 필요 없음.

- 7년을 개발했지만 아직도 할 일은 많음

ㅤ→ "it's done" 까지는 절대 가지 못할 것이라고 생각

ㅤ→ 노병들이 그랬던 것처럼, "다만 사라질 뿐"  ( "Old soldiers never die, they simply fade away" 에서 )

## Comments



### Comment 4917

- Author: xguru
- Created: 2021-04-19T10:16:48+09:00
- Points: 2

rqlite - SQLite 기반의 가벼운 분산 데이터베이스 https://news.hada.io/topic?id=3636
