AEM’s main goal is to make it easy for non-technical people (authors) to create sites and to manage, maintain, and create content. To make this a reality, the AEM developer needs some specific skills in addition to what every software developer needs.

Always think from the author’s perspective

As an AEM Developer, never assume anything. Because you’re technically sound, it’s easy to fall into the trap of simply following requirements for UI or the authoring interface. However, those requirements alone don’t necessarily result in the best experience for the user. Your ultimate goal is to make the author’s life simpler. When developing components, imagine being a non-technical user and how to make authoring of the component as easy as possible. Even though development workflows include specialists for QA to catch UI/UX flaws before code makes it to the live site, it’s always a good practice to lower the number of UI/UX issues during the development stage itself, even though requirements might not cover those flaws.

Meet with your peers

Having a peer review your work is always a great idea

 

 

 

 

 

It’s the responsibility of the developer to make sure that all of the requirements are understood. Before starting with the development of a new component, it’s best practice to schedule a 15 minute meeting with the person who assigned the task to you. In most cases, it would be either your project manager or the architect. Scheduling a meeting with the architect not only helps you understand the requirement, but also helps to find the right approach. In some scenarios, you can reuse existing components instead of reinventing the wheel. Since your architect usually has a better understanding of the overall project than you, they might have an idea for a solution that better meets the requirements of the client. This approach also helps with dedicating time for making the code better.

Don’t reinvent the wheel

A 15 minute meeting to get clarification is far better than spending 2 hours reinventing the wheel. With AEM, you can approach a problem in many different ways and it’s often fun to explore paths on your own. Trying new paths is also an opportunity to make mistakes and learn from them. Utilize your free time by trying to find new approaches and discussing different approaches with your peers.

Test your components thoroughly

Even though there are phases for QA, it’s your responsibility as a developer to test the components thoroughly. Make sure that you have completed all the requirements, followed best practices during development, and that there are no error messages in the errors.log file or chrome console at any point before pushing the code to repository. This saves a lot of time during the code review and avoids unnecessary delays.

Contribute to the Adobe community

There are lots of issue threads that are still unresolved in the Adobe community. If you found a solution for one of those, share it to help others who encounter the same or a similar challenge. It’s always a good idea to be active on Adobe Community, Stack Overflow, and write blog articles on various AEM related topics.

Share knowledge

There are different ways to share knowledge. Some of the most effective ways are to create dedicated knowledge sharing sessions and office hours once or twice a week. Another way to share knowledge is via a chat system. There are still organizations that use boring and ineffective ways of communication. I recommend Slack or Stride which are effective communication and collaboration tools. Trust me! Work is fun with those tools.

Become a certified AEM developer

Adobe provides a variety of AEM certifications dedicated to Developers, Architects, Business Practitioners, etc. Becoming a certified AEM Developer helps you gain knowledge on most of the features present in AEM. As we all know, AEM is a powerful tool which has a vast number of features. As a developer, you might not get the chance to work on all the aspects of AEM. When you prepare yourself for the certification you will discover lots of AEM capabilities that you had never imagined. Finally, on the path to becoming certified, you will improve your AEM skills and you will be able to develop better components.

In conclusion

To become a successful AEM developer, you have to learn quite a few things. The aspects highlighted above are those that I found to be especially important, and hopefully they give you guidance on the path to success!