Let's get a computer science internship

Post on 11-Aug-2014

6.586 views 47 download

Tags:

description

Presentation I gave to help students entering their junior year secure computer science internships

Transcript of Let's get a computer science internship

Let’s get a software development internship

Julian Ozen

Why you should listen to me

How to get an interview

How to approach interview practicing

Why am I talking?

Generic career advice isn’t always relevant

WashU is not a top computer science recruiting school

You may not be a top candidate

Software Developer Positions are not given out solely by intelligence,

school, GPA, or referral

2014 High Paid Interns

by Gayle Laakmann Mcdowell

Sources

Recruiters

Company Hiring Blogs

careercup.com

Quora / Reddit / Twitter

HackerNews Cracking the Coding Interview

Are you ready?

If you’re at WashU, have you taken CSE241?

Linked Lists

Binary Trees

Tries

Stacks

Queues

Vectors / Array Lists

Hashtables

Breadth First Search

Depth First Search

Binary Search

Merge Sort

Quick Sort

Tree Insert / Find / etc

Bit Manipulation

Singleton Design

Factory Design

Memory Hierarchy

Stack vs Heap

Recursion

Why you should listen to me

How to get an interview

How to approach interview practicing

Interview Process

Build a resume

Submitting Application

Screening Interviews

Follow Up Interviews

Resume Building

CareerCenter is still a valuable resource

Quantifiable Bullet Point

Accomplished ____X____,

by using ____Y____,

which led to ____Z____.

Quantifiable Bullet Point

Organized and directed a team with diverse technical backgrounds in the design of an urban disaster relief application.

What technologies did you use?What was it for?

Who did you help?How well did it perform its job?

What recognition did it receive?

Quantifiable Bullet Point

Wrote web application in Python, HTML, and JavaScript that checks if internal bridge lines are currently being used, and updates a database correspondingly.

Projects and Languages

WashU doesn’t teach anything except JAVA for the first few semesters

You don’t want a recruiter to think you’re just a

__________ developerJAVA

You don’t want a recruiter to think you’re just a

__________ developeriPhone

You don’t want a recruiter to think you’re just a

__________ developeriPhone Web

Projects and Languages

Knowing several languages signals to a company that you are capable of being put on any project

Online courses make this extremely easy to learn

A projects proves you know that language

Go to Hackathons

Utilize a new technology or language

Create a projects to put on a resume

Free t-shirts, swag, food, prizes

Meet with recruiters and other smart people

Networking

Getting an interview can be the hardest part of the application process

Critical if your school doesn’t attract top companies

Referrals are both everything and nothing

Apply, Apply, Apply

Make an A / B List of Companies, but interview everywhere

Multiple offers give you leverage, even for internships

Why you should listen to me

How to get an interview

How to approach interview practicing

Interview Questions

Behavioral

Coding

Behavior Question

Memorize Resume Talking Points

Most Interesting Project Conflict with Teammates

Hardest BugMost Interesting

What languages did you use?

Coding Questions

Done on paper or a whiteboard or collaborative docso don’t practice on a computer

Coding Questions

Ask Questions

What attributes does the data have?

What resources / libraries can I use?

What constraint’s do I have?

What is the context?

Figure out the catch

Coding Questions

Coding Questions

Pseudocode, then "real"code

Coding Questions

Test your code

What happens at negative?What happens at 0?

What happens at a million values?

Does it do what you think it does?

Coding Questions

Remember, these are hard.

Go Slow. Stay Calm. Deep Breath.

Start with any answer, work towards the best one.

Often getting a question wrong does not mean you did poorly.

This is just the start.

There are immediate significant payoffs to putting in hard work in a few specific areas.

The best way to be successful is to become comfortable with this process.

Good Luck!

Any questions?