AWS Certified Developer Associate - Exam Guide
AWS Certified Developer Associate - Exam Guide
Introduction
The AWS Certified Developer - Associate (DVA-C02) exam is intended for individuals who perform a
developer role. The exam validates a candidate’s ability to demonstrate proficiency in developing, testing,
deploying, and debugging AWS cloud-based applications.
The exam also validates a candidate’s ability to complete the following tasks:
• Develop and optimize applications on AWS
• Package and deploy by using continuous integration and continuous delivery (CI/CD) workflows
• Secure application code and data
• Identify and resolve application issues
Exam content
Response types
There are two types of questions on the exam:
• Multiple choice: Has one correct response and three incorrect responses (distractors)
• Multiple response: Has two or more correct responses out of five or more response options
Select one or more responses that best complete the statement or answer the question. Distractors, or
incorrect answers, are response options that a candidate with incomplete knowledge or skill might choose.
Distractors are generally plausible responses that match the content area.
Unanswered questions are scored as incorrect; there is no penalty for guessing. The exam includes 50
questions that will affect your score.
Unscored content
The exam includes 15 unscored questions that do not affect your score. AWS collects information about
candidate performance on these unscored questions to evaluate these questions for future use as scored
questions. These unscored questions are not identified on the exam.
Exam results
The AWS Certified Developer - Associate (DVA-C02) exam is a pass or fail exam. The exam is scored against
a minimum standard established by AWS professionals who follow certification industry best practices and
guidelines.
Your results for the exam are reported as a scaled score of 100–1,000. The minimum passing score is 720.
Your score shows how you performed on the exam as a whole and whether you passed. Scaled scoring
models help equate scores across multiple exam forms that might have slightly different difficulty levels.
Your score report could contain a table of classifications of your performance at each section level. This
information is intended to provide general feedback about your exam performance. The exam uses a
compensatory scoring model, which means that you do not need to achieve a passing score in each
section. You need to pass only the overall exam.
Each section of the exam has a specific weighting, so some sections have more questions than other
sections have. The table contains general information that highlights your strengths and weaknesses. Use
caution when interpreting section-level feedback.
Content outline
This exam guide includes weightings, test domains, and task statements for the exam. This guide is not a
comprehensive listing of the content on the exam. However, additional context for each of the task
statements is available to help guide your preparation for the exam. The following table lists the main
content domains and their weightings. The table precedes the complete exam content outline, which
includes the additional context. The percentage in each domain represents only scored content.
TOTAL 100%
Knowledge of:
• Architectural patterns (for example, event-driven, microservices, monolithic, choreography,
orchestration, fanout)
• Idempotency
• Differences between stateful and stateless concepts
• Differences between tightly coupled and loosely coupled components
• Fault-tolerant design patterns (for example, retries with exponential backoff and jitter, dead-
letter queues)
• Differences between synchronous and asynchronous patterns
Skills in:
• Creating fault-tolerant and resilient applications in a programming language (for example,
Java, C#, Python, JavaScript, TypeScript, Go)
• Creating, extending, and maintaining APIs (for example, response/request transformations,
enforcing validation rules, overriding status codes)
• Writing and running unit tests in development environments (for example, using AWS
Serverless Application Model [AWS SAM])
• Writing code to use messaging services
• Writing code that interacts with AWS services by using APIs and AWS SDKs
• Handling data streaming by using AWS services
Knowledge of:
• Event source mapping
• Stateless applications
• Unit testing
• Event-driven architecture
• Scalability
• The access of private resources in VPCs from Lambda code
Knowledge of:
• Relational and non-relational databases
• Create, read, update, and delete (CRUD) operations
• High-cardinality partition keys for balanced partition access
• Cloud storage options (for example, file, object, databases)
• Database consistency models (for example, strongly consistent, eventually consistent)
• Differences between query and scan operations
• Amazon DynamoDB keys and indexing
• Caching strategies (for example, write-through, read-through, lazy loading, TTL)
• Amazon S3 tiers and lifecycle management
• Differences between ephemeral and persistent data storage patterns
Skills in:
• Serializing and deserializing data to provide persistence to a data store
• Using, managing, and maintaining data stores
• Managing data lifecycles
• Using data caching services
Domain 2: Security
Task Statement 1: Implement authentication and/or authorization for applications and AWS services.
Knowledge of:
• Identity federation (for example, Security Assertion Markup Language [SAML], OpenID
Connect [OIDC], Amazon Cognito)
• Bearer tokens (for example, JSON Web Token [JWT], OAuth, AWS Security Token Service [AWS
STS])
• The comparison of user pools and identity pools in Amazon Cognito
• Resource-based policies, service policies, and principal policies
• Role-based access control (RBAC)
• Application authorization that uses ACLs
• The principle of least privilege
• Differences between AWS managed policies and customer-managed policies
• Identity and access management (IAM)
Skills in:
Knowledge of:
• Encryption at rest and in transit
• Certificate management (for example, AWS Certificate Manager Private Certificate Authority)
• Key protection (for example, key rotation)
• Differences between client-side encryption and server-side encryption
• Differences between AWS managed and customer-managed AWS Key Management Service
(AWS KMS) keys
Skills in:
• Using encryption keys to encrypt or decrypt data
• Generating certificates and SSH keys for development purposes
• Using encryption across account boundaries
• Enabling and disabling key rotation
Knowledge of:
• Data classification (for example, personally identifiable information [PII], protected health
information [PHI])
• Environment variables
• Secrets management (for example, AWS Secrets Manager, AWS Systems Manager Parameter
Store)
• Secure credential handling
Skills in:
• Encrypting environment variables that contain sensitive data
• Using secret management services to secure sensitive data
• Sanitizing sensitive data
Domain 3: Deployment
Task Statement 1: Prepare application artifacts to be deployed to AWS.
Knowledge of:
• Ways to access application configuration data (for example, AWS AppConfig, Secrets Manager,
Parameter Store)
• Lambda deployment packaging, layers, and configuration options
• Git-based version control tools (for example, Git, AWS CodeCommit)
• Container images
Knowledge of:
• Features in AWS services that perform application deployment
• Integration testing that uses mock endpoints
• Lambda versions and aliases
Skills in:
• Testing deployed code by using AWS services and tools
• Performing mock integration for APIs and resolving integration dependencies
• Testing applications by using development endpoints (for example, configuring stages in
Amazon API Gateway)
• Deploying application stack updates to existing environments (for example, deploying an AWS
SAM template to a different staging environment)
Knowledge of:
• API Gateway stages
• Branches and actions in the continuous integration and continuous delivery (CI/CD) workflow
• Automated software testing (for example, unit testing, mock testing)
Skills in:
• Creating application test events (for example, JSON payloads for testing Lambda, API
Gateway, AWS SAM resources)
• Deploying API resources to various environments
• Creating application environments that use approved versions for integration testing (for
example, Lambda aliases, container image tags, AWS Amplify branches, AWS Copilot
environments)
• Implementing and deploying infrastructure as code (IaC) templates (for example, AWS SAM
templates, AWS CloudFormation templates)
• Managing environments in individual AWS services (for example, differentiating between
development, test, and production in API Gateway)
Knowledge of:
• Git-based version control tools (for example, Git, AWS CodeCommit)
• Manual and automated approvals in AWS CodePipeline
• Access application configurations from AWS AppConfig and Secrets Manager
• CI/CD workflows that use AWS services
Skills in:
• Updating existing IaC templates (for example, AWS SAM templates, CloudFormation
templates)
• Managing application environments by using AWS services
• Deploying an application version by using deployment strategies
• Committing code to a repository to invoke build, test, and deployment actions
• Using orchestrated workflows to deploy code to different environments
• Performing application rollbacks by using existing deployment strategies
• Using labels and branches for version and release management
• Using existing runtime configurations to create dynamic deployments (for example, using
staging variables from API Gateway in Lambda functions)
Knowledge of:
• Logging and monitoring systems
• Languages for log queries (for example, Amazon CloudWatch Logs Insights)
• Data visualizations
• Code analysis tools
• Common HTTP error codes
• Common exceptions generated by SDKs
• Service maps in AWS X-Ray
Skills in:
• Debugging code to identify defects
• Interpreting application metrics, logs, and traces
• Querying logs to find relevant data
• Implementing custom metrics (for example, CloudWatch embedded metric format [EMF])
• Reviewing application health by using dashboards and insights
• Troubleshooting deployment failures by using service output logs
Knowledge of:
• Distributed tracing
• Differences between logging, monitoring, and observability
• Structured logging
• Application metrics (for example, custom, embedded, built-in)
Knowledge of:
• Caching
• Concurrency
• Messaging services (for example, Amazon Simple Queue Service [Amazon SQS], Amazon
Simple Notification Service [Amazon SNS])
Skills in:
• Profiling application performance
• Determining minimum memory and compute power for an application
• Using subscription filter policies to optimize messaging
• Caching content based on request headers
• Analytics
• Application integration
• Compute
• Containers
• Cost and capacity management
• Database
• Developer tools
• Management and governance
• Networking and content delivery
• Security, identity, and compliance
• Storage
Application Integration:
• AWS AppSync
• Amazon EventBridge (Amazon CloudWatch Events)
• Amazon Simple Notification Service (Amazon SNS)
• Amazon Simple Queue Service (Amazon SQS)
• AWS Step Functions
Compute:
• Amazon EC2
• AWS Elastic Beanstalk
• AWS Lambda
• AWS Serverless Application Model (AWS SAM)
Containers:
• AWS Copilot
• Amazon Elastic Container Registry (Amazon ECR)
• Amazon Elastic Container Service (Amazon ECS)
• Amazon Elastic Kubernetes Services (Amazon EKS)
Developer Tools:
• AWS Amplify
• AWS Cloud9
• AWS CloudShell
• AWS CodeArtifact
• AWS CodeBuild
• AWS CodeCommit
• AWS CodeDeploy
• Amazon CodeGuru
• AWS CodePipeline
• AWS CodeStar
• AWS X-Ray