The AWS Identity User Experience team focuses on making it easier for AWS customers to manage their software solutions through robust authentication and authorization mechanisms. We provide web-based experiences for customers to define who has access to their AWS resources (Identity & Access Management), integrate and manage their directories of users and devices (Directory Service), and run large hierarchical data stores (Cloud Directory). Our mission is to create extraordinary user interfaces that empower experienced developers to have fine-grained control over their environments and security, while being simple enough for less-technical users to ensure they are protecting their data and systems utilizing best-practices.
If you have a passion for architecting and building web applications, are interested in upcoming web standards, and care about making it easier to secure data and applications of all different sizes and types, we'd love to talk to you!
Excellent Web applications design and development experience
4+ years of experience in a software or web development role
Experience with Java or C++/C#/.NET and the Spring Framework
Experience developing with MVC/MVM frameworks (e.g. AngularJS, React)
Understanding of best testing practices
Passion for Operational Excellence
Excellent written and verbal communication in English
Bachelor's degree in Computer Science/Informatics or equivalent experience
Able to solve difficult software and UX problems with some ambiguity. Pushes for information to avoid solving the wrong problem and mitigate UI risks early in the process to avoid feature delays. Can decompose a problem into clear software and UX design actions.
Proficient in a broad range of software design approaches and common UX patterns. Knows when (and when not) to use front-end software design patterns (e.g., asynchronicity, data binding, modules, objects, promises).
Can articulate the risks and benefits of depending on front-end libraries, frameworks, and toolsets.
Able to dive into the source code of front end libraries to debug, patch, and extend them when necessary
Proficient in view layout and rendering technologies (e.g., responsiveness, progressive enhancement, browser/device support). Knows when it is appropriate to make graceful fallbacks.
Knowledge of engineering and operational excellence best practices.
Understands how to optimize the delivery of code and assets (e.g., images, fonts) to a browser or device (e.g., lazy loading assets, using CDNs, caching, compression, etc.).
Understands the implications of introducing dependencies.
Understands how to be efficient with resource usage (e.g., application impact on memory and CPU, caches appropriately, respectful of customer’s devices, etc.).
Knows how to instrument software with real user metrics to reflect the customer experience.