What to look for when hiring a potential Adobe AEM developer

Adobe AEM is a hot product right now. Finding available, skilled talent is difficult, to say the least.  I get two to three messages on LinkedIn every week about project that is looking for someone with AEM experience. When assembling a team, you have a few options: use professional services consulting, partner with an experienced agency, or build a team of your own in-house.

Assuming you’re building a team in-house and you can’t find someone with AEM experience on their resume, what skills should you look for when hiring a developer to train as an AEM developer?  Developing in AEM is not difficult; however, there is definitely a learning curve around all of the underlying technologies (SLING, OSGi/Felix, JCR, etc), understanding best practices, comprehending all of the new terminology you’ll be bombarded with (DAM, CRX, MSM), and understanding CMS concepts in general.

Here’s a list of skills I look for when I’m building a team of developers who do NOT have AEM experience.  These skills truly lend themselves to molding a solid AEM candidate:

  • Servlet and JSP development  –  All of the templates and components in an AEM project are built using Java Server Pages (JSP), so 2-3 years experience with this is a must.  No JSP experience on the resume? Move on.

“No JSPs? Survey says? Bzzzzzzzz.”

  • CSS, Javascript, HTML – This is more for our front-end/HTML mark-up developers, but having your AEM developer with some CSS/Javascript experience is key, especially when we do AJAX calls or have to create custom Widgets using EXTJS. Also, having the ability to apply a quick style to the component instead of waiting for the Web Developer to do it only saves time for everyone.
  • AJAX/JQuery/EXTJS –  Adobe AEM pre-compiles published pages into static HTML, so dynamic content is pulled-in via AJAX – usually with a library like JQuery.  Additionally, EXTJS is used to create custom widgets for your editor dialogs. Experience with these is in my top 3 must-haves.
  • OSGi/FELIX – Scheduled jobs and services run as ‘bundles’ in the built-in Felix console.  While OSGi-specific experience is not a requirement, experience developing some type of service is required.  See below.
  • Web Services creation and consumption – Any dynamic content ingested from an external  service is usually accomplished by interacting with an service-layer running on an application server like Tomcat or JBOSS. A web services developer will be a key player on the team to assist with this interaction. You need at least one on the team with this skill.
  • CMS development experience – This isn’t a must-have, but understanding the concepts surrounding using a CMS versus traditional MVC (Model, View, Controller) development is helpful.  It helps with the learning curve of using a CMS.
  • Java Content Repository (JCR)/CRX – Getting away from the relational database mindset, where everything is tied together with some sort of key is a hard concept to grasp.  Not a must-have, but having someone on the team understand the underlying data repository who can evangelize it is a nice-to-have.
  • Other nice-to-haves – Eclipse IDE, Maven, SVN, Jenkins, Artifactory, Apache Sling, Lucene, Tomcat/JBoss, Apache web server, analytics tagging


Have you found a characteristic in your hiring practice that lends itself to become a great AEM developer? Share in the comments below.

3 thoughts on “What to look for when hiring a potential Adobe AEM developer

  1. I am a User Interface Designer with minor Front End Developer skills. I was recently hired by a major eyewear company (the name starts with an “O” and ends with a “Y”) for the sole purpose of migrating a version of one of their Native Apps over to AEM. I have no real experience with AEM Development, but I am a fast learner and I already have the AEM portal experience mastered (along with creating articles, collections, layouts, etc..)

    My question is: Do you think it is viable/worth it for me to dive head first into AEM Development and try to learn the various languages/frameworks necessary to be able to customize an AEM app? Or is it something that would take years to understand and a complete change of my skillset?

    Kind of a random question, I know… but your article was great so I thought I would reach out for advice. Thank you Mr. Meehan!

    • With Sightly in place we dont need mandatorily JSP/Servlet guys but I think they are the best fit as AEM developers. Sightly is very new templating language and front end developers will mess it if they are the sole developers of templates and components

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s