It does not mean that university or college is not the right place to learn. It is a dilemma that most teachers in university/college have little or no experience of the industry. Most probably they might be recruited due to their exemplary performance in their academic field. This results in a faculty which has little or no experience of the market/industry.
We have tried to list out some skills/practices which are from people with-in the industry. They want you to learn it now or you will eventually learn it the hard way, like they did.
Never say No!
Your client will always want you to do everything even if it is not covered in the requirements agreed upon. You can always put in a little extra effort for free to develop a long term business relation with your client. But If the client demands too much, instead of saying a blunt “no” you can say “I can do this, but it will cost you X$ amount and will only contribute Y% of quality to your product/service”. When you say, “NO”, you are trying to control the situation, limiting choices and putting a break to alternatives and making the client think you are the problem.
Never ask a Client What they Want
Never ask a client what they want, instead ask them what they are trying to do. You may come up with a more creative and productive solution to their problem.
Learn to Debug and use a Version Control
Debugging is the single most important thing a programmer should be good at. You might have used a lot of print statements to debug your code in college but you should instead learn to use breakpoints, language debuggers and last but not the least a version control system. Incorporate the use of a version control system into your workflow. You never know when your code turns into rubbish and you need to rollback.
Learn to use Google and Language Documentation
Best practices: Best Programming Skills Docsity Blog
The most common phrases you will hear from computer science folk are, “GIYF” (Google is Your Friend), Did you Google That?, Let me Google that for You, Just Google it, etc. All this means you should learn how to use Google for your good. A computer science student should know how to get solutions to his programming related issues on Google. Also try to use the documentation of the language to learn about its syntax, arguments, alternate format etc.
Embrace a Test Driven Approach
It’s ok for your code to fail. The test driven approach may set you back a little but then you emerge with a giant leap. TDD helps you to:
– Find the simplest solution which also implies less bugs.
– Come up with better solutions to correct the test. You might not write the correct solution at first but you may get a better solution later and when you do, you can always apply it.
Apart from thinking that your faculty is full of academics with no experience of the industry, you should also ponder on the point that university/college teaches you programming principles, structures, algorithms, paradigms, how the internal of the computer works etc. These things are hard while technology (testing platforms, version control, tools, IDEs) is easy. As long as you have the passion and you are crazy enough, you will learn to use technology, so leave the hard stuff like principles, structures, etc. to your professors and teachers.