AEM Developer – II

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


  • Participate in the implementation of Adobe Experience Manager, including design, definition and development of AEM content type models, workflows, templates, and components, and permissions. 
  • Implement AEM templates, Components (Sightly, Touch UI, JSP, HTML, CSS, JavaScript), OSGI Services (Java), and Servlets (Java)
  • Set up and configure AEM authoring, publishing and dispatcher environments with Adobe recommended best practices.
  • Work with Infrastructure Provisioning tools such as Chef, Docker, Ansible and develop cookbook’s, recipes, scripts to perform automated provisioning of environments
  • Assist in deploying applications to Development, QA and Production environments and support content and code propagations across different environments.   
  • Follow best practices for secure web programming and deployment. Adhere to internal best practices with respect to coding standards, unit test coverage, automation and continuous integration.
  • Help troubleshoot complex technical problems involving multiple environment and application integration. 
  • Perform ongoing maintenance, content updates, enhancements, bug fixes and implement new features.
  • Work under the supervision of a technical lead or director and, coordinate on programming and development tasks in an agile environment with scrum teams, product owners and product managers.
  • Participate and contribute in technical design sessions by reviewing and, analyzing specifications for performance, security, portability, maintainability, and implementation concerns and provide feedback to the lead. 
  • Participate in scrums (daily standup meetings), backlog grooming and sprint planning sessions to communicate status of deliverables to team members and supervisors, provide estimations of effort and breakdown development stories into actionable tasks.
  • Maintain regular communication with the team including product managers, architects, product owners and stakeholders, ensuring opportunities and challenges are addressed in a timely manner.

Requirements


  • Bachelor’s degree in Computer Science or alternative related field along with a minimum of 2 to 3 years of demonstrated work experience is required; Master’s degree with at-least 1 to 2 years of experience preferred. 
  • AEM 6 Developer Certification Preferred (if no certification, then experience with 3 to 5 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 is must
  • 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 is highly preferable. 
  • Familiarity with front-end technologies, HTML, CSS, angular and JavaScript experience is a must, should have the aptitude to learn front-end development
  • Systems administration experience, with Windows, CentOS, ubuntu or RH Linux is highly desirable
  • 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.