Job Description :
Job Description:
As a Sr. Software Engineer, the ideal candidate will have designed, developed, unit tested, implemented and documented solutions that include not only the code to support business functionality, but also the underlying infrastructure required to run that code and the systems required to deploy it. The candidate will have also standardized and tuned the patterns and components in complex systems. They should also possess the vision and communication skills to help the team move the systems into the future. The candidate will also possess technical skills and experience in the virtual infrastructure domain, specifically Amazon Web Services. The preferred candidate would also have knowledge and experience with data warehouse systems.
The candidate will report to the Sr. Director and work within agile application teams that develop and maintain highly visible and critical applications. The candidate will have responsibility to design, implement and tune various software patterns to be used within the reporting applications. As an Agile team member, from time to time, they may be called on to implement, unit test, document and maintain complex technical software solutions in support of the application development and QA processes. Additionally, they will be expected to ensure communications and relationships with customers and cross-team members are professional and meet expectations.
The Sr. Software Engineer will maintain awareness and knowledge of the emerging trends in technology, and its usage within the industry, and will apply this learning in the establishment of new and innovative technology strategies to support Client’s business needs. The candidate will also work with the teams to establish related practices, standards, and guidelines and provide oversight and adoption support to solution reporting teams.
In addition, successful candidates will be innovative thinkers and passionate in their pursuit of world class technology enabled business solutions. They will also be strong leaders, skilled communicators, and active partners, adept in interpreting and understanding the needs of the enterprise while translating those needs into technology architectures and solutions that are enduring and of high quality.
This is an opportunity for you to design and implement high-quality solutions that enable product and service delivery in support of the Client’s mission, strategy, goals, and objectives. You''ll be surrounded by people who are like you; wickedly smart, passionate about the cloud, and know that the work that they are doing today supports the next generation of thought leaders and their future.

What you’ll do
Develop and implement standards, patterns and processes which establish consistency across enterprise data, reduce risk, and promote efficiencies in support of the organization’s goals and objectives.
Develop and implement solutions, based on that set of standards, patterns and processes.
Define and communicate best practices for modeling, storing, and moving data to support cloud applications
Design and develop solutions to move/replicate data from an in-house database to AWS data store
Design and develop complex reports using BI Tools preferably Logi
Mentor development team members on data best practices and cloud technologies
Develop full stack AWS Cloud solutions and continuous delivery frameworks that improve the ability of the CB IT delivery teams to efficiently deliver solutions with quality.
Write complex code, build infrastructure as code, work with “cloud” based environments, and build the supporting automated toolsets to test and deploy the systems they develop.
Take responsibility for the quality of their work; 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.
Maintains regular contacts with staff in own and other departments with the purpose of coordinating activities and scheduling and collaborating to produce work.
Maintains frequent contacts with members, customers and vendors with a moderate impact on the image, reputation and/or business or operational well-being of The Client.
Develop and manage relationships with vendors and partners as it relates to technology products and services to support project initiatives.

Required Skills:
7+ years of experience in software systems, programming, database development, and infrastructure development and administration
Demonstrated experience in leading and mentoring technical staff in the development and usage of cloud technology and solutions
Minimum 5 years demonstrated experience with full stack development.
3+ years demonstrated experience with AWS cloud supported programming languages like Node JS, React JS or Python development.
2+ years hands-on with AWS Lambda, Postgres, data movement tools including Glue, Sqoop, Spark, SNS/SQS, S3, IAM, CloudWatch, EC2, RDS and DynamoDB, AWS CLI
Good SQL skills and Oracle DBA experience, including development and production support
Ability to use or learn: KMS, ALB/ELB, Route 53, VPC
Fluency with CI/CD toolsets such as: Jenkins, Ansible, CloudFormation, BitBucket
Working knowledge of AWS Serverless architecture
Working knowledge of distributed architectural design patterns
Strong and evolving competence in several programming languages and technologies, working knowledge of multiple tools sets, technologies and implementation environments
Strong problem solving and analytic skill
Ability to handle multiple projects and assignments simultaneously and effectively in a cross-functional team environment
Ability to work independently and in Agile teams. Scrum Team Member attitude – willingness to support the Team to be successful in any area necessary

Preferred Skills:
Expertise in the knowledge of programming languages, relational databases, and NoSQL databases
Experience building infrastructure as code using AWS CloudFormation or similar scripting techniques
Strong practical Linux based systems administration skills and scripting experience in a Cloud based environment
Familiarity with monitoring tool suites like DataDog, SumoLogic, NewRelic, and Nagios
Experience with Chef, Puppet, Salt, or Ansible in production environments
Experience with automated testing tools (i.e. selenium, Cucumber) are a plus
Experience with Agile Scrum practice a plus

Education/Certifications:
A bachelor’s degree in Computer Science, Engineering or MIS.

Business Travel Required?
No