The ATS Problem: Why Your Resume Might Be Getting Rejected by a Robot

You spend 2 hours crafting the perfect resume for a job you’re qualified for.

You submit it.

3 days later: Rejection email. “We’ve decided to move forward with other candidates.”

What actually happened?

Your resume never reached a human. It was rejected by an ATS (Applicant Tracking System) - a computer algorithm that screens resumes automatically.

The stats are sobering:

  • 75% of resumes are rejected by ATS before a human sees them
  • Average job posting gets 250+ applications
  • ATS screens for keywords, not quality
  • A perfectly good resume can fail ATS and never be seen

The good news? Understanding ATS is a skill. Once you know the rules, you can win.

This guide shows you exactly how.


What is an ATS? How Does It Work?

The ATS Screening Process

Step 1: Resume Upload

  • You submit resume (PDF, Word, or paste text)
  • ATS parses/extracts text
  • Converts to standardized format

Step 2: Keyword Matching

  • ATS reads job description
  • Identifies key keywords (skills, certifications, experience)
  • Scans your resume for those keywords
  • Assigns match score (0-100%)

Step 3: Ranking

  • Scores all applicants (1-250+)
  • Ranks by match score
  • Typically top 20-40 resumes sent to humans
  • Rest: Auto-rejected

Step 4: Human Review

  • Recruiter gets 15-20 highest-ranked resumes
  • Reads in order
  • If interview → move forward
  • If no → stop
ATSUsed ByKeyword MatchingAccuracy
WorkableMost startups, SMEs85-90%High
GreenhouseGrowth companies90-95%Very High
iCIMSLarge enterprises94-98%Excellent
LinkedIn RecruiterLarge companies88-92%High
HireTech companies85-90%High
Bamboo HRMid-market80-85%Moderate

Reality: Most Malaysian companies use Workable, Greenhouse, or LinkedIn. Know these 3.


Resume Formatting: What ATS Loves (and Hates)

Formatting ATS Loves

Use:

  • Standard fonts (Arial, Calibri, Times New Roman)
  • .doc, .docx, or .pdf (PDFs usually safer)
  • Standard section headers (Experience, Skills, Education)
  • Bullet points (standard format)
  • Clear structure (left-aligned, no tables)
  • Consistent formatting (same font size throughout)

Example (Good):

JOHN DOE
Kuala Lumpur, Malaysia | +60-12-345-6789 | [email protected] | LinkedIn

PROFESSIONAL SUMMARY
Senior Software Engineer with 5+ years experience in Python, AWS, and microservices.
Led team of 8 engineers, delivered 15+ products, 40% improvement in system performance.

EXPERIENCE
Senior Software Engineer | MoneyFlow, Kuala Lumpur | Jan 2022 - Present
- Led microservices migration (Python, AWS) - 40% performance improvement
- Managed team of 8 engineers, conducted code reviews
- Reduced deployment time from 4 hours to 15 minutes (CI/CD optimization)
- Mentored 3 junior engineers, 2 promoted to mid-level

Software Engineer | CloudTech, Kuala Lumpur | Jun 2019 - Dec 2021
- Built backend API (Python, FastAPI, PostgreSQL)
- Implemented caching layer (Redis) - 50% query improvement
- Migrated from monolith to microservices architecture
- AWS (EC2, RDS, Lambda, S3), Docker, Kubernetes

SKILLS
Languages: Python, JavaScript, SQL, Bash
Frameworks: FastAPI, Django, Flask, Express
Cloud: AWS (EC2, RDS, Lambda, S3), Docker, Kubernetes
Databases: PostgreSQL, Redis, MongoDB
Other: Git, Linux, CI/CD, Agile, Scrum

EDUCATION
Bachelor of Science in Computer Science | University of Malaya, 2019

Formatting ATS Hates

Avoid:

  • Tables (ATS can’t parse them)
  • Text boxes (ATS can’t read them)
  • Graphics/images (ATS can’t analyze)
  • Columns (ATS reads left-to-right only)
  • Unusual fonts (ATS has trouble parsing)
  • PDF with images (ATS extracts text, misses visual elements)
  • Header/footer info (ATS misses it)
  • Decorative elements (asterisks, lines, emoji)

Example (Bad - DON’T DO THIS):

+===============================================+
|         JOHN DOE - SENIOR ENGINEER            |
|  * Python * AWS * Kubernetes * Docker         |
+===============================================+

[Beautiful header with company logos and graphics...]

| EXPERIENCE                    | SKILLS         |
|-------------------------------|----------------|
| MoneyFlow (2022-Present)      | Python, AWS    |
| CloudTech (2019-2021)         | Kubernetes     |

ATS sees: Blank or garbled resume


The Top 100 ATS Keywords by Industry

Tech/Software Engineering (Most Important)

Programming Languages (Weight: 20%)

  • Python
  • JavaScript / TypeScript
  • Java
  • C++
  • Go
  • Rust
  • SQL
  • Bash / Shell scripting

Web Frameworks (Weight: 15%)

  • React
  • Angular
  • Vue.js
  • Django
  • FastAPI
  • Flask
  • Spring Boot
  • Node.js / Express

Cloud/DevOps (Weight: 15%)

  • AWS (EC2, RDS, Lambda, S3, CloudFormation)
  • Google Cloud Platform
  • Azure
  • Kubernetes
  • Docker
  • CI/CD (Jenkins, GitLab CI, GitHub Actions)
  • Terraform
  • Linux

Databases (Weight: 10%)

  • PostgreSQL
  • MySQL
  • MongoDB
  • Redis
  • DynamoDB
  • Elasticsearch

Soft Skills (Weight: 10%)

  • Leadership
  • Communication
  • Team management
  • Problem-solving
  • Mentorship

Finance/Accounting (Different Keywords)

Technical Skills:

  • Excel (VBA macros)
  • SQL (data analysis)
  • Python (automation)
  • Tableau (visualization)
  • Power BI

Accounting Skills:

  • GAAP (Generally Accepted Accounting Principles)
  • Financial modeling
  • Auditing
  • Tax preparation
  • Accounts payable/receivable
  • SAP (ERP system)
  • QuickBooks

Soft Skills:

  • Attention to detail
  • Regulatory compliance
  • Risk management
  • Financial analysis
  • Stakeholder communication

Sales/Business Development

Technical:

  • Salesforce
  • HubSpot
  • LinkedIn Sales Navigator
  • CRM
  • SQL (querying databases)
  • Excel (advanced)

Sales Skills:

  • Lead generation
  • Sales forecasting
  • Account management
  • Contract negotiation
  • Pipeline management
  • Territory management
  • Key Account Management (KAM)
  • Closing deals

Soft Skills:

  • Relationship building
  • Communication
  • Resilience
  • Target achievement
  • Customer focus

How to Find Keywords for Your Target Role

Method 1: Job Description Keyword Extraction

Step 1: Find 3-5 job postings for your target role

  • LinkedIn
  • JobsDB
  • Company websites
  • Indeed

Step 2: Read carefully. Highlight ALL unique keywords

  • Technical skills
  • Tools/software
  • Frameworks
  • Methodologies
  • Certifications

Step 3: Count frequency

  • If appears in 3/5 job postings = essential keyword
  • If appears in 2/5 = important keyword
  • If appears in 1/5 = nice-to-have

Step 4: Add to resume

  • Essential keywords = must include
  • Important keywords = include if applicable
  • Nice-to-have = only if you have them

Example:

You’re applying for “Senior Backend Engineer”

Job 1 (MoneyFlow): Python, AWS, Kubernetes, PostgreSQL, Leadership
Job 2 (CloudTech): Python, Docker, AWS, REST API, System Design
Job 3 (Fintech): Python, Microservices, AWS, PostgreSQL, Team Lead
Job 4 (Tech): Python, Go, Cloud Architecture, Distributed Systems
Job 5 (Startup): Python, FastAPI, AWS, Docker, Problem-solving

ESSENTIAL KEYWORDS (appear 3+ times):
- Python (5/5)
- AWS (4/5)
- PostgreSQL or SQL (3/5)
- Kubernetes or Docker (3/5)

IMPORTANT KEYWORDS (appear 2 times):
- Leadership/Team Lead (2/5)
- Microservices (2/5)
- REST API (2/5)

Now add these to your resume.

Method 2: Online Tools

Resume Parser Tools:

  • Jobscan.co (RM 8-15/month) - Upload job description + resume, see keyword matches
  • Resume.io (RM 500/month) - Resume building with ATS optimization
  • RoleCatcher (Free) - Keyword analysis
  • MyPerfectResume (Free) - ATS checker

How to use:

  1. Copy job description
  2. Upload resume
  3. Tool shows which keywords you’re missing
  4. Add missing keywords to resume

Common ATS Mistakes That Hurt Your Score

Mistake 1: No Skills Section

Problem: ATS can’t find key skills if not in dedicated section

What ATS sees:

  • Skips resume body (assumes embedded in descriptions)
  • Looks for standalone “Skills” section
  • If absent: 30% lower score

Fix:

SKILLS
Languages: Python, JavaScript, Go
Frameworks: Django, FastAPI, React
Cloud: AWS (EC2, RDS, Lambda), GCP
Tools: Docker, Kubernetes, PostgreSQL, Redis

Mistake 2: Resume Too Long or Too Short

Problem:

  • Too long (3+ pages) = ATS might cut off
  • Too short (half page) = missing keywords

Sweet spot: 1.5-2 pages (if senior)

What to include:

  • Professional summary (3-4 lines)
  • 3-5 most recent positions
  • Skills section
  • Education
  • Optional: Certifications, awards

Mistake 3: Hiding Keywords in Descriptions

Problem: You have skills but bury them in dense paragraphs

ATS doesn’t see:

“I worked on systems using modern cloud technologies and databases”

ATS does see:

“AWS, Kubernetes, PostgreSQL”

Fix: Use both

Led microservices migration to AWS using Kubernetes and PostgreSQL:
- Designed architecture for 100+ microservices on AWS
- Implemented CI/CD with GitHub Actions + Kubernetes
- Managed PostgreSQL database scaling

Mistake 4: Wrong Job Title Format

Problem: Your job title doesn’t match ATS expectations

Example:

  • You write: “Technical Lead”
  • ATS expects: “Senior Software Engineer”
  • Result: No match

Fix: Use standard titles

  • Don’t: “Chief Ninja Developer”
  • Do: “Senior Software Engineer”

Mistake 5: No Quantifiable Results

Problem: Descriptions are vague

“Improved system performance”

ATS misses context, but humans need numbers

“Improved system performance by 40% (reduced response time from 4s to 2.4s)”

Fix: Always quantify

  • 40% improvement
  • Managed team of 8
  • Delivered 15+ products
  • RM 2M cost savings

Resume Section by Section: ATS Optimization

Header Section

Format:

JOHN DOE
+60-12-345-6789 | [email protected] | linkedin.com/in/johndoe | KL, Malaysia

What ATS sees:

  • Name
  • Contact info
  • Location

What to avoid:

  • Logos or graphics
  • Website URLs (confuses ATS) - just LinkedIn
  • Photo
  • Title in header (put in summary instead)

Professional Summary

What ATS does with it:

  • Scans for keywords (matches against job description)
  • Uses to context-set the resume
  • Weights it less than Skills/Experience sections

Good summary:

Senior Software Engineer with 5+ years building scalable backend systems.
Expert in Python, AWS, Kubernetes, and microservices architecture.
Led team of 8 engineers, improved system performance 40%, mentored 3 juniors to mid-level.

Why it works:

  • Keywords: Python, AWS, Kubernetes, microservices, leadership
  • Numbers: 5+ years, team of 8, 40%, 3 juniors
  • Action: “Led”, “built”, “improved”

Experience Section

Format each job:

[TITLE] | [COMPANY], [LOCATION] | [DATES]
- Bullet 1 with keywords + numbers
- Bullet 2 with keywords + numbers
- Bullet 3 with keywords + numbers

Example:

Senior Software Engineer | MoneyFlow, Kuala Lumpur | Jan 2022 - Present
- Led microservices migration using Python, FastAPI, and AWS (EC2, Lambda, RDS)
- Reduced deployment time from 4 hours to 15 minutes via CI/CD optimization (GitHub Actions)
- Managed team of 8 engineers; conducted code reviews; mentored 2 junior engineers
- Improved system response time by 40% through caching (Redis) and database optimization

Why it works:

  • Keywords: Python, FastAPI, AWS, CI/CD, GitHub Actions, Redis
  • Numbers: 8 engineers, 40%, 2 mentored
  • Action verbs: Led, reduced, managed, improved

Skills Section

Format:

SKILLS

Languages: Python, JavaScript, Go, SQL, Bash
Frameworks: Django, FastAPI, Flask, Express.js
Cloud: AWS (EC2, RDS, Lambda, S3), GCP, Azure
Databases: PostgreSQL, MySQL, Redis, MongoDB
Tools: Docker, Kubernetes, Git, Linux, GitHub
Other: Agile, Scrum, REST APIs, Microservices, System Design

Why this works:

  • Organized by category (ATS loves structure)
  • Keywords searchable (not in sentences)
  • Readable by both ATS and humans

Education Section

Format:

EDUCATION

Bachelor of Science in Computer Science | University of Malaya, Kuala Lumpur | 2019

Include:

  • Degree
  • University
  • Graduation year

Optional:

  • GPA (only if 3.7+)
  • Relevant coursework (if recent grad)
  • Awards/honors

Industry-Specific Keywords to Include

Tech: Backend Engineer

Must-have keywords:

  • Python OR Java OR Go
  • SQL OR Databases (PostgreSQL, MySQL)
  • AWS OR GCP OR Azure
  • Microservices OR REST APIs
  • System design OR Architecture
  • Docker or Kubernetes
  • CI/CD (Jenkins, GitHub Actions)

Nice-to-have:

  • Linux
  • Agile/Scrum
  • Leadership/Team management

Example job search: “Backend engineer Python AWS”


Tech: Product Manager

Must-have keywords:

  • Product strategy
  • Roadmap management
  • User research OR A/B testing
  • Data-driven decision making
  • Analytics (Google Analytics, Mixpanel)
  • Wireframing OR Figma OR Prototyping
  • Agile OR Scrum

Nice-to-have:

  • SQL (analytics)
  • Financial modeling
  • Go-to-market strategy

Finance: Accountant

Must-have keywords:

  • GAAP (Generally Accepted Accounting Principles)
  • Accounts payable/receivable
  • Financial statements
  • Balance sheet analysis
  • SAP OR QuickBooks OR Xero
  • Tax preparation
  • Audit

Nice-to-have:

  • Excel (VBA)
  • SQL
  • Tableau
  • Internal controls

Sales: Account Executive

Must-have keywords:

  • Salesforce
  • CRM
  • Lead generation
  • Sales pipeline
  • Account management
  • Contract negotiation
  • Target achievement

Nice-to-have:

  • HubSpot
  • Territory management
  • Forecasting
  • Customer success

The Before/After: Resume Transformation

BEFORE (Bad for ATS):

JOHN DOE

EXPERIENCE
2022-Present: MoneyFlow
Worked on backend systems and cloud technology. Improved various systems and was responsible for managing a team. Used modern programming languages and tools.

2019-2021: CloudTech
Developed software and did optimization. Worked with databases and helped junior engineers improve their skills.

EDUCATION
Computer Science, University of Malaya, 2019

HOBBIES
Hiking, coding, video games

ATS Score: 35/100

  • Missing: Skills section, keywords, metrics, action verbs
  • Keywords found: “backend”, “cloud”
  • Missing: Python, AWS, Kubernetes, PostgreSQL, leadership

AFTER (Good for ATS):

JOHN DOE
+60-12-345-6789 | [email protected] | linkedin.com/in/johndoe | KL, Malaysia

PROFESSIONAL SUMMARY
Senior Software Engineer with 5+ years building scalable backend systems using Python, AWS, and Kubernetes.
Led teams up to 8 engineers. Improved system performance 40%. Expert in microservices, REST APIs, and cloud infrastructure.

EXPERIENCE
Senior Software Engineer | MoneyFlow, Kuala Lumpur | Jan 2022 - Present
- Led microservices migration from monolith using Python (FastAPI), AWS (EC2, RDS, Lambda), and Kubernetes
- Reduced deployment time from 4 hours to 15 minutes via CI/CD implementation (GitHub Actions)
- Managed team of 8 engineers; conducted code reviews; mentored 2 junior engineers promoted to mid-level
- Improved API response time by 40% through Redis caching and PostgreSQL optimization
- Architected real-time event system using AWS Lambda + SQS (handles 10K events/sec)

Software Engineer | CloudTech, Kuala Lumpur | Jun 2019 - Dec 2021
- Built RESTful APIs using Django and FastAPI, supporting 100K daily active users
- Implemented database optimization strategies in PostgreSQL; 50% improvement in query performance
- Migrated infrastructure from on-premise to AWS (EC2, RDS, S3); reduced hosting costs by RM 300K/year
- Mentored 3 junior engineers; 2 promoted to mid-level positions within 18 months
- Developed CI/CD pipeline using GitHub Actions and Docker; cut deployment errors by 60%

SKILLS
Languages: Python, JavaScript, SQL, Bash, Go
Frameworks: FastAPI, Django, Flask, Express.js, Node.js
Cloud: AWS (EC2, RDS, Lambda, S3, CloudFormation), GCP, Azure
Databases: PostgreSQL, MySQL, Redis, MongoDB
DevOps: Docker, Kubernetes, Terraform, GitHub Actions, CI/CD
Soft Skills: Team leadership, mentoring, system design, problem-solving

EDUCATION
Bachelor of Science in Computer Science | University of Malaya | 2019

ATS Score: 92/100

  • Found keywords: Python, FastAPI, AWS, Kubernetes, PostgreSQL, REST APIs, CI/CD, leadership, metrics
  • Clear structure (headers, bullets, keywords)
  • Quantified results (40%, RM 300K, 10K events/sec)
  • Action verbs throughout

Tools to Check Your ATS Readiness

Free Tools

  1. Jobscan.co (Free version)

    • Upload resume + job description
    • See ATS match score
    • Get recommendations
  2. Resume.io ATS Check (Free)

    • Check formatting
    • See ATS readiness
    • Get tips
  1. Jobscan.co Premium (RM 8/month)

    • Full keyword matching
    • Detailed recommendations
    • Multiple job descriptions
  2. Resume.io (RM 500/month)

    • Resume builder with ATS
    • AI suggestions
    • Template library

FAQ: ATS & Resume Optimization

Q: Does submitting as PDF vs. Word matter?

A: Usually PDF is safer (formatting preserved). But some ATSs prefer .docx. Best practice: Check job posting. If not specified, use PDF.

Q: How many times should I include a keyword?

A: 3-5 times per resume is good. More than 8 = keyword stuffing (ATS penalizes). Natural inclusion beats forced.

Q: Should I have a cover letter?

A: ATS usually ignores cover letters. Focus on resume only.

Q: How long should my resume be?

A: 1-2 pages if experienced. 1 page if junior. ATS can handle 2 pages fine.

Q: What if I’m changing careers?

A: Emphasize transferable skills. Use keywords from target role. Tailor heavily (customize resume for each job).

Q: Should I include GPA?

A: Only if 3.7+. Anything lower = leave out.

Q: What if I don’t have all the keywords?

A: Include what you have. Hit 70%+ of keywords and you’ll likely pass ATS. Perfect match isn’t required.


Key Takeaways

  1. ATS screens 75% of resumes before human sees them. Understand the rules to win.

  2. Keywords are everything. ATS is keyword-matching algorithm, not quality assessment.

  3. Structure matters. Clear sections, bullet points, standard fonts = ATS-friendly.

  4. Quantify results. Always include numbers (40%, team of 8, RM 300K).

  5. Read job description carefully. Extract keywords, add to resume.

  6. Skills section is critical. Dedicate full section to keywords.

  7. Tailor for each role. Use tools to match job description.

  8. Avoid graphics/tables. ATS can’t parse them.

  9. Length is 1.5-2 pages. Sweet spot for all experience levels.

  10. Keywords + quality matter. Win ATS screening, then impress humans.


Next Steps

This Week

  • Pick 3 target jobs (roles you want)
  • Extract keywords from each job description
  • Identify 10-15 essential keywords you’re missing
  • Update resume with missing keywords

Next Week

  • Use Jobscan.co to check ATS score
  • Target 80%+ ATS match
  • Get feedback (friend, mentor)
  • Final polish

Before Applying

  • Check resume in plain text (paste into email)
  • Make sure keywords visible
  • Confirm formatting looks good
  • Submit to each job (customize keywords per role)


About Weizhen Recruiters

Weizhen Recruiters helps candidates and companies with resume optimization.

For candidates:

  • Resume optimization for ATS
  • Keyword matching services
  • Tailored resume building
  • Interview prep

For companies:

  • ATS setup & configuration
  • Keyword strategy for roles
  • Recruiting process optimization
  • Candidate screening automation

Our results:

  • Candidate ATS pass rate: 85%+ (up from 25%)
  • Interview callback increase: 40%+
  • Time-to-hire reduction: 30%
  • Hiring quality: Same or better

Learn more about resume services

Or book a free resume review with one of our recruiters.