Developing at university and working in the real world is a big change, bigger than you may realize. Tighter deadlines, technical documentation, and fellow developers will all have a profound effect on the way you proceed after university and will help to shape you into a successful developer. The following three things will help the transition be a little smoother and may even improve your job prospects.
Version control is, or should be, used by all development teams. Although Git and Team Foundation are commonly used there us a huge number of version control systems available; fortunately they are one and the same, get used to one and you should be able to use any of them. Personally I would recommend learning to use Git as it has been a requirement for over half of the jobs I have applied for.
"Git is the new fast-rising star of version control systems. Initially developed by Linux kernel creator Linus Torvalds, Git has recently taken the Web development community by storm."
Version Control allows you to save your code at different stages (versions) then continue to work on it, this way if anything goes wrong in future developments a previous working version can be accessed. This is also useful when working on team projects as the source code and be branched to multiple developers allowing them all to make changes, then the system will merge the changes back to the source code. I didn’t use version control on projects at University and thinking back it would save me many hours of retracing my steps if I had, it would also have helped greatly to tie this in with the project management system and allow me to keep tabs on the state the code was in for each task.
This is crucial at University and at work and is the reason my Dissertation was completed successfully, there are a lot to choose from but I will just discuss the two I have used. Throughout university I used Zoho Projects but have since moved on to Asana (Developed by original Facebook developer Dustin Moskovitz) which I would recommend to anyone, the sleek redesign has drastically improved the product and impressed me enough to spend the time transferring tasks from Zoho. Regardless of the system you are using ensure that you keep it up to date with the latest projects you have been set.
"Asana specializes in helping teams manage workflows, and it’s the preeminent tool for the job."
When a new assignment brief is released break it down into manageable sections in your notebook, then break each section into tasks and use the Project Management System (PMS) to keep track of which tasks are due when and the progress you have made. Make use of the description to fully layout your vision for the brief and the task, this way you can refer back easily without having to flick through a bloated notebook and then mark each task as complete; you will be able to refer back to completed tasks if they contain useful data.
In my opinion this could be the most useful skill for a postgraduate. Technology is constantly advancing and as developers it is our job to stay ahead of the curve and be in a position to implement new languages and technologies as they arrive in the marketplace. In order to do this many developers are self-taught in languages as their current role may not allow them to expand their knowledge as they wish.
"Most of the skills I use to make a living are skills I’ve learned on my own: Web design, desktop publishing, marketing, personal productivity skills, even teaching!"
When I started working in my current role during my final year I had to learn ASP.NET along side working on University projects and my dissertation. Since then I have continued to work for the same company, my skill-set however has continued to expand as I use my portfolio site to expand my knowledge. I have vastly improved my jQuery knowledge, redeveloped my portfolio in SASS (which was new to me), used some new PHP code to incorporate my blog into my site, and pushed my CSS/Bootstrap capabilities to a new level. I achieved this by reading blogs such as A List Apart, seek advice through CodeProject, and using free tutorial sites like CodeAcademy.
Update 27/08/2019: I'm now using Trello for project management - view all my gear here.