SALESFORCE CERTIFICATION
Heroku Developer Accredited Professional Practice Exam
Exam Number: 3778 | Last updated 14-Apr-26 | 854+ questions across 6 vendor-aligned objectives
The Heroku Developer Accredited Professional exam validates your ability to build, deploy, and manage applications on Heroku — Salesforce’s cloud platform-as-a-service. Unlike the Architect exam which focuses on design, this credential tests hands-on development skills including writing web applications, managing Heroku Postgres databases, configuring add-ons, and deploying through Git-based workflows.
The largest portion of the exam — 25% — focuses on Application Development, covering web apps, Procfile, buildpacks, and Heroku CLI. Roughly 25% of the questions address data services, covering Heroku Postgres, Redis, connection pooling, and migrations. Deployment and Pipelines carries the heaviest weight at 20%, covering Git deployment, pipelines, review apps, and release management. Combined, these sections account for the lion’s share of the exam and reflect the skills employers value most.
Several supporting domains complete the exam outline. A full 15% of the exam targets scaling and performance, which spans dyno types, horizontal scaling, and performance optimization. At 15%, Add-Ons and Integration represents the single largest exam section, which spans add-on marketplace, Heroku Connect, and API integration. Do not overlook these sections — the exam regularly weaves them into multi-concept scenarios.
Every answer links to the source. Each explanation below includes a hyperlink to the exact Salesforce documentation page the question was derived from. PowerKram is the only practice platform with source-verified explanations. Learn about our methodology →
114
practice exam users
90.4%
satisfied users
95.6%
passed the exam
4.3/5
quality rating
Test your Accredited Heroku Developer knowledge
10 of 854+ questions
Question #1 - Triage and resolve Heroku Postgres, Redis, and connection pooling to reduce resolution times, improve customer satisfaction, and balance agent workloads
A developer is deploying their first Node.js application to Heroku and needs to configure the application for the platform.
What must the developer include in their project?
A) A Heroku-specific configuration XML file
B) A Docker container configuration
C) A virtual machine image
D) A Procfile that specifies the process type and startup command (e.g., ‘web: node server.js’), a package.json with dependencies, and the appropriate Node.js version specified in the engines field
Show solution
Correct answers: D – Explanation:
Heroku uses the Procfile to know how to run the application. package.json defines dependencies that Heroku installs during build. The engines field specifies the Node.js version. No containers or VMs are needed — Heroku manages the runtime. Source: Heroku Dev Center: Getting Started
Question #2 - Integrate and monitor add-on marketplace, Heroku Connect, and API integration to keep data flowing reliably between Salesforce and external systems with minimal latency
A developer’s Heroku app needs to store uploaded images persistently. The developer currently saves them to the local filesystem.
Why is this problematic and what should be done?
A) Local filesystem storage works fine on Heroku
B) Heroku’s filesystem is ephemeral — files are lost on dyno restart. The developer should use an external storage service like Amazon S3 with a Heroku add-on, storing image URLs in the database instead of files on disk
C) Files should be stored in the Heroku Postgres database as binary data
D) The developer should increase the dyno’s disk allocation
Show solution
Correct answers: B – Explanation:
Heroku dynos have an ephemeral filesystem that resets on restart, deploy, or daily cycling. Uploaded files must be stored in external persistent storage (S3, Cloudinary). Database binary storage is inefficient for images. Source: Heroku Dev Center: Dynos
Question #3 - Triage and resolve Heroku Postgres, Redis, and connection pooling to reduce resolution times, improve customer satisfaction, and balance agent workloads
A developer wants to add a PostgreSQL database to their Heroku application.
What is the simplest way to provision this?
A) Download PostgreSQL and configure it as an external service
B) Use SQLite as a PostgreSQL replacement
C) Use ‘heroku addons:create heroku-postgresql:essential-0’ (or via the dashboard) which provisions a managed Postgres instance and automatically sets the DATABASE_URL config var
D) Install PostgreSQL on the dyno manually
Show solution
Correct answers: C – Explanation:
Heroku add-ons provision managed services with a single command. Heroku Postgres sets the DATABASE_URL environment variable automatically, which the app reads for connection. No manual installation needed. SQLite is not suitable for production Heroku apps. Source: Heroku Dev Center: Heroku Postgres
Question #4 - Triage and resolve Heroku Postgres, Redis, and connection pooling to reduce resolution times, improve customer satisfaction, and balance agent workloads
A developer needs to run a background job that processes uploaded CSV files. The job should not block the web request that initiated the upload.
What Heroku architecture should the developer implement?
A) Use a cron job that checks for new files every minute
B) Create a second web dyno dedicated to CSV processing
C) Process the CSV synchronously in the web request handler
D) Use a worker dyno with a job queue (e.g., Redis-backed Bull or Kue): the web dyno enqueues the job and returns immediately, while the worker dyno picks up and processes the CSV asynchronously
Show solution
Correct answers: D – Explanation:
Worker dynos process background jobs from a queue, decoupled from web requests. The web dyno enqueues the job and responds quickly. Redis-backed queues provide reliable job delivery. Source: Heroku Dev Center: Background Jobs
Question #5 - Triage and resolve Heroku Postgres, Redis, and connection pooling to reduce resolution times, improve customer satisfaction, and balance agent workloads
A developer’s Heroku application needs different configuration values for development, staging, and production environments.
How should environment-specific configuration be managed?
A) Use a single configuration file with all environments defined
B) Create separate branches with different configuration files
C) Use Heroku config vars (environment variables) set differently per app in each pipeline stage — accessed in code via process.env.VARIABLE_NAME — keeping configuration separate from code
D) Hard-code different values in the application for each environment
Show solution
Correct answers: C – Explanation:
Heroku config vars implement the twelve-factor config principle: environment-specific values stored outside the codebase, set per app in the pipeline. process.env provides access in Node.js. Source: Heroku Dev Center: Config Vars
Question #6 - Integrate and monitor add-on marketplace, Heroku Connect, and API integration to keep data flowing reliably between Salesforce and external systems with minimal latency
A developer wants to set up a CI/CD pipeline for their Heroku application with automatic deployments from GitHub.
What should the developer configure?
A) Manual deployments from the Heroku CLI after each code change
B) Connect the Heroku app to GitHub, enable automatic deploys from the main branch, optionally enable Review Apps for pull requests, and configure Heroku CI for automated testing before deployment
C) Email code changes to the Heroku operations team
D) Copy files via FTP to the Heroku server
Show solution
Correct answers: B – Explanation:
GitHub integration enables automatic deploys on push. Review Apps create temporary environments for PR testing. Heroku CI runs automated tests. This creates a complete CI/CD pipeline. Source: Heroku Dev Center: GitHub Integration
Question #7 - Optimize and cache dyno types, horizontal scaling, and performance optimization to maintain fast response times and high availability even under peak traffic loads
A developer’s application is receiving increased traffic and response times are degrading. The app currently runs on a single Standard-1X dyno.
What scaling options should the developer consider?
A) Scale horizontally by increasing the dyno count (heroku ps:scale web=3) to handle more concurrent requests, and/or scale vertically by upgrading to Performance-M dynos for more memory and CPU per instance
B) Ask users to access the application during off-peak hours only
C) Reduce the number of features to decrease load
D) Rewrite the application to be faster
Show solution
Correct answers: A – Explanation:
Horizontal scaling adds more dynos to handle concurrent requests. Vertical scaling upgrades dyno size for CPU/memory-intensive operations. Both can be combined. The approach depends on whether the bottleneck is concurrency or per-request resources. Source: Heroku Dev Center: Scaling
Question #8 - Integrate and monitor add-on marketplace, Heroku Connect, and API integration to keep data flowing reliably between Salesforce and external systems with minimal latency
A developer needs to schedule a job that runs every night at midnight to clean up expired session data in the database.
What Heroku feature should be used?
A) An external scheduling service that calls a Heroku API endpoint
B) A setTimeout loop in the web dyno
C) Heroku Scheduler add-on configured to run a cleanup script or rake task at midnight daily, or a custom clock process defined in the Procfile for more precise scheduling needs
D) A cron job configured on the dyno’s operating system
Show solution
Correct answers: C – Explanation:
Heroku Scheduler provides simple scheduled task execution. For more precise timing, a clock process (defined in the Procfile) runs continuously and triggers jobs at specified times. OS-level cron is not available on Heroku. Source: Heroku Dev Center: Scheduler
Question #9 - Integrate and monitor add-on marketplace, Heroku Connect, and API integration to keep data flowing reliably between Salesforce and external systems with minimal latency
A developer’s Heroku application needs to connect to a Salesforce org to read and write CRM data.
What is the recommended integration approach?
A) Direct database access to Salesforce’s underlying database
B) Export Salesforce data to CSV and import it into Heroku’s database manually
C) Use Heroku Connect for bidirectional data synchronization between Salesforce objects and Heroku Postgres tables, or use the Salesforce REST API via JSforce library for on-demand data access
D) Build a custom SOAP integration from scratch
Show solution
Correct answers: C – Explanation:
Heroku Connect syncs Salesforce data to Heroku Postgres bidirectionally for local-speed queries. JSforce provides direct API access for real-time operations. Direct database access is not available. Manual CSV exports are stale. Source: Heroku Dev Center: Heroku Connect
Question #10 - Triage and resolve Heroku Postgres, Redis, and connection pooling to reduce resolution times, improve customer satisfaction, and balance agent workloads
A developer is troubleshooting an application crash on Heroku. The app shows ‘H10 – App crashed’ error in the logs.
What diagnostic steps should the developer take?
A) Delete the app and create a new one
B) Contact Heroku support immediately without investigating
C) Check the application logs (heroku logs –tail) for the error stack trace, verify the Procfile is correctly configured, ensure all dependencies are listed in package.json, check for out-of-memory issues (R14), and test the app locally before redeploying
D) Redeploy the application and hope the crash resolves itself
Show solution
Correct answers: C – Explanation:
H10 errors indicate the app process crashed. Logs reveal the stack trace. Common causes include missing dependencies, incorrect Procfile, port binding issues (must use process.env.PORT), or OOM errors. Systematic diagnosis identifies the root cause. Source: Heroku Dev Center: Error Codes
Get 854+ more questions with source-linked explanations
Every answer traces to the exact Salesforce documentation page — so you learn from the source, not just memorize answers.
Exam mode & learn mode · Score by objective · Updated 14-Apr-26
Learn more...
What the Accredited Heroku Developer exam measures
- Craft and refine web apps, Procfile, and buildpacks to deliver intuitive, responsive interfaces that drive user adoption and productivity
- Ship and rollback Git deployment, pipelines, and review apps to ship changes safely through structured release pipelines with rollback capabilities
- Triage and resolve Heroku Postgres, Redis, and connection pooling to reduce resolution times, improve customer satisfaction, and balance agent workloads
- Optimize and cache dyno types, horizontal scaling, and performance optimization to maintain fast response times and high availability even under peak traffic loads
- Integrate and monitor add-on marketplace, Heroku Connect, and API integration to keep data flowing reliably between Salesforce and external systems with minimal latency
How to prepare for this exam
- Review the official exam guide
- Complete the Heroku Developer trail and study the Heroku Dev Center documentation
- Build and deploy a web application on Heroku with Postgres, Redis, and worker dynos
- Deploy a personal project through a Heroku pipeline with staging and production environments
- Focus on Application Development and Data Services — they combine for 50% of the exam
- Use PowerKram’s learn mode for Heroku development questions
- Simulate the exam in PowerKram’s exam mode
Career paths and salary outlook
Heroku developers build cloud-native applications that extend Salesforce:
- Heroku Developer — $100,000–$145,000 per year, building and deploying cloud applications (Glassdoor salary data)
- Cloud Application Developer — $105,000–$150,000 per year, building PaaS-based applications (Indeed salary data)
- Full-Stack Developer — $110,000–$160,000 per year, building end-to-end web applications (Glassdoor salary data)
Official resources
Follow the Heroku Developer Learning Path on Trailhead. The official exam guide covers every objective.
