Cengage Learning Software Developer IV in Farmington Hills, Michigan


Working in a highly collaborative, cross-functional Agile environment, this development role is responsible for building and maintaining our Higher Ed Content metadata and Indexing systems. This is a full stack solution that helps our content teams index, tag and assemble content generated through the intake of books, ancillary products and periodicals, and hence the processing, storage and distribution of very large data sets. Tasked with redefining the way we leverage these systems by sanitizing workflows, reworking the tech stack and expanding the purview of the subsystems by transitioning them safely into a SOA based architecture, this role starts with familiarity with JavaEE and SQL and expands into Elastic Search, Cassandra and cloud-based deployments.


  • Work as a software engineer in a collaborative environment with passion, ownership and commitment.

  • Continuously learn and grow with industry-leading practices, processes, and technologies

  • Migrate J2EE applications, SQL-based applications to a SOA architecture in an enterprise environment, contribute to the designs

  • Continued support, maintenance and feature enhancements to the core content systems

  • Learn and champion software development best practices such as Test Driven Development, Continuous Integration and Performance testing

  • Work with various Java development and continuous integration frameworks such as JUnit, Jenkins, git, Sonar and Gatling / JMeter.

  • Takes ownership of tasks when others do not. Helps drive the completion of all kinds of work tasks.

  • Helps break down, estimate, and provide just-in-time design for small increments of work.

  • Promotes improvements in version control, continuous integration, project build, and project automation.

  • Commits to completing well-defined work and delivers on those commitments.



  • Bachelor degree in Computer Science or related field, or equivalent combination of education and recent, relevant work experience.

  • Minimum 5 years’ software development experience including 4 years of combined Java and/or JavaScript programming experience.

  • Knowledge of and desire to work in an Agile development environment.

  • Experience working with Java Web Application containers such as Tomcat, WebLogic.

  • Strong familiarity with object-oriented systems and enterprise design patterns.

  • Experience with development of service oriented applications.

  • Strong understanding of HTTP/REST/API architecture.

  • Experience using source code control systems, such as Git, Subversion, or CVS.

  • Knowledge of JSON, XML parsing, and DOM traversal.

  • Experience with one or more database systems, such as Oracle, Cassandra, MongoDB

  • Experience with one or MVC frameworks, such as Struts, Spring.

  • Experience with Java Scripts and JQuery framework.

  • Must have strong teamwork orientation and the ability to foster collaboration within and across teams.

  • Needs good work ethic and strong sense of ownership of end result.


  • Familiarity with JUnit and RESTful web services.

  • Participates in open source projects.

  • Experience with a variety of software development applications, environments, and languages.

  • Experience with JavaScript frameworks, such as Angular, React, Node.js, jQuery, etc.

  • Experience with Session, Entity and Message driven beans.

  • Experience with Advanced JavaScript (including prototype-based inheritance, event delegation, closures, AJAX, JSON).

  • Understanding of Web Standards, Accessibility, and command of Semantic markup (XHTML, HTML5).

  • Familiarity with test automation frameworks such as Selenium, Test NG, Cucumber.

Requisition ID 2016-2629

Job Locations US - MI - Farmington Hills

Posted Date 11/29/2016

Job Function Information Technology