퇴근5분전

 유튜브을 보다보면 개발자를 목표로 하는 사람들에 대한 이야기들이 참 많다. 

언어별로 각종 강의자료들... 몇몇 자료들을 봤지만, 언어 소개 이후 론 대부분 코딩을 제일 먼저 시작한다.

 

 개발자를 시작하려면 가장 먼저 일주일 정도 시간을 내서 객체지향에 대한 이해가 먼저 선행되었으면 한다.

 SI일을 다니다가 신입 직원들을 봤을때... 코딩도 그럭저럭 하지만...

 전공자들은 학교 다니면서 동기, 선배, 교수들과 함께 투자한 시간만큼 코딩이 가능하다.

비전공인 분들을 각자의 센스? 또는 국비에서 강사들의 복불복에 코딩이 변죽을 부린다. 

나도 처음 개고생한거 생각하면, 그만큼 절실했으니까. C++ 책만 7번씩 볼 수 있지 않았을까? 

 

비전공자가 개발자를 하기전에 반드시 이거 하나는 해보고 공부를 시작했으면 한다.

 

프로그램 코딩 대부분 기본 구조는 아래와 같다.

 주어.동사( 동사의 목적에 필요한 데이타 목록,... ) : 결과 

주어는 객체이고, 동사는 객체로 할수 있는 일, 

그리고 객체가 하는 일에 필요한 데이타 또는 관련 객체들로 채워준다. 

개체가 한 일에 대한 결과가 나오는 것이 있고, 없는 것도 있다 ( void )

 

  우리 프로그래머들은 순차적으로 할 일들을 정의하고 순서대로 일을 할수 있는 문서를 작성하는 것이다.

 int a = 10; 이런게 중요한게 아니고... 

  하나의 프로그래밍을 완성하기위해 필요한 주요 객체들과 그 객체들이 할 수 있는 일(동사)들이 떠올라야 한다고 생각한다.  그림이나 사진, 또는 자기 경험등... 눈앞에 보이는 모두를 객체.일() 로 정의할 수 있으면 좋겠다. 

 

1. 자기 자신부터 동사를 붙여본다

    나.잔다( 시간 )

    나.일어난다()

    나.이동한다( 목적지 )

2. 이런 형태로 객체를 100여가지 정도는 정의해보자. 

3. 100여가지 중에 공통적인 것들을 분류해보자. ( 나중에 상속과 다형성 공부할때 좋은 자료가 된다 )

 

 17년 정도 프로그래밍을 했지만, 기본 적인 비지니스 업무흐름이라는게 회사마다 제각각이라 기획 같은게 어렵지 

코딩 자체가 어려운건 없다. 가끔 고수준의 크리티컬한 쓰레드 자원 관리나 게임프로그래밍 처럼 수학이 절실한거 아니면..  그냥 라이브러리를 얼마나 아는가? 또는 필요한 객체들의 어떤 행위들을 추측이 가능한가? 정도이다. 

진짜 어려운 프로그래밍은 전공자들 중 top class가 할꺼다. 

 그리고 이제 AI 시대가 왔다. 개발자들을 대체하기엔 시간이 좀 필요하겠지만... 발전 속도를 보면... 

깔려있는걸 한번에 뒤집는건 불가능해도 새로 만드는 것들에 대해서는 점점 가능해지지 않을까? 

 그러면 이제 개발이란건 기획! 이란게 진짜 필요할 지도 모르겠다.