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
Popular ATS Systems (Malaysia)
| ATS | Used By | Keyword Matching | Accuracy |
|---|---|---|---|
| Workable | Most startups, SMEs | 85-90% | High |
| Greenhouse | Growth companies | 90-95% | Very High |
| iCIMS | Large enterprises | 94-98% | Excellent |
| LinkedIn Recruiter | Large companies | 88-92% | High |
| Hire | Tech companies | 85-90% | High |
| Bamboo HR | Mid-market | 80-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
- 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:
- Copy job description
- Upload resume
- Tool shows which keywords you’re missing
- 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
-
Jobscan.co (Free version)
- Upload resume + job description
- See ATS match score
- Get recommendations
-
Resume.io ATS Check (Free)
- Check formatting
- See ATS readiness
- Get tips
Paid Tools
-
Jobscan.co Premium (RM 8/month)
- Full keyword matching
- Detailed recommendations
- Multiple job descriptions
-
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
-
ATS screens 75% of resumes before human sees them. Understand the rules to win.
-
Keywords are everything. ATS is keyword-matching algorithm, not quality assessment.
-
Structure matters. Clear sections, bullet points, standard fonts = ATS-friendly.
-
Quantify results. Always include numbers (40%, team of 8, RM 300K).
-
Read job description carefully. Extract keywords, add to resume.
-
Skills section is critical. Dedicate full section to keywords.
-
Tailor for each role. Use tools to match job description.
-
Avoid graphics/tables. ATS can’t parse them.
-
Length is 1.5-2 pages. Sweet spot for all experience levels.
-
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)
Related Articles
- AI & Automation in Recruitment: The Complete Playbook
- How to Interview Like a Pro: 50+ Interview Questions By Role
- Tech Recruitment in Malaysia: Hiring Software Engineers, Designers, Product Managers
- Salary Benchmarking for Malaysian Companies: What to Pay Your Team (2025 Data)
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.