The AWS Certified Developer – Associate (DVA-C01) exam is intended for individuals who perform a developer role. The exam validates a candidate’s ability to do the following:
1. Demonstrate an understanding of core AWS services, uses, and basic AWS architecture best practices.
2. Demonstrate proficiency in developing, deploying, and debugging cloud-based applications by using AWS.
The target candidate should have 1 or more years of hands-on experience developing and maintaining an AWS-based application.
The target candidate should have the following:
1. In-depth knowledge of at least one high-level programming language
2. Understanding of application lifecycle management
3. The ability to write code for serverless applications
4. Understanding of the use of containers in the development process
The target candidate should be able to do the following:
1. Use the AWS service APIs, CLI, and software development kits (SDKs) to write applications
2. Identify key features of AWS services
3. Understand the AWS shared responsibility model
4. Use a continuous integration and continuous delivery (CI/CD) pipeline to deploy applications on AWS
5. Use and interact with AWS services
6. Apply basic understanding of cloud-native applications to write code
7. Write code by using AWS security best practices (for example, use IAM roles instead of secret and access keys in the code)
8. Author, maintain, and debug code modules on AWS
The following is a non-exhaustive list of related job tasks that the target candidate is not expected to be able to perform.
These items are considered out of scope for the exam:
1. Design architectures (for example, distributed system, microservices)
2. Design and implement CI/CD pipelines
3. Administer IAM users and groups
4. Administer Amazon Elastic Container Service (Amazon ECS)
5. Design AWS networking infrastructure (for example, Amazon VPC, AWS Direct Connect)
6. Understand compliance and licensing
For a detailed list of specific tools and technologies that might be covered on the exam, as well as lists of in-scope and out-of-scope AWS services, refer to the Appendix mentioned at bottom.
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
In the exam, select the best response(s) to complete statements or answer questions. Distractors are plausible but incorrect options, while unanswered questions are counted as incorrect. There are no penalties for guessing, and the exam consists of 50 questions that impact your score.
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.
The AWS Certified Developer - Associate (DVA-C01) exam is pass or fail, with a minimum passing score of 720. The exam uses scaled scoring from 100 to 1,000, which helps compare scores across different difficulty levels. The score report includes a table indicating performance at each section level, but passing overall is sufficient as the exam follows a compensatory scoring model.
The exam guide provides weightings, domains, and objectives for the exam, but it's not a comprehensive content listing. Additional context and a table of content domains and weightings are provided for exam preparation.
The percentage in each domain represents only scored content.
Domain 1: Deployment : 22%
Domain 2: Security : 26%
Domain 3: Development with AWS Services : 30%
Domain 4: Refactoring : 10%
Domain 5: Monitoring and Troubleshooting : 12%
TOTAL
100%
1.1 Deploy written code in AWS using existing CI/CD pipelines, processes, and patterns.
1. Commit code to a repository and invoke build, test and/or deployment actions
2. Use labels and branches for version and release management
3. Use AWS CodePipeline to orchestrate workflows against different environments
4. Apply AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, AWS CodeStar, and AWS CodeDeploy for CI/CD purposes
5. Perform a roll back plan based on application deployment policy
1.2 Deploy applications using AWS Elastic Beanstalk.
1. Utilize existing supported environments to define a new application stack
2. Package the application
3. Introduce a new application version into the Elastic Beanstalk environment
4. Utilize a deployment policy to deploy an application version (i.e., all at once, rolling, rolling with batch, immutable)
5. Validate application health using Elastic Beanstalk dashboard
6. Use Amazon CloudWatch Logs to instrument application logging
1.3 Prepare the application deployment package to be deployed to AWS.
1. Manage the dependencies of the code module (like environment variables, config files and static image files) within the package
2. Outline the package/container directory structure and organise files appropriately
3. Translate application resource requirements to AWS infrastructure parameters (e.g., memory, cores)
1.4 Deploy serverless applications.
1. Given a use case, implement and launch an AWS Serverless Application Model (AWS SAM) template
2. Manage environments in individual AWS services (e.g., Differentiate between Development, Test, and Production in Amazon API Gateway)
2.1 Make authenticated calls to AWS services.
1. Communicate required policy based on least privileges required by application.
2. Assume an IAM role to access a service
3. Use the software development kit (SDK) credential provider on-premises or in the cloud to access AWS services (local credentials vs. instance roles)
2.2 Implement encryption using AWS services.
1. Encrypt data at rest (client side; server side; envelope encryption) using AWS services
2. Encrypt data in transit
2.3 Implement application authentication and authorization.
1. Add user sign-up and sign-in functionality for applications with Amazon Cognito identity or user pools
2. Use Amazon Cognito-provided credentials to write code that access AWS services.
3. Use Amazon Cognito sync to synchronize user profiles and data
4. Use developer-authenticated identities to interact between end user devices, backend authentication, and Amazon Cognito
3.1 Write code for serverless applications.
1. Compare and contrast server-based vs. serverless model (e.g., micro services, stateless nature of serverless applications, scaling serverless applications, and decoupling layers of serverless applications)
2. Configure AWS Lambda functions by defining environment variables and parameters (e.g., memory, time out, runtime, handler)
3. Create an API endpoint using Amazon API Gateway
4. Create and test appropriate API actions like GET, POST using the API endpoint
5. Apply Amazon DynamoDB concepts (e.g., tables, items, and attributes)
6. Compute read/write capacity units for Amazon DynamoDB based on application requirements
7. Associate an AWS Lambda function with an AWS event source (e.g., Amazon API Gateway,
8. Amazon CloudWatch event, Amazon S3 events, Amazon Kinesis)
9. Invoke an AWS Lambda function synchronously and asynchronously
3.2 Translate functional requirements into application design.
1. Determine real-time vs. batch processing for a given use case
2. Determine use of synchronous vs. asynchronous for a given use case
3. Determine use of event vs. schedule/poll for a given use case
4. Account for trade offs for consistency models in an application design
3.3 Implement application design into application code.
1. Write code to utilize messaging services (e.g., SQS, SNS)
2. Use Amazon ElastiCache to create a database cache
3. Use Amazon DynamoDB to index objects in Amazon S3
4. Write a stateless AWS Lambda function
5. Write a web application with stateless web servers (Externalize state)
3.4 Write code that interacts with AWS services by using APIs, SDKs, and AWS CLI.
1. Choose the appropriate APIs, software development kits (SDKs), and CLI commands for the code components
2. Write resilient code that deals with failures or exceptions (i.e., retries with exponential back off and jitter)
4.1 Optimize applications to best use AWS services and features.
1. Implement AWS caching services to optimize performance (e.g., Amazon ElastiCache, Amazon API Gateway cache)
2. Apply an Amazon S3 naming scheme for optimal read performance
4.2 Migrate existing application code to run on AWS.
1. Isolate dependencies
2. Run the application as one or more stateless processes
3. Develop in order to enable horizontal scalability
4. Externalize state
5.1 Write code that can be monitored.
1. Create custom Amazon CloudWatch metrics
2. Perform logging in a manner available to systems operators
3. Instrument application source code to enable tracing in AWS X-Ray
5.2 Perform root cause analysis on faults found in testing or production.
1. Interpret the outputs from the logging mechanism in AWS to identify errors in logs
2. Check build and testing history in AWS services (e.g., AWS CodeBuild, AWS CodeDeploy, AWS CodePipeline) to identify issues
3. Utilize AWS services (e.g., Amazon CloudWatch, VPC Flow Logs, and AWS X-Ray) to locate a specific faulty component
Practice Quiz on Monitoring & Observability:
Quiz 1: Amazon EC2 Monitoring & Observability
Quiz 2: Amazon CloudWatch Monitoring & Observability
The following is a non-exhaustive list of the tools and technologies that could appear on the exam. This list
is subject to change and is provided to help you understand the general scope of services, features, or technologies on the exam. The general tools and technologies in this list appear in no particular order. AWS services are grouped according to their primary functions. While some of these technologies will likely be covered more than others on the exam, the order and placement of them in this list is no indication of relative weight or importance:
Analytics
Application Integration
Containers
Cost and Capacity Management
Data Movement
Developer Tools
Instances (virtual machines)
Management and Governance
Networking and Content Delivery
Security
Serverless
Analytics:
Amazon Elasticsearch Service (Amazon ES)
Amazon Kinesis
Application Integration:
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
Containers:
Amazon Elastic Container Registry (Amazon ECR)
Amazon Elastic Container Service (Amazon ECS)
Amazon Elastic Kubernetes Services (Amazon EKS)
Database:
Amazon DynamoDB
Amazon ElastiCache
Amazon RDS
Developer Tools:
AWS CodeArtifact
AWS CodeBuild
AWS CodeCommit
AWS CodeDeploy
Amazon CodeGuru
AWS CodePipeline
AWS CodeStar
AWS Fault Injection Simulator
AWS X-Ray
Management and Governance:
AWS CloudFormation
Amazon CloudWatch
Networking and Content Delivery:
Amazon API Gateway
Amazon CloudFront
Elastic Load Balancing
Security, Identity, and Compliance:
Amazon Cognito
AWS Identity and Access Management (IAM)
AWS Key Management Service (AWS KMS)
Storage:
Amazon S3
The following is a non-exhaustive list of AWS services and features that are not covered on the exam. These services and features do not represent every AWS offering that is excluded from the exam content. Services or features that are entirely unrelated to the target job roles for the exam are excluded from this list because they are assumed to be irrelevant.
Out-of-scope AWS services and features include the following:
AWS Application Discovery Service
Amazon AppStream 2.0
Amazon Chime
Amazon Connect
AWS Database Migration Service (AWS DMS)
AWS Device Farm
Amazon Elastic Transcoder
Amazon GameLift
Amazon Lex
Amazon Machine Learning (Amazon ML)
AWS Managed Services
Amazon Mobile Analytics
Amazon Polly
Amazon QuickSight
Amazon Rekognition
AWS Server Migration Service (AWS SMS)
AWS Service Catalog
AWS Shield Advanced
AWS Shield Standard
AWS Snow Family
AWS Storage Gateway
AWS WAF
Amazon WorkMail
Amazon WorkSpaces