Position: Senior Java Developer (Gaming Project)
Company: Sigma Software
Experience required: 5y
English level: intermediate

Required skills

At least 5 years of experience in commercial software development including at least three years of experience in the design and the delivery of product features
Evidence of having successfully made technical decisions for projects that delivered products or product features in time, to budget and to specification, in such a way that they continue to be maintainable and extensible
Experience in maintaining and debugging live software systems
Good or strong knowledge and experience in followed areas:
Java 8/11
JEE Stacks and Application Servers (JBoss)
Strong knowledge of Spring Framework
Bash languages and Unix commands (sh, python, etc.) it is important to easily implement any batch component based on OS primitives
Main cache application server knowledge (i.e infinispan, hazelcast, redis), know how to build a cache structure and how to push and consume object into it
RESTful web services, SOAP web services
Knowledge of DB languages for both ORACLE and DB2 design the components databases when in scope accordingly with the cache frameworks
Maven
Experience with AWS, Kubernetes, Docker
Version control systems — Git, SVN
Excellent verbal and written communication skills in English
Proficiency in the software development lifecycle

As a plus

Experience with AWS, Kubernetes, Docker
EJB, CDI
JUnit, Mockito
RabbitMQ
OAuth and Web Security Standards
Linux OS
XML and JSON

Responsibilities

Take responsibility for the delivery of major product features
Identify and resolve all related key technical issues under the Architect’s supervision
Elicit requirements from a customer, apply various methods to fetch demands, requirements, feature acceptance criteria
May be involved in the technology prototyping
Carry out technical supervision of middle and junior software development staff
Clarify technical details for middle and junior software development staff. Translate product requirements to task specifications for junior software engineers
Participate in estimation and planning sessions
Code, develop unit and integration tests, debug, document, implement and maintain portions of software
Promote good design principles such as code reuse, modularity and extensibility and mentors others in these principles
Perform code reviews for compliance with best engineering practices, coding standards and quality criteria set forth on the project
Provide assistance to test engineers and support personnel in solving technical issues of software installation and its operation
Continuously participate in technical risks identification and analysis, immediately notify the Project Manager of new risks identified, and suggest the mitigation strategy
Escalate technical issues that can’t be solved without additional involvement of project, department or top management
Report status and progress according to the project and Company demands

Project description

Do you like building JEE applications and working with JEE Application servers such as JBoss? Do you want to be a part of a talented and experienced team? Do you possess leadership traits paired with a strong command of the technology? Then join us!