일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- refactoring
- TCP
- 명령어
- ALU
- cache
- float
- 코드 컴플릿
- private ip
- L3 Router
- floating point
- physical address
- MMU
- 가독성
- network
- 사설 IP
- page
- Public IP
- CPU
- Code complete
- 리펙토링
- 클린 코드
- ack
- Clean code
- L2 switch
- Sector
- osi 7
- addressing mode
- 공인 IP
- register
- interrupt
- Today
- Total
Software Lab
개발자 공부 방법 본문
★ "무엇을 만들겠다"라는 목적이 있어야 공부가 더 잘 됩니다.
예를 들어 "Windows 용 파일 탐색기를 만들겠다"을 먼저 정하고, 다음으로 MFC를 공부하는 것입니다. 공부하다가 파일 관련 기능이 있다면 "해당 기능을 탐색기에 이렇게 적용 할 수 있겠구나!"이라고 생각할 수 있습니다.
★ 시작은 간단한 프로그램부터….
처음에는 2주일 정도에 끝낼 수 있는 간단한 프로그램부터 만드세요. 간단하게 글을 적고, 파일로 저장할 수 있는 Memo 프로그램 같은 것도 괜찮겠네요. 나도 프로그램을 만들 수 있다는 작은 자신감, 성취감을 느끼는 것이 중요합니다. 다음으로 점점 더 규모가 큰 프로그램들을 개발하시면 됩니다.
★ 개발과 컴퓨터 공학 공부 시간 9:1
더 좋은 프로그램을 만들기 위해서는 컴퓨터 공학을 알아야 합니다. 알고리즘, 네트워크, 운영체제, 컴퓨터 구조 등등이죠. 10시간 중에서 9시간은 개발했고, 1시간 정도는 컴퓨터 공학 공부를 했습니다. 개발하면서 모호했던 개념이 공부하면서 잡혔습니다. 또는 공부하면서 "이런 개념을 알아서 어디다 적용할 수 있지?"라고 생각한 것이 개발하면서 "아~ 이렇게 적용 할 수 있구나!"라고 느낄 수 있었던 것 같아요.
★ 도구 사용법을 깊게 배우지 마세요.
요리사는 요리를 만드는 것이 목적입니다. 칼을 능숙하게 다루는 것이 목적이 아닙니다. 요리를 만들기 위해 칼을 자주 사용하다 보니 자연스럽게 능숙해지는 것뿐이죠. 개발자는 프로그램을 만드는 것이 목적입니다. MFC, Java, C++ 등 그 기능 자체를 능숙하게 다루는 것이 목적은 아닙니다. 이런 것은 도구일 뿐입니다. 그런 도구들을 완벽 숙지한 다음에 프로그램을 만들려고 하지 마세요. 프로그램을 계속 만들다 보면 이러한 도구들은 점점 능숙하게 됩니다. 예를 들어 MFC 공부한다고 하면 핵심 기능만 요약된 얇은 책을 삽니다. 보통 하루 4시간 공부하면 일주일도 안되 책 한 권 다 봅니다. 그 정도면 도구에 관한 공부는 충분합니다. 이제 그것을 이용해서 프로그램을 만드세요! 그러다 보면 MFC를 점점 능숙하게 됩니다.
★ 반드시 출시하세요.
출시 목적으로 개발해야 합니다. 그렇지 않다면 개발 중도에 쉽게 포기하게 됩니다. 아니면 단순 테스트 프로그램 정도로 끝나 버립니다. 개발 완료 후 출시까지는 또 다른 험난한 여정입니다.
★ 커리큘럼이 끝날 때까지 기다리지 마세요.
대학교에서 수업 잘 듣고, 리포트 충실히 하고 공부 잘해서 학점 잘 받아도 개발 못 하시는 분 많습니다. 모든 공부 끝난 후에, 이제 졸작 하면서 개발해 봐야지 하면 늦습니다. 1학년부터 바로 개발 시작해야 합니다. 1학년이어도 개발하다가, 필요하면 3학년 전공 미리 찾아봐도 됩니다. 매 학기 프로그램 한 개씩 개발하면 졸업할 때 10개 이상 포트폴리오 만들 수 있습니다.