AWS Data Platform Software Engineer
This AWS Data Platform Software Engineer will be responsible for collaborating together with other AWS software engineers to design, code, test and deliver into production multiple data lake and analytics platform components into the AWS public cloud. This individual will be expected to work with other CCB Software and Data Engineering teams within the firm to collaborate, align and implement software engineering best practices.
Specific Roles and Responsibilities:
- Design, code, test, and deliver data platform software capabilities in the AWS cloud
- Collaborate on design innovation and develop engineering capabilities for advanced big data and analytics
- Code, test, and deploy micro-services based software capabilities for big data and analytics in the AWS cloud
- Seek to continuously develop deep AWS engineering skills that optimizes code quality and performance
- Collaborate on data engineering coding principles, standards, designs, frameworks, and chaos testing
- Excellent verbal and written communication skills for expressing technical software requirements and designs
This software engineering role has the responsibility for the delivery of technology for systems globally. The candidate will work closely with regional and global teams to deliver high quality technology services and projects on time, in scope, and within budget.
Technical/Domain Skills:
- 3-5 years of work experience in hands-on software development and engineering
- Demonstrated AWS cloud expertise and hands-on AWS software engineering experience
- Hands-on experience with two or more AWS data lake and/or analytics technologies:
- Data Lake: AWS Lake Formation, AWS Glue, AWS Data Exchange
- Data Movement: Apache Kafka (MSK), AWS Kinesis Data Firehouse and Data Streams
- Data Analytics: AWS Athena, EMR, Redshift, QuickSight, AWS Glue DataBrew
- Platform Services: AWS Deep Learning AMIs, AWS SageMaker
- Containers: AWS ECS, AWS EKS, AWS Fargate, Docker, Kubernetes
- Compute/Storage: AWS S3, AWS EC2, AWS EBS, AWS DataSync, AWS Backup
- Working experience in one or more Big Data platform technologies: HDFS, Hive, Yarn, Spark, or Kafka
- Working experience in one or more of the following languages: Java, Scala, or Python
- Knowledge and experience with testing, releasing, and CI/CD pipeline deployments into AWS using:
- Tools: Bitbucket, Terraform, SonarCube, Vericode, Jenkins, Artifactory, DataDog, ServiceNow
- Security: Hashicorp, Dome9, DivvyCloud, Jsonar
- Knowledge in applying DevSecOps and DevOps development practices
- Knowledge in how to build self-service, self-healing, highly scalable and secure cloud software capabilities
- Knowledge of agile development methodologies, processes, and procedures
Software Engineering Required Capabilities
As a member of our software engineering community, we look first and foremost for people who are passionate around solving business problems through innovation & engineering practices. You will be required to apply your depth of knowledge and expertise to all aspects of the software development lifecycle, as well as partner continuously with your many stakeholders on a daily basis to stay focused on common goals. We embrace a culture of experimentation and constantly strive for improvement and learning. You'll work in a collaborative, trusting, thought-provoking environment - one that encourages diversity of thought and creative solutions that are in the best interests of our customers globally.
This role requires a wide variety of strengths and capabilities, including:
- BS/BA degree or equivalent experience
- Advanced knowledge of application, data and infrastructure architecture disciplines
- Understanding of architecture and design across all systems
- Working proficiency in developmental toolsets
- Knowledge of industry wide technology trends and best practices
- Ability to work in large, collaborative teams to achieve organizational goals, and passionate about building an innovative culture
- Proficiency in one or more modern programming languages
- Understanding of software skills such as business analysis, development, maintenance and software improvement