안녕하세요.
 
더 바빠지기 전에 생각나는 부분을 한번 대략 정리해야 될거 같아서 글을 올립니다.
 
보통 프로그램을 잘 짜려면 문법을 알아야 하고
코딩을 잘해야 하고 그러는데 코딩을 잘한다는게 어떤건지 명확히 모를때가 많습니다.
-> 원래는 "공학적으로 사고하는 법" 이 글을 적는다고 하다가 엉뚱한 데로 빠져서 제목을 바꿉니다.
 
그냥 저의 과거를 돌아보면 이랬던 것 같습니다.
 
초보때는 미션이 주어지면 아래 순서로 작업하였습니다.
0. 뭘 해보라고 듣고 온다.
1. 에디터 창을 연다.
2. 무언가 생각나는 데로 코드를 써본다.
3. 뭔가 계속 꼬이고 생각이 안난다.
4. 문법을 몰라 인터넷 뒤져 본다.
5. 어디서 소스 주워서 복붙했는데 컴파일 오류가 나거나 잘 안된다.
6. 투덜거리며 다시 다른 소스 주워온다.
7. 몇번 하다가 안되면 다 지우고 내가 짜고 말지 하며 다시 혼자 짜기 시작한다.
8. 컴파일 오류로 한참 헤멘다.
9. 어찌 컴파일은 되었는데 출력은 원하는 결과가 아니다.
10. 중간마다 디버그 걸어서 어디서 문제인지 확인한다. (뒤부터 앞으로)
11. 당연히 맞다고 생각되었던 부분이 이상하게 오류였다. 스스로 꿀밤한번때리고
12. 이게 돌아깔까 하는 불안감과 누더기 소스를 물어볼데도 없이 혼자 릴리즈한다.
13. 신기하게도 현장에 돌아가는데 며칠 또는 몇달 뒤 큰 사고와 함께 1,번 부터 반복한다.
 
20년이 지나고는 이렇게 바뀌었습니다.
1. 한국말로 미션이 주어진다.
2. 짧은 한국말을 조건이 달린 긴 한국말로 바꾸어 되물어본다.
   - 이러이러해서 이런 조건에 이런 출력이 나오는 기능 말인가요?
3. 처음 미션이 바뀐다. 요청자도 자신의 요구사항을 정확히 모르는 상황이 발생함.
4. 1-2 과정을 반복해서 간단한 요구사항 문서를 만든다.
  - 컨펌하러 보내놓고 설계시작
5. 알고리즘을 말로 풀어서 종이에 써본다.
  - 조건 별로 나누어 본다.
6. UML 미스무리하게 나름데로 다이어그램 그려서 설계해본다.
7. 코딩 시작
9. 종이보고 코딩 , 종이보고 코딩, 한번 쓴 코드는 왠만해서는 다시 지울 필요가 없다.
11. 그동안 짜놓은 라이브러리가 많아서 그냥 복붙이다.
   - CTRL-c,v 만 반복하고 있는 내가 한심해지기 시작한다.
10. 필요함 함수가 생겨서 github 뒤져본다.
11. 제일 많이 사용되는 라이브러리 갖와서 복붙
  - 라이브러리 복사 전 별도 샘플 검증 테스트 (테스트 로직 작성)
12. 완성된 함수를 이용한 테스트 로직 작성하여 검증.
  - 입출력 데이터가 많다면 엑셀이든 db 든 데이터로 정리.
13. 검증된 함수 부분을 메인 함수에 복붙
14. 머신에 다운후 최종 테스트
15. 현장 릴리즈 후 아무 이상 없음에 약간 불안해 하며 무소식이 희소식이라고 생각하고 다음 미션을 한다.
16. 정말 전화 한통없다. 그래도 불안하다.
 
그냥 한번 생각나는데로 적어보았습니다.
ㅎㅎ
 
즐거운 주말 되세요~~
저는 다음주에 빠듯한 해외 출장으로 몸과 정신을 혹사하러 잠시 다녀오겠습니다. T.T

+ Recent posts