# App Developer Certification Road Map

**URL:** <https://community.dynatrace.com/t/app-developer-certification-road-map/49675>\
**Category:** Developer Q&A Forum\
**Tags:** dynatrace-app-toolkit, grail, custom-app, coding-assistance, ad-hoc-functions, app-functions\
**Created:** [January 13, 2025, 9:44am UTC](https://community.dynatrace.com/t/app-developer-certification-road-map/49675 "2025-01-13T09:44:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![MostafaHussein](https://dub1.discourse-cdn.com/dynatrace/user_avatar/community.dynatrace.com/mostafahussein/32/2785_2.png) [@MostafaHussein](https://community.dynatrace.com/u/MostafaHussein)\
**Post date:** [January 13, 2025, 9:44am UTC](https://community.dynatrace.com/t/app-developer-certification-road-map/49675/1 "2025-01-13T09:44:20Z")

</div>

Hi folks!

This is my journey with Dynatrace App Developer certification and I hope this help everyone need to start in this great track.

Before start in app development track you should learn both of (TypeScript and React) as the below important topics:

- Typescript&nbsp; ([TS Playground - An online editor for exploring TypeScript and JavaScript](https://www.typescriptlang.org/play))  
learning typescript before starting in app development is a must to be familiar with all the mentioned examples in [developer.dynatrace.com](http://developer.dynatrace.com), here’s the list of important fields you should know and within the mentioned link you’ll have too much examples that mostly covers all the below fields
  - data types
  - statements (if , switch)
  - loops (for, forEach, map, every, etc..)
  - types & interfaces
  - inheritance & polymorphism
  - debugging & logging

- React ([Learn React | Dynatrace Developer](https://developer.dynatrace.com/develop/react/))  
Note: react is very easy to learn by following roadmap topics to the rest
  - How to import libraries
  - Configure routes and links
  - Create Pages
  - Create Components

**[ROAD MAP] with links**

- The approach of the **Dynatrace App**
  - **AppEngine** & **Technologies** ([About AppEngine | Dynatrace Developer](https://developer.dynatrace.com/plan/about-appengine) )
  - **App Toolkit** & How can it be configured ([https://developer.dynatrace.com/develop/app-toolkit/configuration/](https://developer.dynatrace.com/develop/app-toolkit/configuration/) )
  - What’s the **AppShell** ([AppShell | Dynatrace Developer](https://developer.dynatrace.com/plan/appshell/) )
  - What’s the **JS Runtime** ([JavaScript runtime | Dynatrace Developer](https://developer.dynatrace.com/develop/javascript-runtime/) )
  - **Strato Design** framework (the DT APP front-end)
    - What & why **Strato Design** ([About Strato Design System | Dynatrace Developer](https://developer.dynatrace.com/design/about-strato-design-system/))
    - What are the **design tokens** ([Design token basics | Dynatrace Developer](https://developer.dynatrace.com/design/design-tokens-in-use/) )

- **App Functions** (the DT App back-end)
  - What’re the **App Functions**? how it works, use cases and limitation ([App functions | Dynatrace Developer](https://developer.dynatrace.com/develop/app-functions/) )
  - Create and Consume ([Create and consume app function | Dynatrace Developer](https://developer.dynatrace.com/develop/app-functions/create-consume/) )
  - Handle Errors ([Handle errors in app functions | Dynatrace Developer](https://developer.dynatrace.com/develop/app-functions/handle-errors/) )
  - Simple Example ([Pass input to functions | Dynatrace Developer](https://developer.dynatrace.com/develop/app-functions/pass-input/) )

- **Intents**
  - What are the **Intents** & Use cases ([Intents | Dynatrace Developer](https://developer.dynatrace.com/develop/intents/))
  - How it works
    - Send/Receive **Intents**
      - ([Receive intents | Dynatrace Developer](https://developer.dynatrace.com/develop/intents/receive-intents/))
      - ([Send intents | Dynatrace Developer](https://developer.dynatrace.com/develop/intents/send-intents/))

    - Debug ([Debug intents | Dynatrace Developer](https://developer.dynatrace.com/develop/intents/debug-intents/))

- **Platform Services**
  - Most Important **Platform Services**
    - **State service** ([State service | Dynatrace Developer](https://developer.dynatrace.com/plan/platform-services/state-service/) )  
For **Practice** check this link (**[Store app and user states | Dynatrace Developer](https://developer.dynatrace.com/develop/data/store-app-user-state/) )**
    - **App settings service** ([App settings service | Dynatrace Developer](https://developer.dynatrace.com/plan/platform-services/app-settings-service/) )  
For **Practice** check this link ([Store app settings | Dynatrace Developer](https://developer.dynatrace.com/develop/data/store-app-settings/) )
    - **Document service** ([Document service | Dynatrace Developer](https://developer.dynatrace.com/plan/platform-services/document-service/) )  
For **Practice** check this link  
([Store user-generated data | Dynatrace Developer](https://developer.dynatrace.com/develop/data/store-user-generated-data/) )
    - **Grail service** ([Grail service | Dynatrace Developer](https://developer.dynatrace.com/plan/platform-services/grail-service/) )  
For **Practice** check this link  
([Access Dynatrace data | Dynatrace Developer](https://developer.dynatrace.com/quickstart/tutorial/access-dynatrace-data/#2-query-the-data) )
    - **Automation Service & Workflows**
      - **Important**
        - How can be used within the application
        - What are **Custom actions**
        - **Custom actions** use cases
        - Main components of the **workflow custom action**
        - ([Workflows | Dynatrace Developer](https://developer.dynatrace.com/develop/workflows/))

      - **Practices**
        - **Automate app function runs** ([Automate app function runs | Dynatrace Developer](https://developer.dynatrace.com/develop/workflows/automate-app-function-runs/) )
        - **Create custom action** ([Create a custom workflow action | Dynatrace Developer](https://developer.dynatrace.com/develop/workflows/create-custom-action/) )
        - **Test custom actions** ([Test custom actions | Dynatrace Developer](https://developer.dynatrace.com/develop/workflows/test-custom-actions/) )
        - **Use Intents for Workflows** ([Use intents for Workflows | Dynatrace Developer](https://developer.dynatrace.com/develop/workflows/use-intents/) )

  - For each one of the above **platform**  **services** you should know
    - How it works
    - Use cases
    - Limitations
    - Try it by yourself

- **Security**
  - **Permission scopes** ([Add permission scopes to use Dynatrace APIs | Dynatrace Developer](https://developer.dynatrace.com/develop/security/add-permission-scopes-to-use-dynatrace-apis/) )
  - **CSP rules** ([Configure CSP rules | Dynatrace Developer](https://developer.dynatrace.com/develop/security/configure-csp-rules/))
    - How to configure
    - Use cases

  - **Practice**
    - Query user permissions ([Query user permissions | Dynatrace Developer](https://developer.dynatrace.com/develop/security/query-user-permissions/))

Finally, if anyone has topics that I’ve missed in my suggested roadmap please just mention it in a comment and I’ll add it to this post with mentioning him beside your topic.

Thanks,  
Mostafa Hussein.

---

<div class="post-metadata">

**Author:** ![Tommaso\_Fin](https://avatars.discourse-cdn.com/v4/letter/t/f475e1/32.png) [@Tommaso\_Fin](https://community.dynatrace.com/u/Tommaso_Fin)\
**Post date:** [May 12, 2026, 9:06am UTC](https://community.dynatrace.com/t/app-developer-certification-road-map/49675/2 "2026-05-12T09:06:25Z")

</div>

Hi, I think your list is quite complete, but I followed a different approach.

Just started with the tutorial to create the first app in 5 minutes, then work with an AI assistant to create whatever I needed.

This worked really well for me. I had previous programming experience, but almost no knowledge on Typescript / React, etc… I learned everything on the way and now I am almost autonomous without AI (but I still use it because it’s faster)

I just mention that because someone could be concerned by your long list.

bye

---

<div class="post-metadata">

**Author:** ![MaximilianoML](https://dub1.discourse-cdn.com/dynatrace/user_avatar/community.dynatrace.com/maximilianoml/32/25038_2.png) [@MaximilianoML](https://community.dynatrace.com/u/MaximilianoML)\
**Post date:** [May 12, 2026, 9:27am UTC](https://community.dynatrace.com/t/app-developer-certification-road-map/49675/3 "2026-05-12T09:27:22Z")

</div>

Hello [@MostafaHussein](https://community.dynatrace.com/user/66935)

This is a very solid starting point for anyone preparing for the cert, especially because you connected the concepts with the official docs and practice links.

One topic I would consider adding is Dynatrace SDK usage inside apps, especially:

- How to use SDK clients to interact with platform services and APIs
- The difference between calling platform APIs from the frontend versus App Functions
- When an App Function is required because of permissions, security, or secrets handling

I would also suggest mentioning app configuration and deployment basics, such as:

- app.config.json
- Required scopes and CSP configuration in the app manifest
- Local development versus deployment to the tenant
- Common troubleshooting during build, signing, and upload

These areas often become very important once someone moves from tutorials into building a real production-ready Dynatrace App.

Thanks for putting this together. It will definitely help people approach the certification path in a much more structured way&nbsp;😁

---

<div class="post-metadata">

**Author:** ![MostafaHussein](https://dub1.discourse-cdn.com/dynatrace/user_avatar/community.dynatrace.com/mostafahussein/32/2785_2.png) [@MostafaHussein](https://community.dynatrace.com/u/MostafaHussein)\
**Post date:** [May 12, 2026, 11:56am UTC](https://community.dynatrace.com/t/app-developer-certification-road-map/49675/4 "2026-05-12T11:56:43Z")

</div>

great, but in exam you’ve to be familiar with type script to go through the tasks like peace of cake bro.

---

<div class="post-metadata">

**Author:** ![Tommaso\_Fin](https://avatars.discourse-cdn.com/v4/letter/t/f475e1/32.png) [@Tommaso\_Fin](https://community.dynatrace.com/u/Tommaso_Fin)\
**Post date:** [May 12, 2026, 2:26pm UTC](https://community.dynatrace.com/t/app-developer-certification-road-map/49675/5 "2026-05-12T14:26:18Z")

</div>

I think all certification methodologies should be updated with the new way of work. I my opinion a certification means that a person is able to perform at the highest level of quality and speed, using all available tools and resources. I don’t need a certificated professional which is not able to develop using also AI tools.

---

<div class="post-metadata">

**Author:** ![MaximilianoML](https://dub1.discourse-cdn.com/dynatrace/user_avatar/community.dynatrace.com/maximilianoml/32/25038_2.png) [@MaximilianoML](https://community.dynatrace.com/u/MaximilianoML)\
**Post date:** [May 12, 2026, 2:31pm UTC](https://community.dynatrace.com/t/app-developer-certification-road-map/49675/6 "2026-05-12T14:31:06Z")

</div>

I agree that certifications should evolve with the way we work, and AI is clearly part of that now.

At the same time, I think a certification still needs to prove that the professional understands the fundamentals behind the result. An engineer can use advanced design tools, simulations, and AI assistance, but still needs to know whether a bridge is safe. A doctor can use AI to support diagnosis or review exams, but still needs the clinical knowledge to judge whether that recommendation makes sense for the patient.

For me, the ideal certification would validate both sides: strong core knowledge and the ability to use modern tools, including AI, responsibly and effectively.
