What to put on a Software Engineer Intern or Junior-Level Resume

This is a rant from reviewing hundreds of resumes on a Sunday so forgive the occasional sarcasm. I am not a professional resume writer either; merely trying to help make the world a little better, one resume at a time.

Sure, some companies filter resumes using tools and keyword search so everyone just throws in every buzzword out there but we are secretly hoping we’re better than text mining algorithms (and we really love reviewing resumes) that I reviewed one by one.

Will try to make this quick

If you are still in school

  • Have your projects in Github or public repositories. They differentiate (at least as of this time not everyone has it yet).
  • Work on something outside your course requirements.
  • Join hackathons or coding competitions.
  • Talk about career with experienced people, look for heroes. Your professors could be that person but not everyone has real-world experience and those matter.


  • Please, pretty please read the job requirements. Most companies put a lot of thought on them, we will also benefit from the saved time.
  • Watch your spleling
  • Watch you’re grammar – I’m no grammarian and don’t expect people to be one either but this tells me that the person has low attention to detail or did not take the resume seriously enough to have someone else review it. And detail is very important in engineering.
  • Cover letters help (show interest and effort) but keep them very short. Save the details for the resume.


  • Please use a nice font (please reflect the beauty of the world and embrace typography) but don’t be too flashy either.
  • PDF than Word Doc
    • more control on how it will look like versus depending on whether reader has MSOffice, OpenOffice or none that could read doc/docx at all
    • most browsers have plugin it opens right away
  • Do NOT try too hard to fit everything in a 1-page resume. Few is better but please do NOT remove the margins to make it “shorter”. Simplify your content instead.


  • Do NOT highlight your “low” GPA/Grade– I could be missing something but I wonder why some put those that seem to be lower than most. I think it could actually anchor the viewer negatively.
  • Do NOT list technologies you have only coded a few lines for or those you just learned by listening in class.
    • make sure you have actually coded or wrote an application that is either 1) used in production or 2) a publicly available web site
    • you can put them at the end as hobbies if you want
    • having all the possible programing language in the world could make someone think you don’t have enough depth. If you must insist on some archaic language, better be sure that most engineers know that it’s a beautiful language or hard to code unless you are a master
  • Do NOT list non-job related experiences – again you can point this out at the bottom (or if you want to still establish work history – just put a line, no need to describe too much).
  • Customize your resume a bit to highlight the needs of the position.
    • e.g. for a Java role, it’s sometimes useful to list Java first before other languages (and keep the list short – unless you are applying for a polyglot position)
  • Do NOT list Outlook, Word, PowerPoint or the likes unless you are a ninja on those apps.
  • Common, you are not a 10 in Java after school otherwise you would not be looking for a job (that job will be looking for you).


  • Do NOT explain what APIs are or do. It’s OK to explain the system you worked on but not something like “API is used to access the database”. Ah sure…
  • If listing your company/internship, say something about what you did. Unless it’s Google or Facebook people might think you did nothing amazing in that company.
  • Co-founder/founder always helps (for as long as it’s true). If it failed, leverage it by stating what you learned from them.


  • Sure, list your projects – but make their descriptions brief – most people will think you were required to do something anyway so they are not really differentiators.

Things that are true for all resumes/applications/branding
(you know these but apparently not everyone follows or maybe they don’t agree?)

  • Linkedin
    • good profile photo (not so trying hard – look positive, eager to learn)
    • for goodness sake, don’t look sad in your photo
    • list your top skills (and ask people to endorse them) –  if nobody endorses them, it’s worse than not being there
    • recommendations are helpful so ask for them – Yes, I don’t have recommendations there either but hey I am not looking for a job – you are
  • Build your online reputation
    • Blog if that’s your thing (or you can)
    • Twitter (and say sensible things, not test posts – or nothing)

Noise words
Unless you are submitting to an applicant tracking system that searches for just keywords, in my opinion these are just noise in your resume. In case companies filter out on those it’s probably a bad company to work with since they don’t really “look” beyond what machines can see.

  • Object Oriented Analysis
  • Design, Development, Implementation and Deployment of Software (or xxx)
  • Relevant graduate courses (all if not most, took them) unless you are applying for something super specialized and you took a class that matches that and is super specialized too (and only 5 students took it)
  • Good communicator – let your resume do/say/show that instead
  • Team player – yet to encounter someone say they are NOT and they hate people – eccentric geniuses exist but they don’t pass/write resumes – they don’t have to

Almost there…

  • Ready? Not yet. Have someone who has experience review your resume or better yet, pay for good professional writer/reviewer.
  • I have a tendency to read from bottom to top.  I look at “progression” after school and density of work/experience and not years. So don’t put messy stuff just because you think it’s at the bottom and nobody would read it.
  • Look at other people with your profile. Do you feel you have a differentiator?
  • Read articles on what hiring managers look for. Put yourself in their shoes, research online what to look for candidates and you will see common themes (e.g. smart + gets things done). Then figure out how you can be that person.
  • Be responsive when you get a response about the application. Not hearing back from candidate for days that is a red especially for positions where responsiveness is expected (e.g. Ops Engineer)
  • Remember, hiring managers do not do screening full-time. I am doing this on a Sunday so the easier you make the review the more lovable you will be.

More experienced/higher level position applications are a whole different discussion so will leave that to professional resume writers/bloggers.

Finally, if you are not yet in school but thinking of doing so also think about this

  1. Go to a great school (CMUs and Stanfords of the world) and just do your best to keep up (most of the time, the environment there will drive you to succeed)
  2. Or if you cannot for some reason, go to a reputable school that will allow you to have time  for outside projects

Imagine two candidates:
Candidate 1

  • GPA 4.0 in not so bad school
  • has github projects X, Y and Z
  • committer for Apache XXX project
  • Regular course work

Candidate 2

  • GPA 3.8 in some school better than above
  • Regular course work

Who do you think will have an edge?

Thank you for indulging in my rant and hope this makes the world a little bit better. Have a good week ahead!






6 responses to “What to put on a Software Engineer Intern or Junior-Level Resume”

  1. pommedepin Avatar

    Great post sir Ryan. Adding a few notes.

    On GPA:
    – If you have a not so good GPA, definitely don’t highlight it. Or be ready to compensate with some stellar side project.
    – If you don’t highlight your GPA, be ready to compensate with some stellar side project. Because I’ll assume your GPA is not so good.
    – If you come from a less-known school, the GPA and side project requirements obviously gets higher.

    On side projects:
    – If I ask you to tell me about a project and you start by describing a project that was assigned for school and doesn’t seem particularly exciting, you’re doing something wrong.

    On reading this:
    – If you’re interviewing with Ryan and you haven’t read this blog post, you’re doing something wrong. Do your research.

  2. ryangaraygay Avatar

    Yup. Great notes Paul.

    Oh and one more thing. Don’t feel bad about your application being rejected, move on, do better and keep trying (deliberate practice makes perfect). At some point you might have to pause and “pivot” on what you are doing wrong (or if you are in the right industry) but keep trying.

  3. Lauren Avatar

    Looks like this is bound to get a lot of hits, definitely shareworthy! Share this more please to your circles, it will help a lot. To add: Resumes should be customized to the company and post applied for, which simply means that ‘noise’ not needed for a specific post/co. should be taken out or put at the last part (remember Mayim Bialik’s acting resume?).
    Second, write your summary well. AND write a summary, for crying out loud. Hiring managers and recruiters usually don’t read a whole resume and applicants should assume that only the summary will be read.
    Third, if you’re actively applying, use the internet to research on resume writing…por favor, to avoid your hiring manager ranting like this, lol 🙂