Amazon's EU Core Technology (AEC Tech) is creating a new software engineering team at Amazons development center in Madrid, Spain. We are searching for a smart, energetic, curious, and self-disciplined Software Development Manager to define and deliver our efforts in 2016 and beyond.
Amazon strives to be Earths most customer-centric company, and AEC Tech owns defining and delivering Amazons cutting-edge engineering to customers and cultures across Europe. We do this by developing our own customer-facing features, services and platforms based on custom European needs, and through partnerships with other Amazon technical teams around the world. Our work spans a deep technology stack from front-end customer experience to back-end service technology and has high visibility to senior leadership, with small teams delivering highly significant projects.
We are building a new team in Madrid in 2016 to develop a software platform for tools and services that support the EU business. Potential applications include machine learning systems for a wide variety of applications such as catalog enrichment, forecasting, and deep learning, pan-European tools to enable cross-marketplace sales and inventory management, and any other architectures and services (such as Hadoop / Map Reduce, distributed systems, big data analysis, and other application platforms) to support the business needs.
This new team is comprised of Software Engineers at multiple levels, alongside Quality Assurance engineers and Technical Program Managers. The engineering manager for this team will work closely with business and technology teams across Amazon. We need a leader that can effectively manage a small team of developers to accomplish both our short-term and long term goals. Over the long run, we expect this team to grow significantly in size and scope.
In AEC Tech, we look for experienced software engineering leaders who possess a wide variety of skills. As the successful applicant for this role, you will solve varied complex problems across Amazon (including business prioritization, technical challenges in optimization, large-scale computing, machine learning, data mining, big data analysis, distributed systems, web applications, scalability, security, and algorithms, to name just a few). You will drive multiple programs in parallel, you will work with business stakeholders and partner technical teams across Europe, India and the USA, and you will support the growth and development of a high-performing software engineering team. AEC Tech is composed of many clever and generally awesome people (if we say so ourselves!), so you'll learn a huge amount - and have a lot of fun - in the process!
Bachelors Degree in Computer Science or related field with 5+ years relevant work experience, either as developer or manager
Masters Degree in Computer Science or related field with 3+ years relevant work experience
2+ years of people management experience, leading teams of at least 3-5 software engineers
An understanding of Agile development environments
Familiarity with either large-scale distributed systems or machine learning architectures
High attention to detail with a data-driven approach
Ability to understand technical concepts, discuss opportunities and risks, weigh tradeoffs, and drive decisions on a team of highly technical employees
Superior verbal and written communication skills, including effective customer and business communications
Masters degree in Computer Science with 4+ years of relevant work experience or equivalent
4+ years of people management experience, leading teams of 5-10 people including software engineers, QA engineers, technical program managers, and support engineers
Experience leading a team that has built complex software systems that have been successfully delivered to customers
Experience with machine learning algorithms and architectures
Experience with Java, Spring MVC, and/or with R or a similar statistical programming language
Be highly innovative, flexible and self-directed
Knowledge of software engineering and software development lifecycle best practices, including coding standards, code reviews, source control management, testing, operations, backlog prioritization, and program management
Experience communicating with users, technical teams, and senior management to collect requirements, describe features, define designs, and set product strategy