Tips for Undergraduate Computer Science Students in Hong Kong
Internships are considered as an important gateway to being the starting point of a student’s career in an industry. The computer science industry is one of the top leading and fastest growing industries in this age of technology and Hong Kong has become known to having world-renowned engineering programs with the Hong Kong University of Science and Technology (HKUST) and the University of Hong Kong ranked 8th and 12th respectively in the top universities for computer science1. Students will find that there are numerous competitions to face and the best way to step up against them is finding an internship to further knowledge.
"No matter what you do, get a good summer internship" – Joel Spolsky, Advice for Computer Science College Students
Becoming an intern enables undergraduate students to experience first hand what it’s like to be in a real-world organisation workspace that is relevant to their studies and apply what they have learnt in the classroom. It also provides the opportunity to build and establish a reputation that is presentable to an employer. Interning also enables you to discover your interests and look to specialise in in the future of your career. Internships and vacation programs in software engineering provide an invaluable learning experience, which can most likely increase the chances of it becoming a full time employment opportunity after graduation.
What you need
Employers do not require students to have prior experience in technology. However, the one main requirement to becoming an intern in is to have prior knowledge and understanding of the programming languages of software engineering. Although it is not required, it is recommended and a good idea to learn a few things to get started2:
- HTTP/REST APIs
- Python, Ruby, Java, C++ or .Net
- SQL and NoSQL databases
- Ruby on Rails/Flask/Django/Node (frameworks)
- Mobile Development
It is also advised to not only have a resume but also build up a portfolio, as they are able to show your ability in programming. Things to include in a portfolio3:
- Accomplished projects
- Per-project pages
- Publicly browsable codes
What to expect
The best types of internships are those that allow students to develop their skills and give a kick-start to their career to improve as well as build their CV. Hong Kong is known for its leading industries in finance and innovation, and an internship would help build your skills and further your knowledge in software engineering. Internships provide the environment of a workspace without having to be fully committed; testing and training interns to see how they work under a degree of pressure that is not normally experienced in a classroom. This allows employers to see how individuals do in a working environment as well as their ability to work both independently and as a team player.
Through internships and vacation programs, students are also able to grasp a larger understanding of the different aspects in computer science as well as learning and applying the practices and principles of developing software as well writing them. A few things a software engineering intern would be exposed to are problem solving, communication, innovation, and decision-making. Some of the most popular areas for the computer science department are4:
- Web design
- IT security
- Software development etc.
Although internships usually target penultimate-year students, there has been an increase of investment banks; a big employer of computer science graduates, holding insight programs for first or seconds years.
Internship programs are commonly 10 to 26 weeks long, however, there are also internships that last a whole year and may start any time that usually follow the seasons of a school year (summer, winter, half-year and one-year internships), which allow interns to choose a suitable time with the employer to start the internship.
Companies that offer internships and vacation programs in computer science vary from small start-up companies to large, well-known corporations, giving students a wide range of choices that they would think suitable. There are always differences with the two types of companies, especially when it comes to their structure of protocol, practices and policies.
- Big companies Generally, it is better to land an internship at a big company in software engineering, as it would look more prominent in your CV as work experience. Big companies look long term in the industry and would evaluate more on work aptitude rather than what you already know. They are also most likely to look at your education and academic records as well as past projects, especially independent work as it shows passion and impresses employers.
- Start-up companies Start-ups are more hands on deck, looking at both long and short term. They look for potential interns that are willing to learn by themselves. In addition, with fewer employees, there are less specific roles, ideally giving the opportunity to understand more about the company and take up different roles in the work area.
Looking for internships
It is not always easy to know where to start when looking for internships in such an industry. However, these are a few things to consider:
- Referrals Ask for job referrals from networks working in the industry, having strong connections can be a great opportunity to a guaranteed interview and possibly landing an internship.
- Internship and vacation program fairs Going to career fairs provides the space to find companies and meet with potential employers. Impress the employers to get recognition by showing interest in their product as well as showing past experiences.
- Company programs Consider mass-applications by looking and applying at the programmes offered by venture capital firms, especially big venture capital firms and they only require a short amount of time to apply.
- Approach companies This applies more to start-up companies, as they don’t advertise their company as much as big companies do. There would be a larger chance in getting an interview when you explore all types of companies and approaching them directly.
Following the process of applying, there will be a series of tests and interviews to evaluate you on. There are generally three types of internship interviews, which are categorised into5:
- The programming interview – the most common interview that consists of questions about algorithms, data structures and coding.
- The “what you’ve done” interview – the opportunity to talk about yourself; your resume and projects.
- The language-specific interview – this is where you are quizzed about your knowledge on language
Make sure to be prepared for the interview, the more you can back up your claims, the more chance to landing the internship.
1 Top Universities. QS World University Rankings by Subject 2015 – Computer Science & Information Systems. 2015
2 Dharmasena P. CS Internship Recruiting Guide. 2015.
3 Might M. What every computer science major should know. 2015
4 Intern Options. IT Computing Internship. 2015
5 Li L. Tips for Computing Science Internship Interviews. 2015