Tips To Enhance Technical Skills

I’m writing this post to share some thoughts about improving the technical skills of computer science students, this post will be updated whenever I remember one of my scattering thoughts 😀 Feel free share your thoughts with us in comments, and I’ll feel happy to add them to the post.

  • Practice, Practice, and  Practice to the Infinity –  The direct path to enhance your coding skills. Simply, practice means writing/reading codes. Practice with a defined Goal , practice on things that aren’t easy for you, and always create a schedule or structure to follow.
  • NEVER STOP solving problems on different online judges (TopcoderUVaSPOJCodeforcesUSACO, .. etc)  and participating in online and offline competitions, this will help you to enhance your thinking skills and improve your coding skills by writing bug-free, well-tested, and high-performance code.
  • Learn a different programming language every some period, for example every semester or every year, but be professional in using one of them.
  • NEVER STOP learning new topics and new techniques, and implement them.
  • When you get your summer vacation try to make code re-factoring to the code of your academic projects and document this code, it could be useful for sharing the code online and allowing others to contribute to it. To be honest I never made this, but it’s a very important point.
  • Reading and figuring out the problems of codes that written by different people.
  • Share your code with people to get reviews on your code, you can share it on some of online open source communities like Code project and Sourceforge.
  • Get involved with open source projects, there are multiple open source projects that have many experienced software programmers  working on them.
  • Write a documentation for code written by other people. This helps in understanding the way other people think and program.
  • Try to build a good team with different qualifications, pairing programming with other programmers might increase the quality of code.
  • Seek first to be professional in the basics of computer science ,then to learn the advanced topics.
  • Explain what you know to others, this sometimes helps you to fill the gap in your knowledge, always share your knowledge with others.
  • Don’t hesitate to ask questions on online groups like LinkedIn groups.
  • Attend the online courses on Coursera, Udacity and so on.
  • Broaden your horizons by following some technical magazines, technical blogs,  to be aware of the latest technologies, latest research and projects all over the world.