-
시니어 개발자가 말하는 좋은 프로그래머란?프로그래밍 2024. 1. 23. 21:08728x90
프로그래밍은 프로그램 + ing으로 프로그램을 한다는 것을 의미한다. 프로그램이란 뭘까? 이 용어의 어원은 라틴어 "programma"에서 유래되었다. "programma"는 "공개 선언", "명령어"를 의미한다. 즉 명령어를 만드는 것을 프로그램이라고 쉽게 생각할 수 있다.
프로그램을 만드는 것
프로그램은 명령어들의 집합체이러한 명령어를 실행하는 대상은 컴퓨터이다. 수많은 명령어를 잘 수행하여 원하는 결과를 도출해 낼 수 있도록 정리하는 것이 바로 프로그래밍이다. 가장 중요한 것은 수많은 명령어와 원하는 결과이다. 우리가 원하는 건 무엇인가? 즉 문제들을 해결하는 것들을 원한다. 우리가 세상에서 만나는 문제들을 컴퓨터에게 시키는 것으로도 볼 수 있다. 세상의 어떤 문제들을 해결하고 싶은지 문제의식과 더불어 문제를 해결할 수 있는 능력이 필요하다. (여담이지만 어떤 문제든 잘 해결하는 사람은 넓은 관점에서 프로그래밍을 잘한다고 볼 수 있다. )
좋은 프로그램이란 무엇일까?
첫째 우리가 원하는 결과를 도출해 낼 수 있어야 한다.
프로그래밍 본질적인 존재의 이유이다. 원하는 결과를 도출해 낸다는 당연한 이야기보다도. 어떤 문제가 있는가? 어떤 문제를 해결하고 싶은가? 세상의 문제를 발견하고 프로그램으로 해결하여 세상에 좋은 영향력을 끼칠 수 있어야 좋은 프로그래밍이다.
둘째로 명령어들을 잘 이해할 수 있어야 한다.
어려운 문제일수록 명령어들은 복잡하고 보기 힘들어진다. 사거리에 있는 신호등만 해도 그렇다. 각 명령어가 어떤 순서로 동작하는지, 어디까지가 어떤 명령에 관한 것인지 정리되어 있을 뿐 아니라, 같은 명령어가 반복된다면 중복 또한 최소화해야 한다. 명령어들을 이해할 수 있기 쉽도록 정리해 둔 것이 디자인 패턴이고, 명령을 어떻게 할지는 알고리즘을 의미한다.
그렇다면 좋은 프로그래머는 무엇인가?
바로 좋은 프로그램을 만드는 사람들을 의미한다. 프로그래머는 컴퓨터에게 일을 시키는 고용주? 같은 의미를 가진다. 어떻게 컴퓨터에게 일을 효율적으로 잘 시킬수록 좋은 프로그래머를 의미하고, 일을 비효율적으로 시키면 나쁜 프래그래머를 의미한다. 우리도 그렇다. 상사가 불필요하게 비효율적으로 일을 준다면 얼마나 짜증이 나겠는가?결국 좋은 프로그래머가 되기 위해서 프로그래밍을 잘해야 하고, 프로그래밍을 잘하기 위해서는 문제에 대해 파악하고 명령어들을 만들어 컴퓨터에게 효율적으로 일을 시킬 수 있어야 한다. 그러기 위해서는 알고리즘, 디자인 패턴 등 명령어들을 어떻게 실행시킬지에 대한 고민을 많이 해야 한다.
728x90'프로그래밍' 카테고리의 다른 글
웹페이지 버벅임의 원인이 템플릿리터럴 때문이라고? (0) 2024.02.23 개발자를 위한 AI 검색엔진 - Phind (0) 2024.02.21