hmk run dev

항해 99 2주차 회고록(알고리즘 왜 배워야해??) 본문

항해 99 회고록

항해 99 2주차 회고록(알고리즘 왜 배워야해??)

hmk run dev 2021. 3. 14. 13:14

항해를 시작한 지 이제 2주 차.... 알고리즘이란 녀석을 만나게 됐다

 

먼저 이름부터 무서운 알고리즘의 사전적 의미를 살펴보면

 

알고리즘(algorithm)은 주어진 문제를 논리적으로 해결하기 위해 필요한 절차, 방법, 명령어들을 모아놓은 것입니다. 넓게는 사람 손으로 해결하는 것, 컴퓨터로 해결하는 것, 수학적인 것, 비수 학적인 것을 모두 포함한답니다.

 

흠... 그런데 이걸 왜 배워야 해??라는 의문점이 들지 않을 수 없었다

일단 예체능 쪽으로 전공을 택해서 수학이랑은 거리가 멀었던 나라... 사실 접근하고 싶지도 않았다 :(

( 사실 수학은 컴퓨터가 다 해준다 ^^..... )

 

 

그래서 알고리즘을 배워야 하는 이유를 찾아봤다 크게 4가지로 보였는데

 

- 좋은 프로그램을 만들기 위해

- 프로그램을 평가하기 위해

- 프로그램을 효율적으로 작성하기 위해

- 프로그래밍 기술을 향상하기 위해

 

궁극적으로 말하자면 결국 "좋은 코드"를 만들기 위해 단련해야 하는 프로그래밍 근육? 정도로 이해했다.

단순히 작동시키기 위해서 주먹구구식으로 코드를 짜는 것이 아닌 여러 가지 논리적인 방법을 통해서 

속도가 빠르며 효율적이고 범용성 높은 좋은 코드를 만드는데 필요한 역량인 것 같다

 

음.... 코드가 작동하기만 하면 되지 왜 그렇게 코드를 짜야하는데?라는 의문이 들었지만

 

여기에 대해 개인적으로 생각해본 결과 지금은 그렇게 복잡하고 큰 서버나 프로젝트를 만들어보지 못해서 모르겠지만

분명히 나중에 회사나 어떤 팀에 들어가 팀원들과 같이 일하게 되고 큰 프로젝트를 만들 때가 된다면 지금 배운 이 효율성에 대해서 다시 깨달음을 얻게 될 것 같다 

결국 프로그래밍이란 코드로 컴퓨터와 대화를 해야 하는 것인데 알고리즘은 얼마나 내가 말을 조리 있게 해서 컴퓨터로 하여금 내가 말한 것을 논리적으로 요구? 할지를 배우는 것 같다 내가 말을 잘할수록 컴퓨터가 더 잘 알아듣겠지?라는 생각을 했다

우리 일상생활에서 클릭했을 때 반응이 빠르고 부드러운 웹페이지나 어플들이 결국 좋은 알고리즘으로 짜인 결과가 아닐까라는 생각을 했다.

 

이렇게 생각했을 때 알고리즘이란 기피해야 하는 것이 아닌 관심을 가지고 즐기면서 공부해야 할 대상이며

적어도 개발을 하려는 개발자들이 꼭 가지고 있어야 할 기본 소양이라는 생각을 하게 되었다 

물론 지금 내 알고리즘 실력은 정말이지 형편없다.... 그러나 이제 왜 배워야지?라는 질문에서 벗어나

알고리즘과 친해지기 위해서 더욱더 노력해야겠다고 생각했다!! ( 또 나만 진심이었지 ㅠ)

 

개발자는 커리어 내내 모르는 것을 만날 수밖에 없고 그 불편함을 즐기고 이겨내며

또 다른 불편함을 반갑게 맞이하는 개발자가 결국 좋은 개발자가 될 수 있다고 생각한다!

 

알고리즘으로 골머리 썩히고 있을 모든 분들께 박수와 찬사를 보낸다... 파이팅!!

 

 

 

 

'항해 99 회고록' 카테고리의 다른 글

항해 99 6주차 회고록  (0) 2021.04.11
항해 99 5주차 회고록  (0) 2021.04.05
항해 99 4주차 회고록  (1) 2021.03.28
항해 99 3주차 회고록  (0) 2021.03.21
항해 99 1주차 회고록  (2) 2021.03.11
Comments