A clean, ATS-optimized LaTeX resume template + in-depth guide built by PROG @ GSU to help early-career developers write top-tier software engineering resumes.
Built by students, for students β powered by PROG @ GSU, Georgia Stateβs tech club for builders, coders, and creators.
π Table of Contents (click to expand)
This guide compiles the best resume practices to get into these tech roles we're all aiming for β even with no prior experience.
Your resume is the biggest asset in your job search!
Before any interview, referral, or offer β it needs to get past the recruiter screen and Applicant Tracking Systems (ATS).
- It's asymmetric: a few hours of focused resume work can unlock dozens of interview opportunities.
- In this space we're breaking into, your resume is often the first impression β so letβs make it count.
Recruiters skim resumes in 6β12 seconds. Top to bottom. Left to right.
So we structure by relevance, not chronology:
- Work Experience β put below Education if you're applying to internships
- Education
- Skills
- Projects
- Coursework
- Leadership / Clubs
- Awards / Certifications
π‘ If you're applying for internships, keep Education at the top. Intern recruiters care most about your school, GPA, and that you're a current student. If you've interned at a FAANG company, lead with that!
The header should immediately tell the recruiter who you are and how to reach you.
- Full Name (large, bold)
- Phone number (U.S. only)
- GitHub
- Portfolio/Website (if relevant and active)
- Citizenship status (especially useful if you have a non-Western name)
- Using
.eduemail (especially if you don't check it) - Not linking LinkedIn β recruiters actually click this!
- Including your full mailing address (obsolete)
- Hyperlinking text (just show the raw URL)
Your Education section should be compact, clean, and front-loaded with the most important info β especially for internships. For seasoned Professional: The more work experience you rack up the less relevant university-related information gets, so section like relevant course work, honors or awards will most likely be removed unless it is super impressive or "name-brand"
- University name
- City/State (optional unless applying local)
- Degree + Major (Minor is optional)
- Expected graduation date (critical!)
- GPA (if 3.5+)
- Relevant coursework: Data Structures, Algorithms, Software Engineering, etc.
- Honors/Awards (or leadership if none)
π Keep this to 2β3 lines max. It should never take up more vertical space than your biggest project.
Bullet points are 90% of your technical signal.
Bad bullet points = mid resume
Strong bullet points = legit internship-level resume
Accomplished [X] by doing [Y], resulting in [Z]
This is how we write high-signal, ATS-optimized bullets. Be concrete. Be quantifiable. Be technical.
Made a multiplayer typing game using React and Socket.IO.
Developed a real-time multiplayer typing simulator using React and WebSockets, to support 50+ concurrent users with <50ms latency and persistent session states, resulting in 3,000+ matches played in the first month.
- Start with a strong technical action verb (Developed, Engineered, Optimized)
- Include a feature + tech used
- Explain why it mattered
- Include results or metrics if possible
π‘ Stuck? Brain-dump what you did. Then rewrite it with the XYZ structure.
- Does it start with a technical action verb?
- Does it name at least one tool/tech?
- Does it show why that feature mattered?
- Does it include a number or result?
This is your core section if youβve had internships, freelance gigs, research, or even volunteer engineering work.
Even without big names on your resume, you can still make this section look like a legit engineer's β if your bullets are solid.
- Position title (make it sound technical!)
- Company/Org name
- Location (optional; use βRemoteβ if relevant)
- Start + End Dates
- 3β4 bullets using the XYZ method
| Original Title | Better Version |
|---|---|
| βInternβ | Software Engineering Intern |
| βVolunteer Web Devβ | Web Developer |
| βResearch Assistantβ | Computer Science Researcher |
| βIT Assistantβ | Backend Developer |
- β Vague bullets like βHelped with codebaseβ
- β No tech/tools listed
- β No outcomes or impact
- β Using the same verb repeatedly
- β 5+ bullets or one-line walls of text
- Use LinkedIn job listings as inspiration
- Write long-term personal projects like jobs
- Open source = valid experience if team-based
TLDR: Donβt write like a student learning β write like an engineer shipping.
Projects are your proof of work.
Treat every project like a feature at a startup β not a class assignment.
Most recruiters skim this, but hiring managers read it closely.
- Project name
- 1-line tech stack summary
- 3β4 bullets using XYZ
- GitHub/demo link
- Use strong action verbs
- Include tech stack
- Explain problem solved
- Show metrics/impact
- β βBuilt a personal website using HTML/CSSβ
- β No bullets
- β Generic verbs
- β No tech
- β No results
- Think like a product engineer: What problem? Who used it? What changed?
- Reframe class projects like real-world features
- Use phrases like:
- Secure backend
- Real-time sync
- Seed-based PRNG
- Stateless scaling
- GraphQL API
This section helps ATS match you to job descriptions β and rounds out your technical profile.
For internships: include most technologies youβve touched and can talk about
- Programming languages
- Frameworks/libraries
- Tools/platforms
- Databases/cloud
β οΈ Donβt label groups β mix by relevance and strength.
- β Putting βproblem solvingβ or βcommunicationβ β this isnβt LinkedIn
- β Alphabetizing or randomly ordering
To use the LaTeX resume template:
-
Open in Overleaf (view-only link):
π Click here to view and copy -
Make a copy to your own Overleaf account
File β Copy Project -
Or copy the
.texcode into a new Overleaf project manually
More tips, writing patterns, and examples coming soon...


