Amazon's growing businesses world wide interacts with a variety of external payment processors across the globe. We are building a system that enables these various payment processors to exchange information with Amazon's systems and faciliatate the reconciliation of cash remittances or disbursements from our accounts to the transactions that made up that cash deposit/disbursement. This system plays a pivotal role in the Payment processing platform within Amazon and facilitates accurate financial accounting for the company.
To meet with the needs of our fast growing business, we are building out the next generation of this service, with scale, efficiency and predictability as the key driving attributes of this effort. We are looking for strong engineers to lead this effort. With this team, we have the "best-of-both-worlds" scenario of a startup atmosphere combined with the resources of a large company and have the opportunity to gain an end-to-end understanding of how the business works, and the opportunity to influence how enterprise level systems should interact and build those systems. You will work engineers and leaders in other parts of the company as well as Product Managers to define the technical interfacing with external systems and create a system that scales to meet the needs of Amazon for the next decade.
You should be a self-starting, self-directing software development engineer who is creative and passionate about designing, developing, implementing and operating multi-tiered, distributed software applications, tools, systems and services. You will be expected to work in a heterogeneous environment of technologies and bring flexibility, speed and quality to our team. You should have a solid background in the fundamentals of software development, and have a deep understanding of Java with strong OOAD fundamentals. You will also assist in gathering requirements and will be expected to translate those requirements into technical specifications and design documents.
We are looking for smart engineers who can effectively deal with ambiguity, champion good software development practices, provide technical guidance to our partners and work independently to clarify requirements and deliver results in a consistent manner. You will be building systems that deal with huge amounts of data in a reliable, accurate and expedient manner. If you have an inclination to learn about Financial transactions and how accounting works for a business, and want to apply your technical skills to solve problems in that space, this is the opportunity for you.
Basic Qualifications - Bachelors or Masters Degree in Computer Science or related field - 4+ years solid experience working in the industry - Solid proficiency in OO concepts and design patterns - Hands-on experience of developing large scale, service oriented applications. - Working knowledge of Linux system - Working experience of Relational and NoSQL databases - Deep understanding of distributed systems - Obsessed about customer experience - Penchant for operational excellence in software development and management - Ability to effectively articulate technical challenges and solutions
Preferred Qualifications - Strong, object-oriented design and coding skills in Java - Work experience of - Experience with distributed (multi-tiered) systems and algorithms - Strong knowledge of SOA - Strong knowledge of data structures, algorithms and designing for performance and scale. - Knowledge of AWS services - Work experience of Agile methodologies (such as SCRUM) - Basic Accounting knowledge - Deal well with ambiguous/undefined problems; ability to think abstractly