아무도 언급하지 않은 것 중 하나는 학교에서 해결해야 할 문제가 의도적으로 바보가되어 배우는 특정 기술로 사용하는 방법을 쉽게 알 수 있다는 것입니다. 당신은 보통 당신이 그 특정 문제에 대해 어떤 기술을 사용해야하는지 알고 있습니다. 전체 학기 프로젝트는 약간의 베팅이지만 실제 세계에 비해 범위와 복잡성이 여전히 제한적입니다.
실제 프로젝트는 지저분하고 수년에 걸쳐 발전하며 (소프트웨어는 10 년이 넘었고 그 기간 동안 지속적으로 변경되어 왔습니다) 다양한 기술 수준을 가진 많은 사람들이 감동을받습니다. 여전히 10 년 전의 데이터베이스 버전을 사용 중일 수 있으며 최신 SQL 기술을 전혀 사용할 수 없습니다. 8 년 전에는 훌륭한 도구를 사용했을 수도 있지만 학교에서 배우지 않은 도구는 다른 도구로 대체되었습니다. 그러나 회사는 완전히 교체하기 위해 수개월의 개발 노력에 대해 비용을 지불하고 싶지 않습니다.
당신은 개발 시간이 고객이 지불 할 비용과 때로는 (정상적으로는) 인공적인 마감일이 무엇인지에 의해 엄격히 제약받는 세상에 갇혀 있습니다.
클라이언트가 특별히 요청한 도구를 사용하도록 제한 될 수 있습니다. 모호한 요구 사항이나 이해가되지 않는 요구 사항이있을 수 있습니다. 당신은 당신이 모르는 매우 복잡한 비즈니스 영역을 다룰 수 있으므로 요구 사항이 적합한 지 판단조차 할 수 없습니다.
실제 문제는 학교에서 당신에게주는 멋진 문제와 비교할 수 없습니다. 당신이 혼란스럽지 않고 첫해 대부분의 시간을 외면하지 않는다면, 나는 당신에 대해 걱정할 것입니다.