Generalwhat knowledge to have for software engineering internship?
Posted:

Generalwhat knowledge to have for software engineering internship?Posted:

PostMalone
  • Winter 2017
Status: Offline
Joined: Mar 25, 20168Year Member
Posts: 3,648
Reputation Power: 424
Status: Offline
Joined: Mar 25, 20168Year Member
Posts: 3,648
Reputation Power: 424
so im in my 3rd year of college and i want to start getting experience and doing software engineering internships. One of my main concerns is that i will be unprepared for the knowledge i should have. With that same logic, i shouldnt even make it passed the interview phase before being offered the internship. But still, its a "fear" (if you want to call it that) of mine. Im a straight A student in my computer science classes, which was general computer science, computer science 1 and computer science 2. I was also great at discrete math, which i got a 98% in.

I guess my question is, what knowledge should i be expected to know before going into an entry level/beginner internship / internship interview?

some notes:
- these classes used Java, however i am taking the winter break to start to learn another language which is C++(even tho i know they are similar, in terms of OOP and syntax). And during the semester, when i have free time, i also want to try to learn Python. Now i know i wont be able to learn all the ins and outs of these languages, but i do want to learn enough to be able to some things with them.

- i am not shy of learning outside of the classroom, so if there is anything you guys recommend me to learn, please let me know. I love to learn!
#2. Posted:
Gary
  • Wizard
Status: Offline
Joined: Mar 09, 201212Year Member
Posts: 5,781
Reputation Power: 5267
Motto: Consume Tacobell. Play RuneScape.
Motto: Consume Tacobell. Play RuneScape.
Status: Offline
Joined: Mar 09, 201212Year Member
Posts: 5,781
Reputation Power: 5267
Motto: Consume Tacobell. Play RuneScape.
I'll preface this by saying I do not have a software engineering background but I do have a tech background (System Administration) with lots of intern experience.

To be honest interns don't do that much and won't be expected to do any heavy work within a codebase. Whatever company you are going to intern with will teach you the intricacies of their workflow and code. You are there to learn after all.

However you should expect to know at least ONE popular object oriented language; I suggest C++ or Java as those are pretty common in enterprise (I cannot even begin to describe the amount of shitty in house java applications I've dealt with from the helpdesk side of things). Some of your own projects also look good on a resume if you don't have any prior intern experience.

TL;DR Start learning outside of the classroom. Become experienced with one language the others will come easily after that. Start working on side projects and learn to manage large projects. Familiarize yourself with Git. And brush up your resume and references.
#3. Posted:
PostMalone
  • TTG Contender
Status: Offline
Joined: Mar 25, 20168Year Member
Posts: 3,648
Reputation Power: 424
Status: Offline
Joined: Mar 25, 20168Year Member
Posts: 3,648
Reputation Power: 424
Gary wrote I'll preface this by saying I do not have a software engineering background but I do have a tech background (System Administration) with lots of intern experience.

To be honest interns don't do that much and won't be expected to do any heavy work within a codebase. Whatever company you are going to intern with will teach you the intricacies of their workflow and code. You are there to learn after all.

However you should expect to know at least ONE popular object oriented language; I suggest C++ or Java as those are pretty common in enterprise (I cannot even begin to describe the amount of shitty in house java applications I've dealt with from the helpdesk side of things). Some of your own projects also look good on a resume if you don't have any prior intern experience.


Thanks for the tips! Im very comfortable withJava.

I know you said you dont have a software engineering background, but you might be able to shed a little light on this. What kind of projects should i put on my resume? I know there isnt a cookie cutter answer to this, but when i saw you suggest it, i thought of my semester long final project which was a Vehicle Rental agency program, which held a collection of cars and allowed people to rent them, cancel a rental, return them and so on...there was other stuff it could do but ill spare the details for the sake of it not being that interesting and also the only way of interacting with it is a console in an IDE. However, i think this would be relevant because it does use OOP (both being able to create an object and store a collection of objects), Polymorphism, and exception handling.
#4. Posted:
Gary
  • Wizard
Status: Offline
Joined: Mar 09, 201212Year Member
Posts: 5,781
Reputation Power: 5267
Motto: Consume Tacobell. Play RuneScape.
Motto: Consume Tacobell. Play RuneScape.
Status: Offline
Joined: Mar 09, 201212Year Member
Posts: 5,781
Reputation Power: 5267
Motto: Consume Tacobell. Play RuneScape.
PostMalone wrote
Gary wrote I'll preface this by saying I do not have a software engineering background but I do have a tech background (System Administration) with lots of intern experience.

To be honest interns don't do that much and won't be expected to do any heavy work within a codebase. Whatever company you are going to intern with will teach you the intricacies of their workflow and code. You are there to learn after all.

However you should expect to know at least ONE popular object oriented language; I suggest C++ or Java as those are pretty common in enterprise (I cannot even begin to describe the amount of shitty in house java applications I've dealt with from the helpdesk side of things). Some of your own projects also look good on a resume if you don't have any prior intern experience.


Thanks for the tips! Im very comfortable withJava.

I know you said you dont have a software engineering background, but you might be able to shed a little light on this. What kind of projects should i put on my resume? I know there isnt a cookie cutter answer to this, but when i saw you suggest it, i thought of my semester long final project which was a Vehicle Rental agency program, which held a collection of cars and allowed people to rent them, cancel a rental, return them and so on...there was other stuff it could do but ill spare the details for the sake of it not being that interesting and also the only way of interacting with it is a console in an IDE. However, i think this would be relevant because it does use OOP (both being able to create an object and store a collection of objects), Polymorphism, and exception handling.


I do have experience with onboarding interns from various departments at my prior jobs, and while I didn't have the final say my input did matter. The hiring manager usually looks at your resume in the following order. Experience, Education, and then basically everything else. The type of project you listed is good and can put it under personal project as a work experience. Just simply list the dates you worked on it. Another big one I saw often was making some small game projects. Hell, for my first internship I even had TheTechGame Moderator as volunteer work and it ended up being one of my best internships ever.
#5. Posted:
SovietRussia
  • Ninja
Status: Offline
Joined: Mar 17, 201113Year Member
Posts: 3,910
Reputation Power: 236
Status: Offline
Joined: Mar 17, 201113Year Member
Posts: 3,910
Reputation Power: 236
It depends on where you want to get an internship. All companies hiring interns, know what they're getting into. They're looking to hire someone with little to no experience. So they're looking for someone with introductory domain level experience, a passion for the field, and a willingness to learn. So my advice would be finding the "field" (devops,backend,etc) you want to go into in the future and dive into the beginner topics.
#6. Posted:
-Deano
  • Rated Awesome
Status: Offline
Joined: Aug 19, 201013Year Member
Posts: 5,238
Reputation Power: 532
Status: Offline
Joined: Aug 19, 201013Year Member
Posts: 5,238
Reputation Power: 532
It honestly depends what the company you apply for does as a business.

You could spend a bunch of time learning front-end design because the company you were looking to join is a web development company; you could spend a bunch of time learning about databases and data storage; etc.

As an intern they won't really expect you to be able to do much - you are literally a beginner for all of this - and will likely have you working with a team member to learn as you go.

I would say in terms of making a great portfolio to show to these companies, you should be able to demonstrate a few things:
  • A good understanding of OOP (Classes, inheritance, SOLID principles, etc.)
  • A small project that really nails down some functionality. This depends on your kind of area though. For example, I was looking to do web dev so I made a simple website that explains about PC building (because that is a hobby of mine)
  • A good understanding of syntax. Once you are comfortable with one programming language, it's easy to translate these skills to other languages - at your level they will all be very similar. This will alleviate some of the stress of joining a company having learnt Java and finding out they are entirely using C#.
  • DEBUGGING. You don't need to be a god at programming. Debugging is one of the most important skills. This translates more than just the ability to fix a problem, you show laterality in your thoughts and how processes are connected together; if you do an action and the wrong things happen, it's a key skill to understand WHY that happened and how the code managed to get into this state.


I think a lot of the stuff you learn at university is just bloat - You learn things like how a merge sort works, how floating point operations work, etc. in the CS classes but practically it's not really relevant in day-to-day work (pro tip - you can look things up and don't need to know literally everything)

Anyway, that's just my two cents - I have been a software engineering for going on 5 years now. In general I would say you don't need to do anything in particular but the bullet points above will help drastically.
Users browsing this topic: None
Jump to:


RECENT POSTS

HOT TOPICS