Одна из вещей, о которых никто не упомянул, заключается в том, что проблемы, которые вам даны для решения в школе, намеренно скрыты, чтобы было легче понять, как использовать в качестве конкретной техники, которой вас учат. Вы обычно знаете, какую технику вы должны использовать для этой конкретной задачи, потому что это та, которую вы только что рассмотрели в классе. Проекты на весь семестр немного лучше, но все еще ограничены в объеме и сложности по сравнению с реальным миром.
Реальные проекты являются грязными и развиваются в течение многих лет (нашему программному обеспечению уже более десяти лет, и оно постоянно менялось за это время), и к ним относятся многие люди с разными уровнями квалификации. Возможно, вы все еще прикасаетесь к 10-летней версии базы данных и вообще не можете использовать какие-либо более новые методы SQL. Вы можете использовать инструмент, который был великолепен 8 лет назад, но вы не учились в школе, потому что он был заменен чем-то другим. Но компания не хочет платить за месяцы усилий по разработке, чтобы полностью заменить ее.
Вы застряли в мире, где время на разработку жестко ограничено из-за того, за что заплатит клиент, и каковы, иногда (хорошо, обычно) искусственные, сроки.
Вы можете быть вынуждены использовать инструменты, которые клиент специально запрашивал. У вас могут быть неопределенные требования или те, которые не имеют большого смысла. Вы можете иметь дело с очень сложной бизнес-областью, о которой вы ничего не знаете и, следовательно, даже не можете судить о целесообразности требований.
Проблемы реального мира ни в коей мере не сравнима с хорошими чистыми проблемами, которые они дают вам в школе. Если вы не растерялись и не чувствовали себя не в своей тарелке большую часть первого года, я бы беспокоился о вас