Job Description :
Job Description:
The Client is conducting a search for a poly-skilled Software Engineer with a range of skills and experience to work on a Data Engineering team within our AWS Cloud data environments.
As a Software Engineer, the ideal candidate will have designed, developed, unit tested, implemented and documented solutions that include not only the code to supports business functionality, but also the underlying infrastructure required to run that code and the systems required to deploy it. The candidate should also possess technical skills and experience in the virtual infrastructure domain, in particular Amazon Web Services. The preferred candidate would also have knowledge and experience with continuous delivery systems.
The candidate will report to the Project Manager and work within an agile application team that develops and maintains highly visible and critical applications. The candidate will have responsibility to design, implement, unit test, document and maintain complex technical software solutions in support of the application development and QA processes. Additionally you will be expected to ensure communications and relationships with customers and cross-team members are professional and meet expectations.

Functional Responsibilities:
Develop and implement solutions, based on a set of standards, patterns and processes which establish consistency across the enterprise data, reduce risk, and promote efficiencies in support of the organization''s goals and objectives.
Developing full stack solutions and continuous delivery frameworks that improve the ability of the CB IT delivery teams to efficiently deliver solutions with quality.
Write complex code, building infrastructure as code, work with immutable "cloud” based environments, and build the supporting automated toolsets to test and deploy the systems they develop.
Responsible for the quality of their work; will develop and implement a set of quality criteria and the associated validation method to ensure that any deliverable meets the expected quality levels of our customers, use quality management to ensure quality levels are maintained, seek new approaches and techniques to improve quality levels, employ reviews and observations to maintain the quality and continuous improvement process, and analyze the impact of quality control and quality assurance on project performance.
Use metrics to establish feasibility of new initiatives and develop plans, including budget, sequencing and time frames.
Actively review their own and the team''s work processes and implements improvements seen from other teams or in industry to drive continuous improvement of the team''s efficiency, speed, and quality.
The candidate will also take responsibility for creating design specifications, unit testing, and preparing technical documentation.
Required Skills:*

Strong and evolving competence in several programming languages and technologies (especially in Java or Node.js); working knowledge of multiple tools sets, technologies and implementation environments
Ability to work independently
Strong problem solving and analytic skills
Ability to handle multiple projects and assignments simultaneously and effectively in a cross-functional team environment
Working knowledge of J2EE, Java, Node.js, JavaScript, Oracle SQL, or python frameworks, MVC application framework, design patterns, web and application servers.
Experience with Distributed Service Standards (SOAP, REST, EJB)

Preferred Skills:*

Experience with AWS Services like S3, Lambda, SNS, SQS, DynamoDB, RDS, Redshift, Step Functions, VPC, and more
Understanding of business process modeling, data provisioning modeling, entity relationship modeling, and dimensional modeling.
Understanding of Microservices and Serverless Architectures
Experience with revision code source code repositories in particular Bitbucket, GIT and SVN
Strong and evolving competence in several programming languages and technologies, working knowledge of multiple tools sets, technologies and implementation environments
Expertise in the knowledge of programming languages, relational databases, and NoSQL databases
Experience building infrastructure as code using AWS CloudFormation or similar scripting techniques
Familiarity with monitoring tool suites like Kibana, NewRelic
Familiarity with Linux based systems administration skills and scripting experience in a Cloud based environment
Familiarity with Chef, Puppet, Salt, or Ansible in production environments
Management of continuous integration servers like Jenkins and BambooExperience with automated testing tools (i.e. selenium, Cucumber) are a plus

Education/Certifications:*

Bachelor of Science in Computer Science or equivalent preferred.
3 - 5 years of experience in software systems, programming, and infrastructure development and administration
AWS Associate or Professional Certification preferred (not required