Come be part of a team that will directly shape and influence the future growth of Amazon. The Bedrock team is a part of an organization building Amazon recruiting systems, such as Amazon.jobs and the systems used by recruiters and interviewers. We create and operate core domain services building the foundations of this architecture, and accelerate the replacement of legacy recruiting systems. This includes permissions and users, candidate information, and recruiting documents.
You will contribute to all aspects of the software development lifecycle including design, development, documentation, testing and operations. You have strong verbal and written communication skills, are self-driven and deliver high quality results in a fast-paced environment. As a part of the Bedrock team, you will deliver robust feature sets, intuitive designs, backend services and user interfaces that make it easy for Amazonians to excel at recruiting the top talent in the world.
As a software development engineer on the team, you will play a pivotal role in shaping the definition, vision, design, roadmap and development of product features from beginning to end. You will:
• Work with the team to help drive business decisions
• Design, implement, test, deploy and maintain innovative software solutions to transform service performance, compliance, durability, cost, and security.
• Use software engineering best practices to ensure a high standard of quality for all of the team deliverables
• Write high quality distributed system software
• Work in an agile development environment, where you are always working on the most important stuff.
We are an equal opportunity employer and value diversity at Amazon. We do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
• Bachelor's Degree in Computer Science or related field
• Equivalent experience to a Bachelor's degree based on 3 years of work experience for every 1 year of education
• 6+ years professional experience in software development
• Computer Science fundamentals in object-oriented design
• Computer Science fundamentals in data structures
• Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
• Knowledge of, at least, one modern programming language such as Java, Scala, C, C++ or C#
• Experience taking a leading role in building complex software systems that have been successfully delivered to customers
• Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
• Experience with distributed computing and enterprise-wide systems
• Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
• Experience mentoring junior software engineers to improve their skills, and make them more effective, product software engineers
• Experience influencing software engineers best practices within and outside your team
• Proven expertise in back-end systems, microservice design and service integrations.
• Designing for non-functional requirements (security, scalabaility, etc.)
• Experience with test automation frameworks and designing services