Job Description

About Rocket Software:
Thousands of companies around the world depend on Rocket to solve their most challenging business problems by helping them run their critical infrastructure, business processes, and data, as well as extending the value of these assets to take advantage of cloud and mobile computing, advanced analytics, and other future innovations. From the clothes we wear to the cars we drive; Rocket solutions power the back-end systems that thousands of brands we interact with every day. At Rocket, software has always been about people—not just ones and zeroes. We’re people solving problems for other people, and we strive to treat our customers, partners, and fellow Rocketeers with humanity. Founded in 1990, Rocket Software is headquartered in Waltham, MA, with 31 offices around the world.

Job Overview: The Software Engineer II designs, develops, troubleshoots and debugs software programs for software enhancements and new products. Develops software tools related to utilities, databases and Internet technologies.

Essential Duties and Responsibilities

  • Mastery of software systems
  • Proficient at complex programming exercising independence and discretion while working independently

or as part of a team

  • May lead a team on short or long-term projects as needed
  • Act as the technical subject matter expert for a product domain and may act as the technical leader within a team
  • Works independently to implement software enhancements, develop code to correct defects, and/or create new products
  • Set the direction for design and implementation of software features/functionality, correction of defects

and/or creation of new products

  • Capable of synthesizing multiple internal and external sources of input into product requirements
  • Applies advanced systems analysis techniques to evaluate newly created code
  • Documents and communicates on complex technical topics outside the immediate development team
  • Responsible for one or more products
  • May interact with customer users to define system requirements and/or necessary modifications
  • History of success working within a team environment

Required Qualifications/Experience:

  • Typically requires a minimum of 10+ years of related experience with a Bachelor’s degree; 8 years and a Master’s degree;

or a PhD with 5 years of experience; or equivalent work experience.

  • Proven hands-on software development experience
  • Proven working experience in Java development
  • Object Oriented analysis and design using common design patterns.
  • Ability to write clean, concise, understandable code
  • Strong experience with SQL Databases (Oracle, SQL Server, Postgres …) including JDBC
  • Understanding fundamental design principles behind a scalable application
  • Basic understanding of the class loading mechanism in Java
  • Basic understanding of JVM, its limitations, weaknesses, and workarounds
  • Proficient understanding and experience of code versioning tools, such as Git
  • Experience with test-driven development
  • Some experience in / or a willingness to learn new technologies e.g. Docker, Kubernetes, Spring, Node.js, JS frameworks, NoSQL databases, Hibernate
  • Experience in writing and using APIs for distributed Web applications
  • Experience developing software products for commercial/enterprise resale
  • Fluency in English language, both written and spoken excellent written, verbal, and interpersonal communication skills to deal professionally and collaboratively with all levels of the organization and across geographies

Additional Preferred Qualifications/Experience:

  • Experience integrating with or programming PLM, ERP, business process management or similar products
  • Experience in developing for, and administration of, application server environments (Tomcat, Resin …)
  • Agile development methodologies
  • Experience in Web application development with technologies such as html/html5, JSP, JavaScript, CSS3
  • Experience in working with XML
  • Experience developing distributed software applications
  • Experience developing horizontally scalable web applications
  • Experience developing cloud native applications for AWS, Azure, or CloudStack
  • Experience with business process workflow development or systems
  • Experience with fully Continuous Integration and Continuous Deployment e.g. Jenkins