Position: Senior Software Developer - Java + Apache FOP (Customer communication management solutions)
Company: Sigma Software
Category: Java
Experience required: 5y
English level: intermediate

Sigma Software is looking for a Java Developer to join our big team. We specialize in Cloud Technologies and love to make great products that improve the Customer Communication and Customer Engagement capabilities of our clients and partners. Our solutions are based and integrate with some of the best-of-breed providers such as Amazon Web Services, Salesforce, Adobe. 

Feeling thrilled? You are welcome to join!

We are developers and maintaining a document composition designer engine based on Apache FOP open source project in coordination with the functional requirements expressed by Product Management and in close relationship with internal DevOps teams that deploy and run the platform.

Responsibilities:
-	Receive, analyze and improve the requirements 
-	Develop the requirements by following agile methodologies such as SCRUM or Kanban
-	Contribute to the definition of the product’s architecture
-	Work in synergy with DevOps Engineers from the Infrastructure teams
-	Experiment on new technologies and writing prototypes for architectural changes

Requirements:
-	Knowledge of professional software engineering best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing and operations
-	Extensive Software development experience using Java SE, Java J2EE
-	Knowledge of XML and related technologies (XSLT, XPath, XML Schema)
-	Knowledge of printing spool formats (PDF, AFP, PostScript) 
-	Knowledge of digital images formats and concepts
-	Software development experience using Oracle or other SQL databases
-	Knowledge of Linux system administration
-	Experience contributing to the architecture and design (architecture principles, design pattern selection, reliability and scaling) of new and existing software systems
-	Knowledge of scalable computing systems, software architecture, data structures, and algorithms
-	Experience with mission-critical systems
-	Knowledge of the JVM and the ecosystem of supporting tools inside and out
-	Propensity for learning and coaching junior technical people
-	At least Upper-Intermediate level of English

Would be a plus:	
-	Knowledge of XSL-FO
-	Knowledge of agile development methodologies like SCRUM or Kanban
-	Ability to develop a full-stack application Working knowledge of Web applications
-	Working knowledge of J2EE Application servers
-	Working knowledge of Apache FOP and related Apache projects
-	Knowledge of software build and management tools such as Ant, Maven