Friday, February 28, 2014

Proposed Java AWS Cloud Developer Profiles

 
Cloud Developer Senior Cloud Developer Technical Lead - Cloud
Role Definition Technical member of AWS development team, writes code, unit test and perform bug fixes on AWS platform Technical member of AWS development team, contributes towards high level design of relatively less complex modules using Object oriented and Cloud design patterns; Writes code and performs unit testing and reviews work of Cloud Developers Technical leader of a team responsible for a AWS based sub-system/ module. Interacts with customer during design phases (after architecture phase) and beyond.
Pre-Requisites Good understanding of Java/J2EE platform
No prior understanding of Cloud is required
Good understanding of Java/J2EE platform
Ability to design relatively less complex modules
No prior understanding of Cloud is required
Excellent understanding of Java/J2EE platform
Ability to independently design complex sub-systems/ modules
No prior understanding of Cloud is required
Mandatory Skills Good understanding of Cloud environment,  deployment models and AWS basics
Basic understanding of key AWS services *
Ability to program using AWS SDK for Java
Ability to use Command-line tools for various AWS services
Ability to program using at least one scripting language (Python or Perl)
Understanding of RESTful and SOAP based Web Services
Working knowledge of applicable OS (Windows, Linux/Unix)
Ability to use AWS Management Console for applicable services
In addition to Cloud Developer skills, following additional skills are required:
Deep understanding of key AWS services including aspects such as security, performance, availability etc.
Understanding of AWS design patterns and ability to apply those
Understanding of monitoring capabilities available on AWS, ability to derive actions from the reports and implement them
Ability to write code that handles transient failures
Basic understanding of Continuous Integration and code quality metrics
In addition to Senior Cloud Developer skills, following additional skills are required:
Ability to understand architecture documents defined by Architect(s) and follow during implementation
Ability to design complex sub-systems and technically supervise and own implementation, testing and deployment
Deep understanding of AWS security best practices and ability to design secure sub-systems **
Deep understanding of Cloud deployment models
Deep understanding of applicable OS
Ability to drive successful implementation of Continuous Integration; Derive/Take actions based on reported code quality metrics
Good understanding of integration patterns (especially between Public and On-premises applications)
Optional Skills Basic understanding of features offered by all AWS services
Ability to write shell scripts on Linux/Unix platforms
Basic understanding of deployment tools such as Chef, Puppet etc.
In addition to skills outlined for Cloud Developer, following additional skills are required:
Basic understanding of Virtualization environments/ Xen hypervisor and its impact on performance and security; Various Virtual Machine formats
Good understanding of security related coding best practices, top ten issues from OWASP and ESAPI library
Basic understanding of NoSQL databases
Basic understanding of AWS reference architectures
In addition to skills outlined for Senior Cloud Developer, following additional skills are required:
Basic understanding of various possible use-cases in Cloud in general and specifically AWS
Deep understanding of AWS reference architectures
Drive to explore feasibility of using new technologies to solve specific customer problems
Basic understanding of multi-tenancy architectures
Ability to design and program using NoSQL databases
Understanding of any one Cloud agnostic library and ability to leverage similar design principles in own sub-systems
Certification (Optional) None AWS Certified Developer - Associate AWS Certified Developer - Associate
Supervision Close supervision required Works with average supervision Works with minimal supervision
Line reporting Reports to Project Manager Reports to Project Manager Reports to Project Manager
Interactions With Whom: Technical team; No customer interaction With Whom: Technical team; No customer interaction With Whom: Technical team; Project Manager; Customers from design phase onwards (Architects manage customer interactions during DD, Requirements and Architecture definition phases)
* Elastic Compute Cloud (EC2); Elastic Block Storage (EBS); Relational Database System (RDS); Elastic Load Balancer (ELB); Simple Storage Service (S3); Identity and Access Management (AWS); ElastiCache; Simple Queue Service (SQS); Simple Notification Service (SNS); CloudFront; DynamoDB; SimpleDB
** May need understanding of one or more of these:  Multi-factor authentication (MFA); X.509 certificates; Public Key Infrastructure (PKI); Symmetric and Asymmetric encryption algorithms (AES, DES & RSA etc.); Hashing algorithms (MD5, SHA-1 & SHA-2 etc.); SSL/TLS; Claim based security/ Security Tokens; Federated identity; Stateful and stateless firewalls; Port scans; IP spoofing; IPsec; Intrusion Detection System (IDS); OS hardening; Hardware Security Module (HSM); Understanding of cheat sheets available at https://www.owasp.org/index.php/Cheat_Sheets#tab=Main

No comments:

Post a Comment