Last year, I needed a professional CV for internship applications. I opened Microsoft Word, picked a template, and started filling in my information. Two hours later, I was still fighting with margins, watching bullet points randomly shift, and trying to figure out why my skills section wouldn’t align properly.
Every time I added a new project, the entire page layout would break. Dates wouldn’t line up. Sections had inconsistent spacing. And the worst part? It looked exactly like every other student CV—generic Word template #47.
Then I remembered: I’d been using LaTeX for college reports for months. If LaTeX could handle complex technical documents, why not my CV?
I rebuilt my entire CV in LaTeX. Took about 30 minutes once I found the right template. The result? A clean, professionally typeset document that actually looked different from the pile of identical Word CVs recruiters see daily.
But the real benefit wasn’t just aesthetics. It was control. In Word, I was fighting the software. In LaTeX, I told it exactly what I wanted, and it delivered—perfectly aligned, consistently spaced, every single time.
Since then, I’ve helped multiple classmates migrate their CVs to LaTeX. Same pattern every time: frustration with Word, skepticism about LaTeX, amazement at the final result.
Let me show you why LaTeX is genuinely better for CVs, which templates actually work, and how to build your own professional CV without fighting formatting nightmares.
Why I Switched to LaTeX for My CV (Real Reasons)
1. Formatting That Actually Stays Put
The Word problem: Add one bullet point, watch your entire layout collapse. Adjust one margin, see three other sections shift randomly. Copy-paste text, mysteriously inherit formatting from somewhere else.
The LaTeX solution: Content and formatting are separate. I write my experience in one place, LaTeX handles the visual layout automatically. Change something? Everything else stays exactly where it should be.
Real example: In Word, when I added my Blockchain Document Verification project, the dates on my previous entries shifted out of alignment. Took me 20 minutes to fix. In LaTeX, I added the project with the same commands as others—dates aligned perfectly automatically.
2. Professional Typography
LaTeX was designed for typesetting books and academic papers. The typography—font choices, spacing, line breaks, kerning—is optimized for readability.
Comparison: My Word CV looked like a student assignment. My LaTeX CV looked like a published document. Same content, completely different impression.
Why recruiters notice: When you see 50 identical Word CVs and then one professionally typeset document, it stands out. Not because of fancy graphics, but because of clean, consistent design.
3. Consistency Across Sections
Every heading uses identical formatting, Every bullet point has identical spacing. Every date aligns perfectly. This consistency happens automatically in LaTeX—in Word, you’re manually adjusting every element.
My mistake in Word: I had some section headings in bold, some in bold + underline, different font sizes in different places. Looked unprofessional. In LaTeX, I defined heading style once, applied it everywhere—instant consistency.
4. Version Control Friendly
LaTeX files are plain text. I keep my CV in a Git repository. Every change is tracked. I can create different versions for different applications (software development focus vs. ML focus) and merge improvements across branches.
Practical benefit: When I apply to both mobile development and ML positions, I have two CV versions highlighting relevant skills. Both share core content, but emphasize different projects.
5. No More “It Looks Different on Your Computer”
Export a Word document as PDF? Sometimes formatting breaks. Email it to someone? Might look different on their system. LaTeX always produces identical output—the PDF looks exactly the same everywhere.
Interview story: A friend’s Word CV looked perfect on his laptop. The recruiter’s computer showed broken formatting. He didn’t get the interview. LaTeX PDFs don’t have this problem.
My CV Structure in LaTeX (What Actually Works)
Here’s how I organized my CV. This structure works for Computer Engineering students and technical roles:
1. Header (Contact Information)
\documentclass[11pt,a4paper]{moderncv}
\moderncvstyle{banking} % Clean, professional style
\moderncvcolor{blue} % Subtle color for headers
\name{Sohan}{Dhungel}
\title{Computer Engineering Student}
\address{}{}
\phone{XXXXXXXXX}
\email{sohan@example.com}
\social[linkedin]{sohandhungel}
\social[github]{sohandhungel}
\begin{document}
\makecvtitle
What I learned:
- Keep it simple—name, contact, LinkedIn, GitHub
- GitHub is non-negotiable for technical CVs
- No full address needed (city and country enough)
- Professional email only (no party420@whatever.com)
2. Education Section
\section{Education}
\cventry{2021--2025}{Bachelor of Science in Computer Engineering}
{Your College}{Location}{}
{
\begin{itemize}
\item Relevant Coursework: Machine Learning, Data Structures, Algorithms, Database Management
\item Minor Project: Gold Price Prediction using ML (Team of 4)
\end{itemize}
}
Why this works:
- Education first for students (experience first for professionals)
- Relevant coursework shows theoretical foundation
- Major projects mentioned here connect to Projects section later
3. Technical Skills
\section{Technical Skills}
\cvitem{Programming}{Python, Java, Dart, C++, SQL}
\cvitem{Mobile Development}{Flutter, Android SDK}
\cvitem{ML/AI Frameworks}{TensorFlow, Keras, Scikit-learn, Pandas, NumPy}
\cvitem{Web Technologies}{HTML, CSS, JavaScript, Flask}
\cvitem{Tools}{Git, VS Code, Jupyter Notebooks, LaTeX}
\cvitem{Databases}{MySQL, PostgreSQL, MongoDB}
Organization matters:
- Group by category (not random list)
- Most relevant skills first
- Only technologies you can actually explain
- Honesty over comprehensiveness
My rule: If I can’t answer interview questions about it, it doesn’t go on the CV.
4. Projects Section (Most Important for Students)
\section{Projects}
\cventry{2024}{Gold Price Prediction Using Machine Learning}{}{}{}
{
\begin{itemize}
\item Built time-series forecasting model predicting gold prices with 85\% directional accuracy
\item Implemented multiple ML models: Linear Regression, Random Forest, LSTM networks using TensorFlow
\item Achieved 15\% accuracy improvement switching to deep learning approaches
\item Preprocessed 5 years of historical data using Pandas and NumPy
\item Collaborated in team of 4, using Git for version control
\item \textbf{Tech Stack:} Python, TensorFlow, Scikit-learn, Pandas, Matplotlib
\end{itemize}
}
\cventry{2024}{Flutter Calculator App}{}{}{}
{
\begin{itemize}
\item Developed cross-platform calculator with clean UI and responsive design
\item Implemented basic and scientific operations using Dart
\item Applied state management best practices
\item \textbf{Tech Stack:} Flutter, Dart
\end{itemize}
}
What makes this effective:
- Quantifiable results (85% accuracy, 15% improvement)
- Specific technologies used
- Shows both individual and team work
- Highlights problem-solving, not just “built an app”
Common mistake I fixed: My first version said “Gold Price Prediction – Used Python and ML.” Useless. The detailed version shows actual capability.
5. Experience (If You Have It)
For internships or part-time work:
\section{Experience}
\cventry{Summer 2023}{Software Development Intern}{TechCompany}{Location}{}
{
\begin{itemize}
\item Developed web-based dashboard processing 10K+ daily user interactions
\item Optimized database queries reducing load time by 40\%
\item Collaborated with 3-person team using Agile methodology
\end{itemize}
}
Even non-technical work can be positioned well if you emphasize relevant skills (teamwork, problem-solving, data handling).
LaTeX CV Templates That Actually Work
I’ve tested multiple templates. Here are the ones that are actually good:
1. ModernCV (What I Use)
Why I chose it:
- Clean, professional look
- Multiple style options (classic, casual, banking)
- Well-documented
- Works reliably
Installation:
\documentclass[11pt,a4paper]{moderncv}
\moderncvstyle{banking} % My preferred style
\moderncvcolor{blue} % Subtle accent color
Styles available:
classic– Traditional academic lookcasual– More relaxed, modernbanking– Clean and professional (my choice)oldstyle– Very traditionalfancy– Decorative (avoid for technical roles)
My recommendation: Start with banking style. It’s clean without being boring.
Download: Available on Overleaf ModernCV templates
2. Awesome-CV
When to use it:
- More visual, modern design
- Good for creative/design roles
- Industry applications (less academic)
Why I didn’t use it: Too stylized for engineering positions. But if you’re applying to startups or design-forward companies, it’s great.
3. Classic Academic CV
When to use it:
- PhD applications
- Academic positions
- Research-heavy roles
- Traditional institutions
Structure:
- Publications section
- Research experience emphasized
- Teaching experience
- Conferences and presentations
Not for me since I’m targeting industry, but valuable for academic paths.
Building Your CV in LaTeX (Step-by-Step)
Here’s exactly how I built mine:
Step 1: Choose Template
Go to Overleaf CV templates, browse options, pick one that matches your field.
My choice: ModernCV with banking style. Clean, professional, not too fancy.
Step 2: Set Up Overleaf Project
- Click template
- “Open as Template”
- Rename project to “CV-[YourName]”
- Start editing
Why Overleaf: No installation needed, compiles automatically, can access from anywhere.
Step 3: Update Personal Information
Replace template’s placeholder data:
- Name
- Contact information
- LinkedIn and GitHub links
- Location
Double-check everything. Typo in your email = recruiters can’t contact you.
Step 4: Add Education
Start with most recent. Include:
- Degree and major
- Institution
- Years
- Relevant coursework (4-6 courses)
- Major projects
Step 5: List Technical Skills
Organize by category. Only include skills you can discuss in interviews.
Test: Can you explain this technology in detail? If no, remove it.
Step 6: Detail Your Projects
This is crucial for students. Each project needs:
- Clear description
- Technologies used
- Quantifiable results if possible
- Your specific contribution (especially for team projects)
Template for each project:
- [Action verb] [what you built] [achieving/with] [result] - [Technical implementation details] - [Technologies used]
Step 7: Add Experience (If Applicable)
Internships, part-time work, freelance—anything relevant. Focus on achievements, not just responsibilities.
Bad: “Responsible for debugging code”
Good: “Identified and fixed 20+ bugs, improving app stability by 30%”
Step 8: Optional Sections
Add if relevant:
- Certifications (Coursera, edX, etc.)
- Awards or achievements
- Publications (for research)
- Languages spoken
- Volunteer work (if impressive)
Step 9: Export to PDF
Click “Download PDF” in Overleaf. Name it clearly: FirstName_LastName_CV.pdf
Never: resume.pdf, final.pdf, CV_final_v2_FINAL.pdf
Common Problems I Solved
Problem 1: Package Not Found
Error: ! LaTeX Error: File 'moderncv.cls' not found
Solution: Overleaf has most packages. For local installation:
# Ubuntu/Debian sudo apt-get install texlive-latex-extra # Or use MiKTeX (Windows) which auto-installs packages
Problem 2: Icons Not Showing
Error: Social media icons (LinkedIn, GitHub) not displaying
Solution: Make sure fontawesome package is loaded:
\usepackage{fontawesome}
Problem 3: Compilation Fails
Error: Generic compilation error
Solution checklist:
- Check for unclosed braces
{} - Look for missing
\end{document} - Check for special characters in text (%, $, &) – escape them:
\%,\$,\& - Review error log in Overleaf (red exclamation icon)
Problem 4: Content Too Long
Symptom: CV exceeds one page
Solutions:
- Remove less relevant projects
- Condense descriptions (every bullet point valuable?)
- Reduce margins slightly:
\usepackage[margin=0.75in]{geometry} - Use more compact template style
My rule: One page for students/entry-level. Two pages only if 5+ years experience.
Problem 5: Dates Don’t Align
Cause: Inconsistent date formatting
Solution: Use consistent format everywhere:
\cventry{2023--2024}{...} % Not "2023-Present" and "2023--2024"
ModernCV handles alignment automatically if you’re consistent.
Before and After: Real Difference
Let me show you the actual impact:
Before (Word CV)
- Generic template everyone uses
- Inconsistent spacing
- Bullet points misaligned
- Dates scattered randomly
- Skills listed without organization
- Projects vaguely described
- Looked like every other student CV
After (LaTeX CV)
- Professional, unique appearance
- Perfect spacing throughout
- All elements perfectly aligned
- Dates consistently positioned
- Skills clearly categorized
- Projects detailed with metrics
- Stood out from pile of generic CVs
Interview callback rate:
- Word CV: 2 responses from 15 applications
- LaTeX CV: 7 responses from 15 applications (same positions, updated applications)
Recruiter feedback: “Your CV is one of the few that actually looks professional.”
Tips for Technical CVs Specifically
1. GitHub Is Mandatory
Link your GitHub prominently. Make sure repositories are:
- Well-organized
- Have proper README files
- Show your best work
- Demonstrate coding ability
My GitHub shows Gold Price Prediction code, Flutter projects, and college work.
2. Quantify Everything
Bad: “Built machine learning model”
Good: “Built ML model achieving 85% accuracy on 5 years of data”
Numbers make achievements concrete and believable.
3. Show Tech Stack
Every project should end with technologies used:
\textbf{Tech Stack:} Python, TensorFlow, Scikit-learn, Pandas
Helps with keyword matching and shows breadth of skills.
4. Projects Over GPA
For technical roles, what you’ve built matters more than grades. Dedicate space to project descriptions, not just listing coursework.
Exception: GPA above 3.5? Include it. Below? Skip it.
5. Keep It Current
Update your CV every time you:
- Complete a new project
- Learn a new technology (and use it substantially)
- Get certification
- Change contact information
Don’t wait until you’re desperately job-hunting to update everything.
Customizing for Different Applications
I maintain different CV versions:
Software Engineering Focus
- Emphasize: Flutter apps, web development, algorithms
- Projects: Calculator app, weather app, full-stack work
- Skills: Programming languages first
Machine Learning Focus
- Emphasize: Gold Price Prediction, data analysis
- Projects: ML model development, data preprocessing
- Skills: ML frameworks first
General Technical
- Balanced: Show breadth across different areas
- Projects: Mix of mobile, ML, web
- Skills: Comprehensive technical stack
How to manage: Keep one master LaTeX file, comment out or rearrange sections based on application:
% For ML applications, emphasize this
\cventry{...}{Gold Price Prediction}...
% For mobile dev applications, emphasize this
% \cventry{...}{Flutter Calculator App}...
Additional Resources
LaTeX Learning:
- LaTeX basics – Start here if new
- Writing your first LaTeX document – Step-by-step guide
- Common LaTeX errors – Debugging help
CV Writing:
- Machine Learning Engineer resume guide – Detailed ML CV advice
Project Building:
- Flutter development – Build mobile projects
- Web scraping for data collection – Gather data for ML projects
- AI fundamentals – Understanding ML concepts
Final Thoughts
Switching to LaTeX for my CV was one of the best decisions for my job applications. Not because LaTeX is magic, but because it forced me to think carefully about structure, content, and presentation.
The time invested learning LaTeX basics paid off immediately—not just for my CV, but for college reports, presentations, and documentation. Once you have a working template, maintaining your CV is actually easier than Word.
My honest advice:
If you’re a Computer Engineering student, data science aspirant, or anyone in technical fields—use LaTeX. The professional appearance genuinely makes a difference when recruiters are scanning dozens of identical Word templates.
If you’re applying to non-technical roles where design matters more than precision, maybe stick with Canva or similar tools. LaTeX is powerful but has a learning curve.
For technical CVs specifically? LaTeX is worth every minute of setup time.
Action steps:
- Go to Overleaf
- Pick a CV template
- Spend 2 hours building your CV properly
- Export to PDF
- Start applying
The difference in response rate speaks for itself.
Common Questions About LaTeX CVs
Q: Do I need to know LaTeX to make a CV?
Basic knowledge helps, but templates make it beginner-friendly. If you can copy-paste and edit text, you can use LaTeX CV templates. Check out LaTeX fundamentals for a quick start.
Q: Which compiler should I use?
PDFLaTeX works for most templates. XeLaTeX if your template uses custom fonts. Overleaf handles this automatically.
Q: Can I add a photo?
Yes, ModernCV supports photos:
\photo[64pt]{profile.jpg}
Common in European CVs, less common in US. Research norms for your target region.
Q: How do I handle multiple pages?
LaTeX handles page breaks automatically. But aim for one page unless you have extensive experience.
Q: Is LaTeX overkill for a CV?
For technical roles? No. The professional appearance and perfect formatting are worth it. For non-technical roles? Maybe. Consider your audience.
Q: Can recruiters read LaTeX PDFs?
Yes, you export to PDF. Recruiters see a PDF like any other, but with better typography and formatting.
Q: What about ATS (Applicant Tracking Systems)?
LaTeX produces clean, ATS-friendly PDFs if you avoid complex tables and graphics. Use standard section headings and simple formatting.
Q: How often should I update my CV?
After every significant project, skill acquisition, or experience. Don’t let it get outdated.
For more guides on LaTeX, programming, and technical skills, visit Deadloq. Learn AI development, Flutter apps, and more.
