I have the pleasure of working with some university students during a summer vacation program. It’s a great experience and their enthusiasm and drive is seriously impressive. For any current university students here is a great article by an absolute legend of the .net community:
http://ayende.com/blog/172609/what-i-wish-they-would-teach-in-universities
Here is a nice little quote:
“I’m talking about actually using a source control system to manage code, to review past work, to see the flow of changes, etc.
What about knowing how to debug? I’m talking about a bit more than F5 and F10. I’m talking about practical things like being able to debug a big system and understand how to work the debugger to give you what you want. Knowing how to look at the stack trace, or understand the difference between an exception that is thrown (and handled) and an unhandled exception.
What about actually solving real world problems? Like a project that has a double assembly reference because of a bad merge, and you need to be able to track it down and fix it.
What about actually reading code? Given a non trivial amount of code, figuring out what is going on and making changes there.”
Ayende Rahien, 2015.
Now if you are a student studying software engineering don’t be disheartened. It’s just that you’ve started a journey and one of the things most seasoned developers will say is “there are no shortcuts”