Position: Senior Java Developer (V)
Company: Exadel
Category: Java
Experience required: 3y
English level: intermediate

**Role Purpose**: Using leading edge technologies, including Micro Services, Spring boot, Docker, and Kubernetes, CI/CD. The Software Engineer will contribute to the design, development, and implementation of the Cloud Platform. The engineer will possess experience with commonly used concepts, practices, and procedures and follows re-established guidelines to perform the functions of the position. In addition, the role utilizes their current experience and judgment to plan and accomplish goals.
 
**About the Customer**:
The Customer is a global leader in Actionable Intelligence solutions. Today, over 10,000 organizations in more than 180 countries, including over 80 percent of the Fortune 100 companies and government agencies worldwide, use Customer’s Actionable Intelligence solutions to power their clients engagement and cyber intelligence operations.

With over two decades of experience helping more than 10,000 organizations worldwide create lasting value, the Customer is a global leader in client engagement. 

Moreover the Customer is a leading global provider of security and intelligence data mining software. His Intelligence-Powered Security product portfolio is deployed in over 100 countries, helping government, critical infrastructure and enterprise organizations neutralize and prevent terror, crime and cyber threats. In other words you will work with a technology innovator backed by amazing people!

**About the Project**:
The Project is a Сommon сloud platform service. The main team is located in Belfast (European time).

**Project Stage**:
Development

**Project team**:
1 Lead Java Developer, 2 Senior Java Developers, 1 Middle Java Developers, 1 Senior Automation QA, 1 Senior Manual QA

**Requirements**:
3+ years of experience in developing Java apps
A Software engineer/developer who is able to prove that they have either experience of, or a high technical aptitude for developing software at scale for more than 3 years is essential
Should ideally be able to demonstrate a solid understanding of Agile working practices and methodologies
The ability to demonstrate strong written and verbal communication skills is essential
The ability to demonstrate experience in the automation of Software testing and build systems is desirable
The ability to demonstrate a working knowledge of cloud platforms such as Amazon AWS and associated cloud technologies is desirable
The ability to demonstrate an appreciation of the Non Functional requirements and how to meet them is desirable

**Environment**:
The ability to demonstrate Design and execute tasks within a delivery plan is essential
The ability to work independently and within development teams in an agile manner is essential
The ability to work in a global environment and interface with remote groups is essential
The ability to contribute to a cross-functional team in daily stand-ups, sprint planning meetings and retrospectives is essential
Skills and experience in one or more skills is essential in each of the following categories:   
Programming
Java ideally with the Spring Framework
JavaScript using Node.js, Redux.js, React.js and HTML and CSS
Working knowledge and experience of SQL  is desired
Experience of Powershell would be useful
 
**Design**
The MicroServices design pattern
REST API & SOAP API patterns
Use interface design and implementation which ideally incorporates Responsive Design, progressive enhancement, accessibility, localization and internationalization

OS
Linux
Windows
 
**Professional/Task**:
Experience in all phases of the software development life cycle is essential i.e. design, develop, test, support
Experience working cross-functionally using an agile methodology, such as SCRUM is required
Experience of implementing Continuous Integration and Continuous Deployment/Delivery pipelines is desired
Experience using defect tracking tools and quality/test management tool such as Jira is desired
Good problem solving skills and troubleshooting skills that enable root cause analysis to be performed is required
Experience with estimating engineering effort, prioritizing tasks
Personal:
Effective communicator with good written and verbal skills is essential.
Self-motivated with a strong desire and drive to succeed is essential.
Strong organizational, analytical, and time management skills is essential

**Responsibilities**:
Implement and tests software applications/services
Participate in design reviews
Provide effective communication with local and geographically distributed team members
Participates in the testing process through TDD,  test review and analysis, test execution, and certification of software
Participates in peer code/design reviews and peer-programming efforts
Interacts with Product Owner to ensure that specifications are satisfied
Responsible for debugging, troubleshooting and developing technical related to software errors
Creates workaround solutions when product procedures have failed and ensures issues are resolved in a timely fashion
Escalates urgent problems requiring more in-depth knowledge to appropriate internal resources. Escalates urgent issues to Engineering Management
Job Metrics (How will the role be measured):
The delivery of high quality product features to customers in a productive manner
Development of product code within an agile process
Design and automate tests whilst working with QA to create effective test plans
Engage in some research of new technologies & architectures to improve product
Work independently and with a remote peer group
Contribute to daily stand-ups, sprint planning meetings and retrospectives
Key Tasks:

Software Development
Develop high quality, re-usable source code. Ensure code is developed in line with company software guidelines including TDD
Automate test harnesses where possible to enhance quality of product functionality
Where automation is not possible design and document effective manual test strategies
Incorporate Non-functional requirements into the design of the product features in order to deliver a high quality of service to customers
Technical Innovation
Work on projects with appropriate supervision and has latitude for judgment on own experience and expertise
 
Team collaboration with clear communication
Provide effective communication with distributed team members
Escalate urgent issues to quality assurance and management
Participate in Design and sprint planning reviews

Process Adherence
Use and maintain automated build and deployment systems.
Contribute to Support issue resolution and / or reviews
**English level**:
Intermediate+