Expand my Community achievements bar.

SOLVED

Skills needed to become an AEM developer

Avatar

Level 1

I'm taking a break from college and am interested in learning to become a Java developer in hopes of becoming an AEM developer. I have a little bit of frontend development knowledge with HTML and CSS and am trying to create a roadmap of courses to learn, but I'm pretty much a beginner right now. Where can I find a list of skills I need to learn in order to become successful as an AEM developer? I found what appeared to be a helpful article, but noticed it was written in 2014. It mentions learning the following:

 

  • Servlet and JSP development
  • CSS, JavaScript, HTML
  • AJAX, jQuery, EXTJS
  • OSGi/FELIX
  • Web services creation and consumption
  • CMS development experience
  • Java Content Repository (JCR)/CRX
  • Eclipse IDE
  • Maven
  • SVN
  • Jenkins
  • Artifactory
  • Apache Sling
  • Lucene
  • Tomcat/JBoss
  • Apache Web Server

Where should I start? How can I create an entire curriculum for myself, so that I can start learning online? Thank you.

 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@kayaka,

If you wish to be an exceptional AEM developer, then full-stack web development might be your best option. However your posts indicate that you wish to focus on the JAVA backend implementation, so here are a list of things below that I would suggest you go through:

A. Core Backend Skills

  1. Java 13
  2. Junit 5
  3. Maven

B. AEM Backend Skills

  1. Day 00: AEM Developer Series
  2. Day 01: Introduction to AEM
  3. Day 02: AEM Architecture
  4. Day 03: Setting up AEM Development Environment
  5. Day 04: Developing First OSGi Bundle
  6. Day 05: Working with Sling Servlets in AEM
  7. Day 06: Playing with Sling Post Servlet
  8. Day 07: Creating your first component in AEM
  9. Day 08: Dueling with JavaScript Use API
  10. Day 09: Dueling with Java User API
  11. Day 10: Getting to know Sling Models
  12. Day 11: Client Libraries in Action
  13. Day 12: Creating your custom OSGi Configuration
  14. Day 13: Schedulers in AEM
  15. Day 14: Eventing in AEM
  16. Day 15: Custom Workflows in AEM
  17. Day 16: Creating JMX Beans in AEM
  18. Day 17: Working with QueryBuilder API
  19. Day 18: Working with Granite Datasources in AEM
  20. Day 19: Replication API in Action
  21. Day 20: Working with Users and Groups in AEM
  22. wcm.io AEM Mocking Test Library https://wcm.io/testing/aem-mock

C. Apache Web Server

  1. AEM Dispatcher Module
  2. Virtual Server
  3. Rewrite Rules
  4. Regex Master

 

Also, I recommend that you spend some time on some front-end, only because you'll be more efficient and more helpul if you know how to identify problems in the front-end as well.

 

D. (more front-end roles) AEM Platform, Users, Components, Templates

  1. Learn how to create an AEM component using Sling Models
  2. Touch UI (Granite UI Library)
  3. Client Libraries (CSS & JS)
  4. Editable Templates, Content Fragments, and Experience Fragments
  5. Navigate around AEM 6.5 and familiarize yourself.
  6. Users & Groups
  7. OSGI Console
  8. CRX/DE Console

D. Core Frontend 

  1. HTML5 (make sure you understand how to structure the web page with the HTML5 syntax for SEO efforts)
  2. CSS2, CSS3, CSS4
  3. JavaScript ES5 Syntax - basically this is for older browsers like IE 11
  4. JavaScript ES6 Syntax - basically this is for newer browsers... should use a build & compile tool to make sure code is compatible with older browsers.
  5. JavaScript Build & Compilation tools like Webpack

View solution in original post

8 Replies

Avatar

Level 1

I would say to start from here,

https://experienceleague.adobe.com/?lang=en#dashboard/profile

 

This is developed by Adobe, you can set your goals and adobe recommends the leanings.

It has paths to AEM front end developer and AEM backend developer. These will give you more structured insight into AEM development and how you want to proceed.

 

Hope this helps!!

Avatar

Correct answer by
Community Advisor

@kayaka,

If you wish to be an exceptional AEM developer, then full-stack web development might be your best option. However your posts indicate that you wish to focus on the JAVA backend implementation, so here are a list of things below that I would suggest you go through:

A. Core Backend Skills

  1. Java 13
  2. Junit 5
  3. Maven

B. AEM Backend Skills

  1. Day 00: AEM Developer Series
  2. Day 01: Introduction to AEM
  3. Day 02: AEM Architecture
  4. Day 03: Setting up AEM Development Environment
  5. Day 04: Developing First OSGi Bundle
  6. Day 05: Working with Sling Servlets in AEM
  7. Day 06: Playing with Sling Post Servlet
  8. Day 07: Creating your first component in AEM
  9. Day 08: Dueling with JavaScript Use API
  10. Day 09: Dueling with Java User API
  11. Day 10: Getting to know Sling Models
  12. Day 11: Client Libraries in Action
  13. Day 12: Creating your custom OSGi Configuration
  14. Day 13: Schedulers in AEM
  15. Day 14: Eventing in AEM
  16. Day 15: Custom Workflows in AEM
  17. Day 16: Creating JMX Beans in AEM
  18. Day 17: Working with QueryBuilder API
  19. Day 18: Working with Granite Datasources in AEM
  20. Day 19: Replication API in Action
  21. Day 20: Working with Users and Groups in AEM
  22. wcm.io AEM Mocking Test Library https://wcm.io/testing/aem-mock

C. Apache Web Server

  1. AEM Dispatcher Module
  2. Virtual Server
  3. Rewrite Rules
  4. Regex Master

 

Also, I recommend that you spend some time on some front-end, only because you'll be more efficient and more helpul if you know how to identify problems in the front-end as well.

 

D. (more front-end roles) AEM Platform, Users, Components, Templates

  1. Learn how to create an AEM component using Sling Models
  2. Touch UI (Granite UI Library)
  3. Client Libraries (CSS & JS)
  4. Editable Templates, Content Fragments, and Experience Fragments
  5. Navigate around AEM 6.5 and familiarize yourself.
  6. Users & Groups
  7. OSGI Console
  8. CRX/DE Console

D. Core Frontend 

  1. HTML5 (make sure you understand how to structure the web page with the HTML5 syntax for SEO efforts)
  2. CSS2, CSS3, CSS4
  3. JavaScript ES5 Syntax - basically this is for older browsers like IE 11
  4. JavaScript ES6 Syntax - basically this is for newer browsers... should use a build & compile tool to make sure code is compatible with older browsers.
  5. JavaScript Build & Compilation tools like Webpack

Avatar

Level 1

@BrianKasingli 

 

Above links are not working.. are there any alternative?

Avatar

Community Advisor

AEM is a Web Content Management System tool that is used to create websites, apps, and many more. AEM recommends modular development which separates business logic from the presentation layer.

 

There are many profiles existing in AEM where you can work for:

1. AEM Backend developer: He is the person who works on business logic. For this profile, you need strong Java skills [Core and advanced]. Although this profile does not demand strong front end skills, having a basic understanding of HTML, CSS, JS would be an added advantage.

2. AEM Front end developer: He is the person who works on presentation logic. For this profile, you need strong front-end skills which vary from project to project [basic skills would be HTML, CSS, JS]. Generally, this profile does not demand any backend skills

3. AEM Full Stack developer: He is the person who works on both business and presentation logic which expertise on both backend and front end.

4. AEM QA: He is the person who works on the quality of the product developed. For this profile, you need strong testing skills [automation would be an added advantage].

5. AEM Author: He is the person who does not need any technical skills but the tool [AEM] knowledge to author the content on regular basis.

 

First things first - select the profile you are interested to work on. Later work on the skills needed.

I would recommend starting from here: https://experienceleague.adobe.com/docs/experience-manager-65/developing/home.html?lang=en. This has an entire developing guide that can help you learn the required skills.

 

Hope this helps. All the best!

 

Thanks,

Kiran Vedantam.

 

Avatar

Level 2

I am currently working on and will soon release a course. You can find more information about it here. The course breaks down the structure of an Adobe Experience Manager (AEM) default project and covers the responsibilities of an AEM Developer in working with three main aspects:
» AEM Front-end (Typescript, SPA,...)
» AEM Developer Platform (Work with AEM like Component, Templates, ...)
» AEM Cloud and Deployment.
I hope this course will be beneficial for you in gaining a better understanding of AEM. Beside, you can search keyword regarding to AEM like build aem in here https://www.flagtick.com/snippets/

Capture.PNG