현실을 반영하지 못하는 구식 교육
교과서를 출판하기까지는 오랜 시간이 걸린다. 학위 과정을 만들어서 승인을 받거나 기존 과정에 신규 강좌를 추가하는 데에도 긴 시간이 필요하다. 대학교수는 현실 세계에서 이루어지는 소프트웨어 개발과 아주 동떨어진 생활을 하는 경우가 많다. 그 결과 실제 소프트웨어 개발 업계에서 성공하기 위해 알아야 할 핵심적인 기술이 무엇인지 제대로 반영하지 못하는 교육 프로그램이 탄생한다.
컴퓨터 공학을 전공하는 건 도움이 된다. 하지만 소스 제어 사용법이나 애자일 방법론, 아니면 가장 널리 쓰이는 인기 자바스크립트 프레임워크를 배우는 것만큼 실용적이지는 않다. 이런 약점을 자각하고 최근 소프트웨어 업계의 동향에 발맞추는 프로그램을 개발하는 대학이 있긴 하지만, 그리 많지는 않다. 이 책을 쓰게 된 이유 중 하나도 여기에 있다. 대학 교육이 소프트웨어 개발과 관련한 외적인 지식을 충분히 제공하지 못하므로 이런 정보를 정리해서 보여주고 싶었다. 물론 소프트웨어 개발의 다양한 측면을 독학으로 공부하면 이러한 한계를 극복할 수 있다. 하지만 그렇다면 애초에 학위를 위해 진짜 그만한 비용을 들일 이유가 있는지 자문해보아야 한다.