문득 드는 짧은 생각들을 적어봅니다.
개발자로 생활을 하면서 한 번쯤은 들어 봤을 법한 이야기 중 하나는 '돌고 돌아 자료구조와 알고리즘이다'라는 말이 있습니다.
그만큼 개발자 생활을 하면서 어떤 기능을 만들거나 로직을 구현하는 데 있어서 어떻게든 검색이나 서적을 통해서 기능을 구현해왔지만 '내가 어떠한 근거로 왜 이렇게 구현을 했는가?'에 대해 답을 주지 못했던 거 같았습니다.
이러한 답을 찾기 위해 결국 다시 기초가 되는 자료구조와 알고리즘으로 돌아가게 되는것 같았던 거 같습니다.
내가 그 기능이나 로직 처리를 위해 '어떠한 구조에 데이터를 넣고 어떠한 알고리즘을 통해 데이터 처리를 할 것인가에 대해 근거를 뒷받침할 수 있는 것'이 부족했고 이에 답은 자료구조와 알고리즘이 되지 않을까라는 생각이 들었습니다.
또한 이러한 근거 뿐만 아니라 중요한 점은 사용자가 느낄 수 있는 1~2초의 최적화를 할 수 있다는 점이 채울 수 있다고 생각을 하였습니다.
예를 들어서, 데이터베이스에서 최적화를 할때에 풀 스캔으로 전체의 데이터를 읽는 것과 인덱스를 기반으로 전체를 수행하는 것이 아닌 일부만 데이터를 읽어오는 인덱스 스캔이 있습니다.
작은 데이터의 경우는 크게 체감이 느껴지지 않지만 데이터가 많아질수록 체감이 크게 느껴집니다.
단편적으로는 '인덱스를 사용했으니 빨라졌네'라고 생각을 하는것 보다 '인덱스는 B-Tree 알고리즘을 기반으로 수행을 하였을 때 이러한 점에서 최적화가 되었네'라고 생각을 할 수 있습니다.
그래서 개발자 직업을 하면서 기초가 되는 자료구조와 알고리즘을 돌고 돌아 다시 돌아온다는 이유이지 않을까 싶습니다.
개발을 하면서 원리에 대해 이해를 하고 전체적인 구조에 알게 된다면 좀 더 성장하는 개발자가 되지 않을까라는 생각이 들었습니다.
'취미 생활 > 짧은 생각' 카테고리의 다른 글
[짧은 생각] 경험주의 개발자 (0) | 2023.12.27 |
---|---|
[짧은 생각] 어떤 타입의 사수를 만나보셨나요? (1) | 2023.12.17 |
[짧은 생각] 개발자는 언제까지 공부해야할까? (0) | 2023.12.10 |
[짧은 생각] 1년 10개월 블로그를 운영하면서 (0) | 2023.12.07 |
[짧은 생각] AI 성장으로 개발자 직업은 없어질까? (1) | 2023.12.02 |