Cengage Learning Application Architect in Boston, Massachusetts

Overview

The candidate will be responsible for creating technical designs and architecture for Cengage Learning’s edTech products, determining solutions for an implementation team throughout the development cycle. The candidate will work in a highly collaborative, cross-functional Agile team and will take ownership of architectural decisions and technical debt on various software components. The candidate will also participate in development and implementation of the product solutions, and be responsible for code reviews and ensuring technical quality of the product deliverable.

  • Collaborate with Product Owners to understand requirements for architecture.

  • Work with full-stack team to define and implement logical and physical architecture.

  • Document the architecture (both up-front design and post-release as-built)

  • Collaborates with cross-functional roles to communicate and align development efforts with Architecture Roadmap

  • Provide development and implementation for architecture design concepts (50/50 architect/developer)

  • Define domain boundaries, API functionality, and data structure to promote clean separation of responsibility in SOA / microservices environment.

  • Help identify coding patterns and anti-patterns and enforce implementation of the patterns through code reviews.

  • Performs root cause analysis, technology evaluation, and design spikes to define architecture supporting high-quality resilient software.

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

  • Promotes improvements in DevOps, including version control, continuous integration, project build and test automation, to maximize developer efficiency.

Responsibilities

  • Help define logical and physical architecture and document the architecture using UML diagrams.

  • Help identify coding patterns and anti-patterns and enforce implementation of the patterns through code reviews.

  • Builds a strong team using collaboration skills.

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

  • Test-drives clean, quality code, working closely with other Agile team members.

  • 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.

  • Performs root cause analysis, technology evaluation, and design spikes.

  • Continuously learns, and is unafraid to learn new practices, processes, technologies, and languages.

  • Participates in and may lead sprint review demonstrations.

Qualifications

Skills/Knowledge/Experience:

Required

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

  • Minimum 7 years of experience with Java.

  • Minimum 3 years of experience with JavaScript.

  • Minimum 1 year of experience in a tech lead or architect role managing the work of development staff.

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

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

  • Experience with development of service oriented and micro-service applications

  • Familiarity with wide portfolio of software development applications, environments and languages

  • Experience with reflection, inversion of control and dependency injection frameworks.

  • Strong understanding of HTTP/REST/API architecture

  • Experience using source code control systems, such as Git or Stash

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

  • Excellent verbal and written communication skills required, including UML and structured diagramming methodologies.

  • Creative problem solving skills and ability to effectively communicate and translate feedback, needs and solutions

Preferred

  • Experience building Java bundles that conform to the OSGi specification.

  • Experience creating smart web components with React and Redux.

  • Knowledge of search engine development, particularly with Lucene as a component

  • Experience with static code analyisis tools (PMD, FindBugs,Checkstyle, etc)

#LI-GC1

Job Locations US-MA-Boston

Posted Date 2 months ago

Requisition ID 2017-3599

Job Function Software Development