028562-Programmer / Developer Lead - Java Developer with Cloud AWS

• As a Cloud (AWS) Application developer, your will contribute to the design/development of cloud native applications with AWS for large scale enterprise applications. Use new technologies, techniques and patterns, provide proof of concepts use standards and best practices.

• This role is highly collaborative with other development teams, architects for new project introduction and/or application enhancements.

• This is an exciting opportunity for the right  person if they are passionate about  technology, thrive in ever-changing software solutions, and are motivated by the ability to impact customers in a media & entertainment industry.

Must have Skillset :

(Keywords - Java 8, Spring, AWS, Docker, JMS, AMQP, Rabbit MQ, Tomcat, Micorservices)

Should have overall experience of  8 years (or more) in application development and design in JEE technologies,

Worked on cloud technologies preferably  in AWS (or other equivalent) for a minimum of 1-3 years.

Must be very good with Java7/8, JEE6/7, SOAP & REST (Apache CXF)

Must  have expertise in spring frameworks (core, jdbc, orm, aop, jms, tx, web, rest), good knowledge on other spring umbrella projects like spring-batch, spring-integration, spring-data etc

Experience in messaging technologies and application frameworks both on JMS (IBM MQ, Sonic MQ) and AMQP (RabbitMQ)

Good at  data layers concepts and technologies both RDBMS (Oracle, MySQL) & NoSQL (MongoDB), must have good knowledge on SQL using spring-jdbc and ORM technolgies like hibernate.

Must understand application/network  security, experience in designing applications with one/two way SSL, OAuth 1/2, SAML, SFTP, Spring Secutity.

Overall design/implementation of cross-functional, multi-platform product solutions; large scale SOA web and mobile-based application systems.

Use of DevOps tools and practices with development and design of performant and scalable solutions that  are technically sound and fit the cloud native application architecture model.

Experienced in overall all application layers (front end, middleware, service and data) of application architecture

Experience in application profiling and performance tunning in all layers (front end, service/middleware, data).

Good understanding on caching technologies, knowledge on HTTP and Object caching, good experience on Redis, Hazelcast or similar APIs.

Must be good understanding in detail with application severs and web containers configuration and tunning like Tomcat7/8, TCServer, Websphere8, JBoss etc

Good knowledge on AWS EC2, ECS, VPC, Autos caling, Security Groups, AWS CLI, Cloud watch.

Good at  containerization of applications (Docker preferable), understand best  practicies of docker, develop reusable base images and tune docker applications.

Should have knowledge on building, pushing and pulling docker images to AWS ECR repositories.

Good at  Core/JEE design patterns.

Nice to Have :

Experienced in any  of  the scripting language (shell, bash, ruby, python)

Good working experience in ELB, ALB, S3, EBS, Cloudfront, RDS, Elastic Cache, Direct Connect, Route 53, IAM, SQS.

Knowledge of defining AWS security groups which can act as virtual firewalls to control the incoming traffic onto one or more AWS EC2 instances

Knowledge of configuration of AWS Identity and Access Management (IAM) users and groups for improved login authentication.

Implementation of AWS high-availability using AWS Elastic Load Balancing (ELB), which can perform balance across instances in multiple availability zones.

Experience in real-time monitoring and alerting of applications deployed in AWS using Cloud Watch, Cloud Trail and Simple Notification Service. Assigned AWS elastic IP addresses to work around host or availability zone failures by quickly re-mapping the address to another running instances.

Experience in deploying and monitoring applications on various platforms using Elastic Bean Stalk, setting up the life cycle policies to back the data from Amazon Web Services AWS S3 to AWS Glacier, various AWS EC2 and S3 CLI tools.

Configured and managed AWS Glacier to move old data to archives, based on retention policy of database/applications.

Knowledge of CI/CD technologies both for cloud native application and non-cloud applications, experience in Git, Chef, Jenkins, Puppet, Hudson, Bamboo etc.

Good at  understanding *NIX systems, experienced in administration, bash / shell scripting.

Knowledge on Mesosphere & Marathon is added advantage 

Responsible for programming and software development  using various programming languages and related tools and frameworks, reviewing code written by other programmers, requirement gathering, bug fixing, testing, documenting and implementing software systems. 

Experienced programmers are also responsible for interpreting architecture and design, code reviews, mentoring, guiding and monitoring programmers, ensuring adherence to programming and documentation policies, software development, testing and release.

Required Skills and Experience:

Write software programs using specific  programming languages/platforms such as Java or MS .NET, and related tools, platform and environment.

Write, update, and maintain computer programs or software packages to handle specific jobs, such as tracking inventory, storing or retrieving data, or controlling other equipment.

Consult  with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.

Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.

Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.

Write or contribute to instructions or manuals to guide end users.

Correct errors by making appropriate changes and then rechecking the program to ensure that the desired results are produced.

Conduct trial runs of programs and software applications to be sure they  will produce the desired information and that the instructions are correct.

Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.

Investigate whether networks, workstations, the central processing unit of the system, and/or peripheral equipment  are responding to a program's instructions.

Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language.

Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.

Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs.

Perform unit testing Assist in system and user testing Fix errors and bugs that are identified in the course of testing.

• Qualifications:  3-9 years experience; Bachelor’s degree

• Should be proficient in Software Engineering Techniques, Software Engineering Architecture, Software Engineering Lifecycle and Data Management.

• Should have progressing skills on Business Analysis, Business Knowledge, Software Engineering Leadership, Architecture Knowledge and Technical Solution Design.

About Capgemini

With more than 190,000 people, Capgemini is present in over 40 countries and celebrates its 50th Anniversary year in 2017.

A global leader in consulting, technology and outsourcing services, the Group reported 2016 global revenues of EUR 12.5 billion (about $13.8 billion USD at 2016 average rate).

Together with its clients, Capgemini creates and delivers business, technology and digital solutions that fit their needs, enabling them to achieve innovation and competitiveness.

A deeply multicultural organization, Capgemini has developed its own way of working, the Collaborative Business ExperienceTM, and draws on Rightshore®, its worldwide delivery model.

Learn more about us at www.capgemini.com.
                                                                                          
Capgemini is an Equal Opportunity Employer encouraging diversity in the workplace.

All qualified applicants will receive consideration for employment without regard to race, national origin, gender identity/expression, age, religion, disability, sexual orientation, genetics, veteran status, marital status or any other characteristic protected by law.

This is a general description of the Duties, Responsibilities and Qualifications required for this position.

Physical, mental, sensory or environmental demands may be referenced in an attempt to communicate the manner in which this position traditionally is performed.

Whenever necessary to provide individuals with disabilities an equal employment opportunity, Capgemini will consider reasonable accommodations that might involve varying job requirements and/or changing the way this job is performed, provided that such accommodations do not pose an undue hardship.

Responsibilities:

As part of the Capgemini Technology Services Group, this person will be responsible for the full systems lifecycle from requirements gathering through implementation of data analysis solutions.

This person will work closely with our clients and must demonstrate professional knowledge to ensure that the work products and deliverables are of the highest caliber to ensure client satisfaction.

This person will also apply subject matter expertise to identify, develop, and implement techniques to improve engagement productivity, increase efficiencies, mitigate risks, resolve issues, and optimize cost savings and efficiencies for each client.

Click the following link for more information on your rights as an Applicant: http://www.capgemini.com/resources/equal-employment-opportunity-is-the-law