AEM Developer

San Ramon, CA

The AEM Developer will work in a team of developers on a diverse set of projects. The developer will participate in full life-cycle web, application and digital marketing platform development and implementation projects. A successful engineer will be able to build high-quality, innovative and full performing software in compliance with coding standards and technical design. The engineer will also attend internal and external training and certification programs to acquire skills and, expertise with platforms and products company works with for example, Adobe AEM, Salesforce, Chef.

Responsibilities


  • Write Clean, Efficient and Testable Object Oriented Code using languages including Java, JavaScript, Python, and HTML
  • Develop AEM Templates, Components (Sightly, Touch UI), OSGI Services (Sling, JCR), and Servlets.
  • Report work progress to the Manager & the Client on a periodic basis.
  • Implement Integrations with 3rd party Marketing Technology Solutions for CRM (Salesforce), Search (Coveo, Google), Analytics (Omniture), Business Intelligence (Demandbase), Social (Facebook, Twitter), Databases and Custom APIs, MicroServices
  • Perform installations and configurations of connectors, plugins on AEM such as Clay Tablet, BrightEdge etc.
  • Create, maintain and implement Web Applications and Software Application modules using languages such as Java, Python, Ruby, JavaScript, and HTML
  • Work with Infrastructure Provisioning tools such as Chef, Docker, Ansible and develop cookbook’s, recipes, scripts to perform automated provisioning of environments
  • Employ Continuous Integration/Deployment/Delivery Practices, Tools and Process including installation, configuration and implementing workflows and pipelines using tools such as Jenkins.
  • Work closely with BA/QA team members to create test plans and ensure that issues are properly identified, fixed, and tested.
  • Work under the supervision of a technical lead or director and, co-ordinate on programming and development tasks in an agile environment with scrum teams, product owners and product managers.
  • Participate and contribute in technical design, scrums, backlog grooming and sprint planning sessions.
  • Maintain regular client communication and satisfaction, ensuring opportunities and challenges are addressed in a timely manner.

Requirements


  • Bachelor’s degree in Computer Science or alternative related field required; Master’s degree preferred
  • AEM 6 Developer Certification Preferred (if no certification, then experience with 1 to 2 AEM Projects or a strong understanding of AEM 5.x to 6.x is required)
  • Knowledge of at-least two of the object oriented programming languages such as Java, Ruby, or Python, JavaScript
  • Solid experience with AEM building blocks including templates, components, dialogs, widgets and bundles.
  • Experience with data migration in AEM
  • Familiar with Multi Site Manager (MSM), Language Copy, Dispatcher
  • Experience with communicating to different internal servers, databases from AEM, using both front end (ajax, cookies) and back end technologies (servlet, osgi service, Sling)
  • Experience with Junit and other testing frameworks in AEM
  • Experience in Java Content Repository (API) suite, Sling web framework and Apache Felix OSGi framework, DAM, Workflows is required.
  • Experience with other large scale WCM or CMS implementation a plus. Strong Java/J2EE background and working knowledge of Spring, Hibernate and Struts frameworks.
  • Familiarity with front-end technologies, HTML, CSS, angular and JavaScript experience is plus, should have the aptitude to learn front-end development
  • Some Systems administration experience (eg. linux) is highly preferable
  • Experience with Infrastructure automation tools such as Chef, Puppet, Docker, Vagrant is highly desirable
  • Strong analytical, problem solving skills and technical troubleshooting skills
  • We expect the candidate to have good communication, analytical and presentation skills, problem solving skills and learning attitude.
  • The candidate should have experience working in an Agile development environment.
  • Ability to work in a team in diverse/ multiple stakeholder environment is a must.