프로그래밍

프로그래밍 숙련 단계

신랑각시 2021. 10. 20. 22:24
나의 개발 실력은 얼마나 될까?

언젠가, 문득 든 생각이었다.

 

프로그래밍 숙련 단계를 나눈다면, 난 어떤 단계인가? 궁금했다.

곰곰이 생각한 후, 아래와 같은 단계로 나눠 보았다.

 

  1. 쉬운 기능을 어렵게 만들 수 있는 단계
  2. 어려운 기능을 어렵게 만들 수 있는 단계
  3. 쉬운 기능을 쉽게 만들 수 있는 단계
  4. 어려운 기능을 쉽게 만들 수 있는 단계
  5. 아무도  만들지 못한 기능을 만들 수 있는 단계

 

내가 생각해도 그럴 싸 한 단계라고 생각했다.

 

첫째 단계는 「쉬운 기능을 어렵게 만들 수 있는 단계」

 -  쉬운 것을 요령은 없으나, 어떻게든 해낼 수 있는 단계다. 돈을 받고 일해서 OUTPUT 은 낼 수 있지만 요구사항이 변경되거나 문제 발생 시 찾기는 쉽지 않다.

 

둘째 단계는 「어려운 기능을 어렵게 만들 수 있는 단계」

 - 어려운 문제를 붙잡고, 풀다 보면 풀 수 있다. 웬만한 어려운 문제들은 해결할 수 있다. 그러나 간혹 쉬운 문제를 잘못 생각하여 어렵게 풀기도 한다.

 

셋째 단계는 「쉬운 기능을 쉽게 만들 수 있는 단계」

 - 문제를 잘 파악하여, 쉬운 문제는 쉽게 어려운 문제는 어렵게 풀 수 있다. 쉬운 문제는 항상 쉽게 풀 수 있는 단계다. 

 

넷째 단계는 「어려운 기능을 쉽게 만들 수 있는 단계」

 - 문제의 본질을 깨닫고, 주어진 문제를 비틀어 INPUT/OUTPUT 은 동일하지만 둘째 단계 수준자와 비교하여 풀어내는 과정을 보다 간결하고 깔끔하게 처리할 수 있는 수준이다. 

 

다섯째 단계는 「아무도 만들지 못한 기능을 만들 수 있는 단계」

 - 스스로 문제를 내지 못하여 만들지 못한 기능을 만들 수 있는 수준이다. 또한 상상만 하던 기능을 구현해 낼 수 있는 수준이다.

 

나는 어떤 단계일까? 문제에 따라 단계를 오르내릴 듯 하지만, 3단계 ~5단계 어디쯤이 아닐까? 생각한다.

혼자만의 착각이면 어떡하지? ㅎㅎ