Java Software Engineer (Search and Services)

Website Cengage

Do you dare to reinvent the future of education?

At Gale, a Cengage company, we deliver essential content through the power of technology to help researchers and learners to achieve their goals.

As a member of our team, you will change the way learners connect with libraries. Together with our partners at libraries and in academic communities around the world, you will play a role in empowering people to become better at school, work and life. Collaborating with the best of the best, you will feel challenged and inspired to do breakthrough work. With the support of our united team, there is no limit to what you can imagine, create and set in motion.

Are we right for you?

In this position, you will work specifically for Gale, part of Cengage’s international business supporting libraries. Gale has a long history in Detroit where it started as a reference publishing company in the 1950’s. Carrying that momentum forward, Gale is now an agile software company where our many products help enrich libraries all over the world.
We are curious, passionate and excited by change. We are willing to take risks to transform education. Lastly and most importantly, everything we do, we do for students and life-long learners.

Cengage Learning is a leading provider of innovative teaching, learning and research solutions for the academic, professional and library markets worldwide. The company’s products and services are designed to foster academic excellence and professional development, increase student engagement, improve learning outcomes and deliver authoritative information to people whenever and wherever they need it.

As a Software Engineer on the Search and Services team, you’ll learn about and apply your knowledge in large scale applications to design and develop world-class search and content related services for Gale’s research, analysis, and learning products. We’re a highly collaborative, cross functional and Agile team, which takes a lead role on various software components.

What You’ll Do Here:

  • Participate in the design, architecture, and implementation of new features in an Agile environment
  • Write high-quality software as a member of an Agile team
  • Write effective unit, integration, and performance tests
  • Provide and receive constructive feedback through code reviews
  • Design APIs to support new integrations
  • Help drive the completion of all kinds of work tasks—not just coding
  • Assist in planning and brainstorming activities inspired by our Product and Technology organizations
  • Investigate and tackle complex performance problems, finding ways to scale the platform while simultaneously reducing cost
  • Effectively communicate to influence colleagues and decisions
  • Demonstrate ability to break down and estimate Stories and Tasks with a high degree of accuracy
  • Demonstrate a continuous improvement mindset regarding processes and work standards
  • Cultivate partnership and support and urge collaboration within project teams
  • Be dedicated in seeking out and inspiring multi-functional resources to participate in discussions, meetings, and communications

Skills You Will Need Here:

  • Knowledge of and desire to work in an Agile development environment
  • Familiarity with object-oriented systems and enterprise design patterns
  • Java experience with the ability to utilize modern Java features
  • Experience developing service oriented applications (SOA)
  • Experience developing, maintaining, and performance tuning large-scale performance-sensitive distributed systems
  • Knowledge of JSON, XML parsing, and DOM traversal
  • Excellent verbal and written English communication skills required
  • Creative problem solving skills and ability to effectively communicate and translate feedback, needs and solutions
  • Have strong teamwork orientation
  • Be sensitive to cultural differences in interactions and in the way work is done
  • Needs a good work ethic and a strong sense of ownership of the end result

Preferred Qualifications

  • Experience with search technologies (ex. Lucene, Solr) including relevancy and performance tuning
  • Machine Learning curiosity, understanding, and/or experience is a plus

Education and Experience Requirements

  • 2+ years professional Java software development
  • Bachelor degree in Computer Science or a related field, or an equivalent combination of education and recent, relevant work experience.

To apply for this job please visit