At Cengage, we're harnessing the power of tech to build a future where all learners have the tools and confidence to achieve their goals. As a Cengage employee, you'll be helping to transform the way people learn. Collaborating with the best of the best, you'll feel challenged and inspired to do breakthrough work. Together, there's no limit to what we can imagine, create and innovate!
We set the bar higher by bringing our unique talents and points of view to the table every day. We're curious and comfortable with change and are willing to take risks to transform education for the better. Most importantly, we put learning first with everything we do. We also offer a fun, challenging, and rewarding environment with the opportunity to work with some of the most talented people in our industry.
As a Software Engineer on the Gale engineering team, you ll join a highly collaborative and cross functional agile team that serves over 100 Gale products with various front-end and back-end services. As a member of our team, you'll have the opportunity to grow and apply your knowledge, performing full stack development and maintenance for our platform and information services.
- Participate in the design, architecture, and implementation of new features in an Agile environment
Write high-quality software primarily written in Java and Java
Script using popular frameworks.
- Write effective unit and integration tests for all the code you write.
- Write SQL scripts and stored procedures for the new product definition and product; setup and promote it to different environments.
- Engage with quality assurance engineers and conduct testing of features.
- Build an accessible WCAG compliant UI.
- Perform root cause analysis, technology evaluation, and design spikes.
- Provide and receive constructive feedback through code reviews.
- Help drive the completion of all kinds of work tasks not just coding.
- Follow Agile practices, including user feedback, daily stand up, pair-programming, test-driven development, user stories, weekly demonstrations, retrospective, Agile roles and timeboxing.
- Assist in planning and brainstorming activities driven by our Product and Technology organizations.
- Investigate and solve complex performance problems, finding ways to scale the platform while simultaneously reducing costs.
- Demonstrate ability to effectively communicate in order to influence colleagues and decisions.
- Demonstrate ability to break down and estimate stories and tasks.
- Demonstrate a continuous improvement mindset regarding processes and work standards.
- Foster cooperation and support and encourage teamwork within project teams.
- Be proactive in seeking out and encouraging cross-functional resources to participate in discussions, meetings, and communications.
- 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).
- Developing and maintaining modules using Java, Spring MVC, Java
Script, HTML and CSS.
- Experience with writing SQL queries, stored procedures, functions and triggers, and utilizing relational data modeling and basic database schema design for database management in Oracle/Sybase.
- Familiarity with modern front-end frameworks, like React and Angular.
- Experience with common development tools and version control, including SVN/Git,
- Ant/Maven, ID
Es (Eclipse/IntelliJ IDEA), and Jenkins.
- Excellent verbal and written English communication skills required.
- Creative problem solving skills and ability to effectively communicate and translate
- feedback, needs and solutions.
- Must have strong teamwork orientation.
- Must 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.
Education and Experience Requirements:
- 2+ years professional Full Stack (Java, Java
Script, HTML, CSS) software development, or Bachelor degree in Computer Science or a related field, or an equivalent combination of education and recent, relevant work experience.