천생 문과가 컴공으로 전과하면

왜 코딩 테스트를 준비해야 하는 걸까?

Buang 2023. 3. 11. 15:39
반응형

개발자로 취직하기 위해선

반드시 코딩 테스트를 준비해야 한다고들 말한다.

 

그래서 백준이나 릿트코드와 같은

알고리즘 문제를 풀어보는 것을 

많은 분들이 강조하곤 하시는데

아직 학부생인 내 입장에선 왜 알고리즘 문제 푸는 걸

많은 분들이 강조하시는지 잘 와닿지 않았었다.

 

그러던 차에 '행복한 프로그래밍'에서

왜 사람들이 알고리즘 문제 풀기를

강조하는지 바로 알 수 있었던 구절을 발견했다.

 

알고리즘 공부를 왜 해야하는지 모르는 분,

혹은 공부의 방향을 잠시 잃은 분께

좋은 동기부여가 될 거 같아 글을 발췌했다.

 

 

치열한 고민을 통해서 신중하게 작성되지 않은 프로그램이 안고 있는
결정적인 문제는 알고리즘이 필요 이상으로 복잡하고 어렵기 때문에
버그가 숨어서 지내기 알맞은 환경을 제공해준다는 점이다.

바퀴벌레가 어둡고 축축한 구석을 좋아하듯이
사이버 세계의 버그들은 복잡하게 얽히고 설킨 알고리즘의 구석을 좋아하는 것이다.

이에 반해서 누가 보기에도 아름답고 깔끔하게 작성된 프로그램은
버그가 숨어 있을 만한 어둡고 습한 구석이 별로 없다.

그 안에 담긴 논리의 흐름이 자연스럽고 명쾌하므로
실수가 스며들 여지가 거의 없는 것이다.

그래서 프로그래머 세계에서 최고의 고수로 통하는 사람은
복잡하고 다양한 프로그래밍 기법과 기술을 현란하게 구사하는 사람이 아니라
오히려 어려운 문제를 쉽고 간결하게 풀어나가는 사람인 경우가 많다.


행복한 프로그래밍 P. 130

 

알고리즘 문제를 풀어서 우리가 궁극적으로

도달하고자 하는 것은 사용자분들꼐 더 좋은 서비스를 제공하기 위함이다.

예를 들어서 어떤 앱을 실행할 때 5분씩 대기시간이 걸리는 걸

좋은 알고리즘 설계로 1분으로 줄이도록 하는 것

 

그리고 코드를 직관성있게 작성함으로서

버그를 빠르게 찾고, 버그 발생 가능성을 낮추는 것이란 생각이 들었다.

반응형