생각들

코드를 작성하는 행위

Razelo 2022. 7. 2. 17:07

최근 알고리즘 문제를 많이 풀었다.  

 

이전에 백준에서 221개의 문제를 풀었고 이번에 leetcode에서 252개의 문제를 풀었다. 다른 사람들에 비하면  많이 부족한 수준이지만 개인적으로 느낀 점들이 많았다. 이것저것 작성해보고 말도 안되는 코드를 적어보기도 하고 끙끙대면서 여러 형태로 만들어보려고 노력했던 것 같다.

 

코드를 깔끔하게 만들려고 노력했고 더 빠른 코드를 만들 수 있도록 노력했다. 메모리적으로든 속도면에서든 효율적인 코드를 만들기 위해서 많이 고민했다. 

 

이런 고민들을 하면서 느꼈던건 코드 품질이라는게 내가 생각했던 것보다 훨씬 많은 비중을 차지한다는 것이다. 이전부터 중요하다는 것을 인지하고 있었지만 꾸준히 개발을 하다보면 저절로 늘게 되는 능력이라는 생각을 했다. 하지만 이번에 느낀 것은 의식적으로 고민하지 않으면 늘지 않는다는 사실이다. 단순하게 시간을 할애한다고 해서 되는게 아니라 정성을 들여 고민해야 늘 수 있는 능력이다.

 

깔끔한 코드를 작성하면서 다른 사람이 알아보기 편하면서 성능면에서도 뛰어난 코드를 작성하려면 오랫동안 코드를 작성해보고 다른 사람의 코드를 읽어보면서 클린코드에 대해 고민해야 그런 코드를 짤 수 있는 사람이 될 수 있을거라는 생각이 들었다. 

 

물론 내가 이번에 느낀 점들은 내가 작성한 코드들이 문제풀이에 치중된 코드라서 조금은 괴리감이 있을 수 있다. 하지만 한가지 문제에 대해서 여러 솔루션들을 차례로 작성하고 그것들을 비교해보는 과정과 코드 작성 이후 스스로에게 피드백을 주고 이후에 코드를 다시 읽어보면서 피드백을 적용할 수 있는 방법에 대해 고민해보았던 과정이 꽤나 도움이 되었던 것 같다. 

 

한가지 방법만 존재하는 것이 아니라 더 나은 방법이 항상 존재했고 그런 방법들을 찾아낼 수 있는게 중요하다는 생각이 들었다.

 

꾸준히 짜보고 읽어보면서 클린코드를 지향하는 습관이 몸에 베게 만들어야겠다는 생각이 들었다. 

 

다른 것도 중요하지만 결국 가장 핵심에서 돌아가는 개발자의 가치는 코드 작성 능력이라는 생각이 든다.

 

트위터에서 소프트스킬과 하드스킬을 이야기하면서 옥신각신하지만 소프트스킬은 사회생활을 하는 사람이라면 조직에서 생활하면서 당연히 길러야 마땅한 스킬이라고 생각한다.

 

그래서 개발자의 필수라고 언급하기보다 사회 생활을 하는 지성인의 필수라고 말하고 싶다. 그래서 개발자라면 코드를 작성하는 능력이 정말 중요하다는 생각이 들었다. 

 

그래서 난 하드스킬에 조금 더 비중을 두고 싶다. 

 

사회생활을 하는 어른이라면 말을 잘하고 다른 사람의 말을 경청해야하는 것은 물론이니 개발자의 기술적 능력에 좀 더 많은 가중치를 부여하는 것이 맞겠다는 생각이 들었다. 

 

물론 아직도 반신반의이긴하다. 사실 둘 다 중요하다. 하지만 굳이 뽑자면 하드 스킬이 중요하다는 생각이 든다. 

 

반응형

'생각들' 카테고리의 다른 글

개인 프로젝트 준비  (0) 2022.09.15
요즘  (0) 2022.09.13
소프트 스킬과 하드 스킬  (0) 2022.06.20
기회와 선택  (0) 2022.06.14
창업욕구 태워주는 영상  (0) 2022.04.15