CS공부

[CS] 원리를 아는 개발자 되기

SoU330 2024. 9. 17. 01:44

 

CS 공부하기로 마음 먹은 이유

나는 cs공부를 좋아하진 않았다. 원래 이론공부를 좋아하지않았고 이론보다는 직접 코드를 쳐가면서 바로바로 눈에 보이고 그 때 그 때 문제점을 찾아서 수정해나가는 편이 빨랐고 쉽게 느껴졌기 때문이다. 이렇게해서 많은 과제와 팀플과 프로젝트들을 해냈지만 요즘 완전하지 못한다고 느낀다. 특히 ChapGPT 가 발전될수록 내가 하는 일들은 Ctrl+c, Ctrl+v 가 됐다..ㅜㅜ

그래서 프로그램의 실행 원리를 보다 정확하게 이해하는게 중요하다고 생각되어서 공부를 시작하려 한다!

 

 

 

 

일단 작동만 하는 코드가 아니라 제대로 작동하는 코드로!

강의나 책에서 제시하는 코드를 무작정 따라 하며 프로그램을 만들고, 특정 기능을 추가하고 싶을 때는 무작위로 검색하여 소스 코드를 복붙하면 그럴듯한 프로그램을 만들 수는 있다.

하지만 이는 겉보기에만 작동하는 프로그램일 뿐이라 많은 버그를 만나게 되었을 때 당황하게된다. 본인이 작성한 코드가 어떤 과정을 거쳐서 실행되는지 개발한 자신도 모르기 때문이다! 내가 의존하는 생성형 AI도 언제나 일관되고 정확한 진단을 하는것이 아니기 때문에 내 코드도 내가 잘 모르는 채로 개발하다 보면 결국 프로그램 개발이 점점 더 어려워진다.

따라서 내가 이해할 수 있는 코드를 써야한다. 뛰어난 개발자는 자신이 작성한 코드가 어떤 과정을 거쳐 실행되는지 병확하고 자세하게 설명할 수 있다. 

 

 

 

스파게티 코드

마치 스파게티 면처럼 복잡하게 뒤엉킨 코드를 비유한 표현으로 급하게 붙여넣은 코드는 갈수록 점점 복잡해지고 미궁속으로 빠지게 된다.

 

 

 

 

 

 

프로그램의 원리를 이해하기 위한 컴퓨터 과학

프로그램의 실행을 제대로 이해하고, 어떠한 과정을 거쳐 프로그램이 실행되는지 설명하기 위해서는 컴퓨터 과학(Computer Science)를 이해해야 한다.  단순 프로그래밍 언어의 기초 문법, 프레임워크/라이브러리의 사용법을 넘어 프로그램의 작동 원리를 이해하고 설명하기 위해서 CS에 대한 학습이 필요하다.

 

 

 

 

 

 

 

 

 

 

 

 

[출처] 이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접 - 강민철

 

 

 

 

'CS공부' 카테고리의 다른 글

[CS] 컴퓨터 구조의 큰 그림  (3) 2024.09.30
[CS] 개발자 기술 면접 대비하기  (1) 2024.09.21