10 answers

How to prepare for an internship?

Asked Somerdale, New Jersey

I’m in progress of a computer science bachelor degree. However, I’ve only had two coding classes: an introductory class using Visual Basic, and C++. I do not feel that I have learned much and would like to be more qualified for future internships. How may I further increase my knowledge outside of school? #computer #computer-science #stem #software #softwareengineer #softwaredeveloper #technology #womeninstem #internship #science #computer #computer-software

10 answers

Grant’s Answer

Updated Trinity, Florida

I recommend looking for free coding courses or computer clubs to practice skills and improve your abilities and languages. GitHub is a great place for an open source coding community to get feedback, practice your skills, and develop a portfolio for employers to review. For the internship, research the company, make contact to determine what is available, and if it is paid or unpaid so you know whether you have to work or not while interning.

Grant recommends the following next steps:

  • Build a coding profile.
  • Research the companies you want to intern with and see what they are offering.
  • Determine if the internship is paid or unpaid.

Kristen’s Answer

Updated Portland, Oregon

From your question, it sounds like you are looking for resources to broaden your knowledge to be competitive for more internship opportunities. There are many online resources to help you learn more programming languages or other technical skills you may want to learn.

https://www.udemy.com is a great place to start and they often offer discounts as low as $10 per class.

Looking for online recordings of topics you are interested in is also a great resources. The speakers often list their sources at the end of their presentation.

There are lots of resources for women in tech as well

STEM internships

Many local colleges offer assistance to underrepresented populations in tech in finding internships as well.

There also look to be a lot of Women in Tech meetups in your area, which would be a great resource to ask one on one questions and find internship opportunities.

Kristen recommends the following next steps:

  • Look up online classes to broaden your knowledge
  • Look up STEM internships
  • Contact your local collage to see if they have any resources to help you find internships
  • Check out the Women in Tech meetups in your area to build relationships and opportunities.

Aditi’s Answer

Updated Foster City, California

Hello Gillian,

I am glad that you are thinking ahead about the future internships and are willing to put in efforts to learn more. From my personal experience of being a non-CS graduate to being a Software Engineer now, I would suggest focus on learning algorithms and data structures. You need to know and understand those basic concepts before applying it to the real world problems. And that is the basis of most of the interviews for fresh graduates.

Interviewers would look into how well you know a particular data structure - say HashMaps, Arrays, LinkedLists, Graphs, etc and then how well can you apply to that knowledge.

I would suggest looking at these hands on websites that help you prep for interviews and also learn the concepts -

https://www.hackerrank.com/

https://www.codecademy.com/

Aditi recommends the following next steps:

  • Go through the websites linked and practice more on concepts

Brian’s Answer

Updated Phoenix, Arizona

Research the company ahead of time and make sure I knew the company’s mission statement.

Desiree’s Answer

Updated Portland, Oregon

This is a great question and highlights a common gap in university programs. Think of the companies you engage with everyday -- websites you visit, stores you shop with, or applications on your phone. Research information about those companies, like what technology they use or what skills they seek in their technical employees. That could set you in a good direction for self-learning.

Many employees attend conferences and present talks on their work. Looking through conference agendas also highlight trends in the industry that could shape your study.

https://events.google.com/io/

When interviewing with specific companies for an internship, I agree with other responses that researching a specific company ahead of time is always helpful. Besides the info listed on its website, you can also learn a lot about what the company is doing and what is important by reading its blog posts. For instance, https://blog.newrelic.com/

Desiree recommends the following next steps:

  • Research the technology used by your favorite companies
  • Read company blogs for info on the technology they use

Harli’s Answer

Updated Plano, Texas

For my internship, I researched about the company ahead of time and made sure I knew the company’s mission statement. Also. I would recommend researching their website before the internship. Good luck with your internship!

Mario’s Answer

Updated Granollers, Catalonia, Spain

Personally, I like to learn from experience, creating my own software projects. In computer programming, learn by doing is maybe the most effective way to learn.

You don't need to create big applications or something useful to the other people. Sometimes it's just enough to do small programs for fun, which allow you assimilate the concepts you are trying to learn.

Also, consider that, for an internship, we don't usually look for a person who knows a lot of languages or paradigms. It's more important, on top of a solid base, to be a person that learns fast, it's open to learn new things and it's not afraid at having its own initiative.

Rana’s Answer

Hi Gillian

This is a great to ask and important step towards your professional life. Please see below the items you need to pay attention to:

1-Expand your network ( Linkedin, Friends and Family, Social Circle). Although connections are not essentials for you to land your internship, however they are important

2-Don't get discouraged if your applications get rejected, stay positive and keep trying .

3-Apply for positions that you think you are interested in learning and developing skills for, not just for any positions

I hope this helps. Please let me know if I could be more of an assistant .


Regards

Rana


Cody’s Answer

Updated New York, New York

as a student majoring in computer science what you have learnt in the course is definitely not enough for doing any serious work as an intern.

as someone working in software industry we usually seek certain qualities in intern students which are:

  • able to learn new things fast, full of curiosity. Sometimes even if you never tried the new language or new technology you should at least have heard of it and know something about it and able to show your understanding and intuition.
  • problem solving skills, many tasks in software industry is not really about programming language or coding but more about understanding the problem, breaking it down and attacking smaller problem one by one. Hence many times your analytical skills is even more important than coding ability.
  • Software Industry is a lot about programming but not always about it, language invariably is just the tool that you approach to model the problem and ultimately crack it. So other knowledge beyond programming language such as understanding the nature of computation, under standing the programming language theory itself is a bonus to help widen your horizon and able to view the world from a much higher perspective.

might be too abstract to be useful but basically the key is to "think" and "keep thinking".

when you see something you don't understand ask yourself why and once you find the answer to that question ask even more questions.

we may never know the ultimate answer of the universe (not it's not 42) but certainly we can have a reasonable understanding of the computer science.

so keep the learning and keep using your brain, practice small code projects, those are all keys to success.

Neeraj’s Answer

Updated Bengaluru, Karnataka, India

Follow these steps:

Neeraj recommends the following next steps:

  • Be aware of a couple of different types of programming languages like Java,C / Python. Dig deeper into one and become proficient at using it to build things.
  • Build things. Just jump in, pick a project you like or pick one of the many you find on open source sites like github where your contributions are valued.
  • Also develop domain knowledge for the domain youre interested in programming in: this could be cloud / systems / AI/ ML, IOT, Android, etc.
  • Express your skills & experience well in your resume and contact companies in your domain for internship opportunities